Google SERP API — Search Results, People Also Ask & Rank Checks | FetchLayer
Unofficial Third-party API
4 endpoints live

Google results, as JSON.
The whole page, not ten links.

Organic results & sitelinks People Also Ask & related searches Top stories, local results, knowledge panel Any country or city

A Google SERP API for developers and AI agents. Read a Google results page for any query as structured JSON: organic results with position, title, URL, site name, snippet and sitelinks, plus the People Also Ask questions, related searches, top stories, local businesses and the knowledge panel, for any country, city or device. Search suggestions and rank checks for any domain or page come on the same key.

Free tier included No credit card No scraper maintenance

Trusted by developers shipping real products.

246,825 served today

POST /google-search/search
200 OK

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

{
  "organicResults": [{
    "position": 1,
    "title": "Twenty | #1 Open Source CRM",
    "url": "https://twenty.com/",
    "source": "Twenty"
  }, {
    "position": 3,
    "title": "SuiteCRM - Open source CRM for the world",
    "domain": "github.com"
  }],
  "peopleAlsoAsk": [
    "What is the best open source CRM?",
    "Is there a free CRM I can use?"
  ],
  "relatedSearches": ["Open source crm github", ],
  "localResults": [], "knowledgePanel": null,
  "pagesScraped": 1
}

Used by developers at

Individual developers or teams — not official partnerships

Built for feedback workflows

Fetch the public signal. Use it wherever your team works.

The whole results page

Organic results with position, title, destination URL, the address line Google prints, site name, snippet, date and sitelinks, with the answer box and the knowledge panel beside them. A feature Google did not show comes back empty, never guessed.

People Also Ask and related searches

The questions searchers ask and the searches Google suggests next arrive on every search, ready for a content brief or an FAQ. People Also Ask comes back as the questions only.

Local results for any city

Set location to a city and read the businesses Google lists for it, with rating, review count, price level, category and a review excerpt, next to the organic results for the same place.

Any country, language or device

Requests default to a US, English, desktop searcher. Pass a two-letter country, a language such as de or pt-BR, and mobile to see the page someone there sees, with time-range and safe search filters.

Rank checks at a flat price

Find where a domain or page ranks, up to 100 positions deep, for 1 credit either way, with every match and where else it shows up: sitelinks, ads, top stories, videos, discussions or the knowledge panel.

Autocomplete for keyword research

The suggestions Google’s search box offers for a partial query, in order, for any country and language. One request a call.

Four MCP tools

Every route is a tool on the FetchLayer MCP server, so an agent can read a results page, check a ranking or expand a keyword mid-conversation, billed exactly like REST.

Top stories, videos and discussions

The rows Google stacks around the ten blue links come back with them: the news it is surfacing, the videos it chose, and the forum threads it is sending searchers to — which is often where your customers are already talking.

FetchLayer Research Chat

Map what Google shows for your keywords—then export it to CSV.

Prefer not to write code? Paste your keywords into FetchLayer Research Chat, ask who owns the first page and what searchers ask, and get a clean table for your content plan.

  • Ask questions in plain English
  • Analyze themes, sentiment, and pain points
  • Download the structured results as CSV or JSON
Research keywords in Chat

No code or setup required · Uses your FetchLayer credits

Google Search research

Search Google in the US for these 10 keywords, list the top 5 domains, the People Also Ask questions and the related searches for each, then export it as CSV.

Y

I read the first results page for each keyword, one credit each. The table lists the top five domains, every People Also Ask question and the related searches per keyword, with the domains that rank for several keywords marked. It is ready to download.

google-serp-research.csv

10 keywords · 4 columns · ready to download

CSV

From raw feedback to action

One request is the start of the workflow.

Store the structured response, run it on a schedule, pass it to an LLM, or feed it into the system your team already uses. FetchLayer handles retrieval so you can focus on the outcome.

  1. 01

    Pick the queries

    Start from the terms you care about, and widen the list with /autocomplete and the related searches Google returns with every results page.

  2. 02

    Read the results page

    Pull /search for each query in the country and city you sell in: who ranks, what the snippets promise, what People Also Ask, and which businesses show up locally.

  3. 03

    Track what moves

    Run /rank-check for your domain at 1 credit a check and store the position and URL, or hand the results to an agent to draft the brief for the pages you are missing.

MCP & agents

Live

Your AI already knows how to use this.

Use the Google Search endpoint directly from your MCP-compatible agent. Ask it to retrieve public feedback, identify patterns, and turn the result into a useful brief without writing integration glue.

1
Pick your editor
2
Agent discovers 4 tools
3
Query any platform instantly
connect your agent ~30s

