Google search results API

A Google search results API returns the organic results for a query as structured rows — rank, page, title, link, displayed path, source, snippet, date and sitelinks — without a browser, a session or a parser on your side.

This is the cheapest collector in the catalogue for a reason worth understanding: Google's web results are answered on a stateless HTTP tier, and Bing and DuckDuckGo by a plain request. No headless browser is started at any point in the run. That is what makes $0.0004 per result possible, and it is why the same call scales to a keyword set of tens of thousands without the cost curve bending.

$0.0004 per delivered result, up to 100 results per run. Nothing delivered means nothing charged.

How the Google search results API works

One POST carries the query, the engine, the country, the language and how many results you want. The collector runs the search from an exit in that country, walks result pages in order until it reaches max_results, and returns each organic result as a flat row.

Three things it takes off your hands:

Inputs

query is the only required input. engine picks Google, Bing or DuckDuckGo. country and lang together define the market — set both explicitly for anything you intend to compare over time. location goes finer, encoding a city-level origin for the search, which matters on any query with local intent. max_results caps delivery and therefore cost.

What one result looks like

Each organic result is one row. rank is global across the run and page records where it came from, so a page-size change at Google's end does not corrupt a time series. display_link is the breadcrumb-style path Google renders rather than the raw URL, which is often what you want in a report. date is present only when Google shows one — treat its absence as absence of a published date rather than as a missing field. sitelinks carries the sub-links under a result, a useful brand-dominance signal.

What the Google search results API costs

$0.0004 per delivered result ($0.40 per 1,000). Nothing delivered means nothing charged, and the $2 monthly free credit covers roughly 5,000 results here. Volume tiers take up to 30% off.

$0.0004 per delivered result — 40 cents per 1,000. Tracking 2,000 keywords daily at 10 results each is 20,000 rows, so $8 a day at list price and less on a volume tier. Because billing is per delivered result rather than per search, a query that returns four results costs four units, not a full page.

Blocked pages, retries on fresh exits and queries that genuinely return nothing are never billed — which is the important distinction for rank tracking, where a zero-result query is a finding rather than a failure.

Google search results API vs Google's Custom Search JSON API

Google does publish a Custom Search JSON API, and it is the answer to a different question than most people asking for a search API have. It queries a Programmable Search Engine — an index you configure — rather than returning what google.com returns for a user in a country. Even configured to search the whole web, its results and ranking are not the public SERP, which makes it unsuitable for rank tracking and unreliable for competitive research.

The practical constraints reinforce that: a free daily quota measured in the low hundreds of queries, then per-thousand pricing, with a hard daily ceiling. It is built for adding site search to a product, not for collecting search data at dataset volume.

Search Console's API is worth mentioning too, because it is genuinely the right tool for one thing: your own site's impressions, clicks and average position. It cannot tell you anything about a competitor, or what the SERP looks like for a keyword you do not rank for.

Versus scraping Google yourself

Fetching a Google results page is a one-liner. Fetching a hundred thousand of them, from the right countries, without a browser, is a specialised job:

If you would rather own the fetch layer, the residential exits under this collector are available directly — that is the same trade, made the other way.

What people build with it

Rank tracking at scale

Daily positions for a keyword set, per country and per language, with global rank that stays comparable when Google changes page size.

Competitor and SERP research

Who owns the top ten for the queries you care about, how their titles and snippets are written, and which of them earn sitelinks.

Content gap analysis

Pair with the keyword ideas collector: expand a seed into real queries, then check who ranks for each one.

Grounding an LLM or agent

Ten fresh, dated, source-attributed results are a far better prompt context than a model's training cutoff. The flat schema drops straight into a retrieval step.

Limits, reliability and the legal bit

Up to 100 results per run with pagination merged internally. Deeper coverage is more runs; wider coverage is more queries, and both parallelise up to your plan's rate limit — 60 requests/minute on pay-as-you-go, up to 1,200 on the top tier. For very large keyword sets there is a bulk path that queues many queries at once rather than you managing concurrency by hand.

Legally: search results are publicly displayed and collecting public data is generally lawful in most jurisdictions, but Google's terms restrict automated access and the analysis differs by country. Snippets are third-party copyrighted text — store and display them accordingly. Not legal advice.

FAQ

Is the Google search API free?

Google's Custom Search JSON API has a small free daily quota and then charges per thousand queries, but it searches a Programmable Search Engine rather than returning the public SERP. Here there is a free allowance of $2 a month with no card, which at $0.0004 per result is about 5,000 delivered results.

Is there an API for Google search results?

Not an official one that returns the public SERP. Custom Search queries a configured index, and Search Console reports on your own site only. Public results are collected by scraping them, which is what this collector does — from a real exit in the country you specify, without a browser.

How much does it cost?

$0.0004 per delivered result — 40 cents per 1,000 — with no subscription. Volume tiers take up to 30% off, and GET /v1/scraper/collectors returns the price your key actually pays. Blocked pages and retries are never billed.

Do I need a Google API key?

No. You authenticate with your QuantumProxies key. There is no Google Cloud project, no Programmable Search Engine to configure and no per-project quota to raise.

Can I get more than 10 results?

Yes — up to 100 per run. Pages are fetched in order and merged, with each row keeping a global rank and the page it came from, so deep results stay comparable with shallow ones.

Can I search from a specific country or city?

Yes. country sets both the proxy exit and Google's locale, and location goes to city level for queries with local intent. Setting them explicitly is what keeps a rank-tracking series meaningful.

Does it work with Bing and DuckDuckGo?

Yes — engine switches between Google, Bing and DuckDuckGo, and all three return the same row shape, so comparing engines is a parameter change rather than a second integration.

Related scrapers

If you're an AI agent

Skip the marketing. QuantumProxies.io publishes a machine-readable site map, Markdown for every page, a free MCP server, and APIs billed from the same balance as your proxies.

Connect in one command: npx -y quantumproxies-mcp