Search Google web results
Google web search results for a query, as a searcher in a given country, language, city and on desktop or mobile, with everything Google shows around them. organicResults holds the organic results in rank order: position (1-based across the pages read, and across a cursor continuation), the page and its place on that page, title, destination URL and domain, the address line Google prints, the site name, snippet, the date as displayed, extensions such as "30+ comments · 1 year ago", and sitelinks. Around them, when Google shows them: the answer box (weather, unit conversions, featured snippets), the People also ask questions, related searches, top stories, videos and short videos, discussions, local business results with rating, review count and price level, the knowledge panel, and ads — which come back in ads and never take an organic position. A query Google finds nothing for is a 200 with noResults: true, not an error. Filter by time range and safe search. One result page is read by default; pages reads up to 10 in one request, page starts later (1–15), and nextCursor continues, sent with the same query and options. Google shows between 6 and 10 organic results a page and ignores a requested count, so limit only trims what the pages held. Results reflect a US, English, desktop searcher unless you set otherwise, and positions move with time, country and location. There is no total-result count and no AI Overview; People also ask gives the questions, not their answers; videos, shorts and discussions are detected on English-language pages only. Billing: each result page read counts as one request (pagesScraped). To find where one site ranks, use rank-check instead: it costs one request at any depth.
/search Web search https://api.fetchlayer.dev/google-search/search Headers
Authorization string required Bearer token — your FetchLayer API key.
Parameters
query string required The search query, exactly as typed into Google (1–2048 characters).
country string optional Two-letter country the results are for: US, GB, DE, FR, IN, BR and so on. Case-insensitive. Rankings differ by country. (default: US)
language string optional Interface and snippet language: en, de, fr, pt-BR and so on. (default: en)
location string optional A city to localize results to, as a canonical location name "City,Region,Country", e.g. "Austin,Texas,United States". Local results and rankings follow it.
device string optional desktop or mobile results. A mobile search takes about 15 seconds. (default: desktop)
safeSearch string optional off, or on to filter explicit results. (default: off)
timeRange string optional any, hour, day, week, month or year: only results from that period. (default: any)
page number optional Result page to start from (1–15). Do not combine with cursor. (default: 1)
pages number optional Result pages to read in this request (1–10), or -1 for 10. Each page read counts as one request. (default: 1)
limit number optional Most organic results to return (1–100), or -1 for 100. Defaults to everything on the pages read.
cursor string optional A previous response’s nextCursor. Send it with the same query and options.
format string optional json or markdown. (default: json)
timeoutMs number optional Time limit for each result page read, in milliseconds (1000–60000).
Response Fields
search
Search Google web results
resultType string search, rank-check or autocomplete.
requestedUrl string The Google page this result corresponds to.
notes string[] Caveats about this particular result — a result whose link could not be followed, a page that could not be read. Empty when there are none. Read it on every call.
transport string The source this data came from. Always "google".
scrapedAt string ISO 8601 timestamp of when the data was collected.
parameters object The searcher the results are for, after defaults: query, country (lower case), language, location, device, safeSearch and timeRange.
organicResults object[] Organic results, in rank order.
organicResults[].position number 1-based rank among organic results across the pages in this response. Ads never take a position.
organicResults[].page number The result page it appeared on.
organicResults[].pagePosition number Its rank on that page.
organicResults[].title string The result title.
organicResults[].url string Where the result leads, or null in the rare case the destination could not be determined (a note says so).
organicResults[].domain string Hostname of url, or null.
organicResults[].displayedUrl string The address line Google prints, e.g. "https://github.com › SuiteCRM › SuiteCRM". null on forum and social results, which print activity instead.
organicResults[].source string The site name Google prints beside the result, e.g. "Reddit · r/CRM".
organicResults[].snippet string The description text, or null.
organicResults[].date string The date printed before the snippet, as displayed (e.g. "Jan 19, 2026"), or null.
organicResults[].extensions string[] Extra detail such as "30+ comments · 1 year ago" or "2.7M+ followers".
organicResults[].sitelinks object[] Sub-links shown under the result, each { title, url }.
organicCount number Organic results in this response. Google publishes no total-result count.
ads object[] Text ads, never ranked: position within their block, block (top or bottom), title, url, domain, displayedUrl, description. Google places ads by the searcher’s real location rather than by country, so when no matching vantage point is available the field is left out entirely and a note says why; organic results are unaffected. Treat ads as optional.
answerBox object A direct answer — type (weather, unit_converter or featured_snippet), title, text, details ({ label, value } rows), url — or null.
peopleAlsoAsk string[] The questions in the People also ask box. The answers are not returned.
relatedSearches string[] The related searches Google suggests.
topStories object[] News stories: title, url, source, date as displayed (e.g. "19 hours ago") and publishedAt (ISO 8601).
videos object[] Videos and short videos: title, url, platform, channel, date, duration and kind (video or short). English-language pages only.
discussions object[] Forum and social posts Google groups as discussions: title, url, source, date. English-language pages only.
localResults object[] Businesses: position, name, rating (out of 5), reviewCount, priceLevel (e.g. "$10–20"), category, address, phone, hours and highlight (a review excerpt).
knowledgePanel object title, subtitle, description, descriptionSource ({ title, url }), facts ({ label, value } rows) and profiles ({ title, url }), or null.
noResults boolean True when Google found nothing for the query.
page number The first result page in this response.
pagesScraped number Result pages read. Each counts as one request against your plan.
pagesRequested number The pages this request asked for. Compare with pagesScraped.
hasNextPage boolean Whether there are more results.
nextCursor string Pass back as cursor, with the same query and options, to continue. null at the end.
Request
curl -X POST "https://api.fetchlayer.dev/google-search/search" \
-H "Authorization: Bearer ss-your-key" \
-H "Content-Type: application/json" \
-d '{"query":"open source crm","limit":10}'Response
{
"requestedUrl": "https://www.google.com/search?q=open+source+crm&hl=en&gl=us&pws=0&safe=off",
"scrapedAt": "2026-09-15T20:59:33.616Z",
"transport": "google",
"notes": [],
"resultType": "search",
"parameters": {
"query": "open source crm",
"country": "us",
"language": "en",
"location": null,
"device": "desktop",
"safeSearch": "off",
"timeRange": "any"
},
"page": 1,
"pagesScraped": 1,
"pagesRequested": 1,
"organicResults": [
{
"position": 1,
"page": 1,
"pagePosition": 1,
"title": "Twenty | #1 Open Source CRM",
"url": "https://twenty.com/",
"domain": "twenty.com",
"displayedUrl": "https://twenty.com",
"source": "Twenty",
"snippet": "Twenty gives technical teams the building blocks for a custom CRM that meets complex business needs and quickly adapts as the business evolves.",
"date": null,
"extensions": [],
"sitelinks": []
},
{
"position": 2,
"page": 1,
"pagePosition": 2,
"title": "Free Open Source CRM Software | Download EspoCRM",
"url": "https://www.espocrm.com/download/",
"domain": "www.espocrm.com",
"displayedUrl": "https://www.espocrm.com › download",
"source": "EspoCRM",
"snippet": "EspoCRM is a free, open-source CRM you host on your own server. Track contacts, manage deals, handle support cases with a built-in customer portal, and run ...",
"date": null,
"extensions": [],
"sitelinks": []
},
{
"position": 3,
"page": 1,
"pagePosition": 3,
"title": "SuiteCRM - Open source CRM for the world",
"url": "https://github.com/SuiteCRM/SuiteCRM",
"domain": "github.com",
"displayedUrl": "https://github.com › SuiteCRM › SuiteCRM",
"source": "GitHub",
"snippet": "SuiteCRM is the award-winning open-source, enterprise-ready Customer Relationship Management (CRM) software application. Our vision is to be the most adopted ...",
"date": null,
"extensions": [],
"sitelinks": []
},
{
"position": 4,
"page": 1,
"pagePosition": 4,
"title": "What’s the Best Open-Source CRM for Small and Medium ...",
"url": "https://www.reddit.com/r/CRM/comments/1ij3e8h/whats_the_best_opensource_crm_for_small_and/",
"domain": "www.reddit.com",
"displayedUrl": null,
"source": "Reddit · r/CRM",
"snippet": "I work for a small company (20 people), and we’ve been looking for a CRM that is both customizable and developer-friendly. After spending a lot ...",
"date": null,
"extensions": [
"30+ comments · 1 year ago"
],
"sitelinks": [
{
"title": "Self hosted open source CRM for business purposes ...",
"url": "https://www.reddit.com/r/selfhosted/comments/14xzd2v/self_hosted_open_source_crm_for_business_purposes/"
}
]
}
],
"organicCount": 9,
"ads": [],
"answerBox": null,
"peopleAlsoAsk": [
"What is the best open source CRM?",
"Will CRM be replaced by AI?",
"Is there a free CRM I can use?",
"Is there a 100% free CRM?"
],
"relatedSearches": [
"Open source crm github",
"Open source crm free",
"Best open source CRM",
"Open source crm reddit",
"Open source CRM self-hosted",
"Open source crm docker",
"Open source crm list",
"Open source crm free download"
],
"topStories": [],
"videos": [],
"discussions": [],
"localResults": [],
"knowledgePanel": null,
"noResults": false,
"hasNextPage": true,
"nextCursor": "eyJ2IjoxLCJxIjoib3BlbiBzb3VyY2UgY3JtIiwiZ2wiOiJ1cyIs…"
}