Pick your editor and we hand you the config with your key already in it — no JSON to hand-edit, no wrapper code.

Get your free API key

Free tier · no credit card · any MCP host

New chat fetchlayer connected

Who owns the first Google page for open source crm, and what do people ask about it?

Used fetchlayer.google_search

Read one results page for one credit. Twenty ranks first, EspoCRM second and SuiteCRM’s GitHub repository third, with a Reddit thread from r/CRM fourth. People Also Ask: “What is the best open source CRM?” and “Is there a free CRM I can use?”.

Ask a follow-up…

Works with every MCP-compatible tool

Cursor
Claude
VS Code
Windsurf
Cline
Hermes
OpenClaw
Kiro
No wrapper code
All 4 endpoints exposed as tools
Official & maintained
Free to install

Use cases

What teams build with Google search data.

Same API, endless applications. Here is what teams ship with public Google results pages.

01

SERP and competitor audits

Pull the first results page for your money keywords with titles, snippets, sitelinks and site names, and see who outranks you and with what page.

seocompetitorsserp
02

Content briefs from People Also Ask

Collect the People Also Ask questions and related searches for a topic, and write the page that answers them.

contentquestionsbriefs
03

Local search visibility

Read the local businesses Google lists for a query in a given city, with rating, review count and price level, next to the organic results.

localmapsagencies
04

SEO rank tracking

Check where your domain or one page ranks, up to 100 positions deep, for 1 credit a check, in the country and city your customers search from.

seorankingscron
05

AI agent web search

Give Claude, Cursor, or your MCP agent live Google results, top stories and the knowledge panel without a search API contract.

llmagentsmcp
06

Keyword research

Expand a seed term with the suggestions Google’s search box offers, then read the results page for the ones worth targeting.

keywordsautocompletecontent

Compare approaches

Spend time on the insight, not the collection layer.

What you needFetchLayerOfficial APIBuild it yourself
Google results page as JSONCustom Search, closed to new customersYou parse the HTML
People Also Ask, local results, knowledge panelNot offeredYou parse each block
Rank check 100 positions deep1 creditn/a10+ page loads, your retries
Results for a city or on mobileNot offeredYour proxies and devices
Ready for AI and MCP workflowsYour integrationYour integration

FetchLayer provides access to publicly available data. It is not affiliated with, endorsed by, or sponsored by the platform.

Pricing

Start free. Scale when ready.

Pay per request with no commitment, or lock in a flat monthly rate with built-in savings.

Free plan — 30 requests

Verify responses, inspect the API, no credit card required.

Try free

Pay as you go

$1.99

per 1,000 requests

$0.00199 per request · credits never expire

How credits work — no multipliers

One credit = one API call, on every endpoint and platform. No matter how many results come back, you pay for the call, not the output size. Most scraping APIs charge multipliers of 5x, 25x, even 75x per call depending on the target — here it's always 1.

  • No multipliers — 1 request = 1 credit
  • No monthly commitment
  • Credits never expire
  • Same API & MCP access as subscribers
  • ∞ req/min, ∞ API keys
Get API key

Expiry

Credits stay until you use them. No monthly reset, no pressure to hit a quota.

0

Commitments

No subscription, no contract, no minimums. Start, pause, or scale whenever.

100%

Access

Every endpoint and MCP included. Not a limited tier — same data as any subscriber.

API reference

Every parameter, documented.

All requests are POST with a JSON body and Bearer auth header.

POST /google-search/search

A Google results page as JSON: organic results with position, title, URL, site name, snippet and sitelinks, plus the answer box, People also ask, related searches, top stories, videos, discussions, local results, the knowledge panel and ads. Read up to 10 pages in one request, or continue with a cursor.

query* string The search query, as typed into Google
country / language string US and en by default; any two-letter country, and en, de, pt-BR and so on.
location string A city, as "Austin,Texas,United States".
device string 'desktop' | 'mobile'
pages number Result pages to read, up to 10. Defaults to 1.
timeRange / safeSearch string any | hour | day | week | month | year, and off | on.
POST /google-search/rank-check

Where a domain or URL ranks in Google’s organic results for a query: found, best position and page, every match, and other appearances in sitelinks, ads, top stories, videos, discussions or the knowledge panel. Up to 100 positions for 1 credit.

query* string The keyword, as a searcher would type it
target* string A domain (example.com) or a URL (https://example.com/pricing)
depth number Organic results to examine, up to 100. Defaults to 50.
match string 'domain' | 'exact_url' | 'url_prefix'
country / location / device string The searcher to check as, as on /search.
POST /google-search/autocomplete

The suggestions Google’s search box offers for a partial query, in order, for a country and language. One request per call, for keyword research.

query* string The partial query to complete
country / language string US and en by default.
POST /google-search/resolve-url

Turn a Google search URL into its query, country, language, page, safe search, time range and results tab, or a Google redirect link into its destination. Never contacts Google, and never consumes a credit.

url* string A Google search URL or redirect link

Fields marked * are required. Full API reference →

FAQ

Common questions.

Is this a Google SERP API?

Yes. It is a SERP API for Google: send a query and get the search engine results page back as structured JSON — the organic results with position, title, URL, site name, snippet and sitelinks, and the People Also Ask questions, related searches, top stories, videos, discussions, local results, knowledge panel and ads Google showed with them, for the country, language, city and device you choose. It bills one credit per results page read, and a rank check is one credit at any depth. Google itself does not offer an API that returns its results pages: its Custom Search JSON API searches a Programmable Search Engine you configure rather than google.com, returns none of those SERP features, is closed to new customers, and Google has announced it will be discontinued on January 1, 2027.

Do I need a Google account, a Cloud project or an API agreement?

No. You do not need a Google account, a Google Cloud project, a Programmable Search Engine or an API key from Google. You send your FetchLayer key and a query, and you get back the results page Google shows a visitor in the country, language and city you choose, as JSON. FetchLayer is not affiliated with, endorsed by, or sponsored by Google.

What comes back from one search?

The organic results in rank order, each with position, title, destination URL, domain, the address line Google prints, site name, snippet, date, extensions such as a comment count, and sitelinks. Alongside them, whatever Google showed for that query: the answer box, 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. A feature Google did not show comes back empty or null, and a query with no results is a 200 with noResults: true.

Can I get results for a specific country, city or phone?

Yes. country takes a two-letter code (US by default), language takes en, de, pt-BR and so on, location takes a city as "City,Region,Country" such as "Austin,Texas,United States", and device takes desktop or mobile. Local results and rankings follow the location. Rankings also move over time, so read one search as a snapshot, not a fixed order. A mobile search takes about 15 seconds.

How many results does a page hold, and how deep can I go?

Google shows between 6 and 10 organic results a page and ignores a requested count, so limit only trims what the pages held. One request reads one page by default; pages reads up to 10 in one request, page starts from any page up to 15, and nextCursor continues where the last response stopped. Each page read is one request, and pagesScraped in the response says how many were read.

How do rank checks work, and what do they cost?

Send a query and a domain or URL to /rank-check. It examines up to 100 organic results and returns whether the target was found, its best position, the page it is on, the matching URL and every match. It also lists where the target shows up outside the organic ranking on the pages it read: sitelinks, ads, top stories, videos, discussions, the knowledge panel or the answer box. A rank check costs one credit regardless of depth; serpPagesFetched reports the pages read and is never billed. A deep check can take 15 seconds or more, and up to about 150 seconds when Google turns requests away, so give your HTTP client a generous timeout.

How does a rank check match my site?

A bare domain such as example.com matches any page on the site, and its subdomains unless you set includeSubdomains to false; matching is on whole hostnames, so notexample.com never counts. A URL with a path matches that URL and everything under it at a path boundary, so /blog matches /blog/post but not /blogging. Set match to exact_url to track a single page.

How are ads handled?

Ads come back in their own ads array, each with its block (top or bottom), title, URL, domain, displayed URL and description, and they never take an organic position. Position 4 is the fourth organic result, however many ads ran above it. Ads are the one part that depends on where the search is run from: Google places them by the searcher’s real location rather than by the country you ask for, so when no matching vantage point is free, the ads array is left out and a note says why rather than handing you another country’s ads. Organic results and everything else are unaffected.

What is not available?

No total result count, no AI Overviews, and no answers under People also ask: that box comes back as the questions only. Videos, short videos and discussions are detected on English-language results pages only. Every response carries a notes array for anything narrower than you asked, such as a result whose link could not be followed.

How does billing work?

One API request equals one credit, the same as every other FetchLayer platform. /search bills one request per result page read, so pages: 3 bills three. /autocomplete is one request, a rank check is one request at any depth, and /resolve-url, which parses a Google URL without contacting Google, is free. Google Search is in Beta while coverage expands, billed at half credit.

Can my AI agent use it?

Yes. All four routes are MCP tools on the same FetchLayer MCP server, named google_search, google_search_rank_check, google_search_autocomplete and google_search_resolve_url. Tool calls use the same key and are billed exactly like REST, so a rank check from an agent is still one credit.

Start pulling Google SERP data today.

Get a free API key, make your first request, and put public feedback to work in your own product or research workflow.