AI Overview API alternative
A few APIs extract Google's AI Overview alongside search results. Here is what each publishes about coverage, fields and price.
Providers
| Provider | How it's requested | Fields published | Pricing model |
|---|---|---|---|
| SerpApi | Inline in Google Search API results; when Google loads it separately, a page_token for a separate AI Overview API call. | text_blocks (headings, paragraphs, lists, tables, comparisons) and references with title, link, snippet, source and index. | Counted against the Search API's per-search plans; no separate rate listed. |
| DataForSEO | An ai_overview item inside Google Organic SERP results; load_async_ai_overview also returns ones Google loads asynchronously. | Markdown, references, and text, link, image and video elements. | Pay-per-SERP: $0.6 / 1,000 (standard queue) to $2 / 1,000 (live); load_async_ai_overview adds one base price ($0.002 in live mode). Their Google AI Mode endpoint is a separate product at $1.20 to $4.00 / 1,000. |
| AnswerLine | include.aioverview on POST /v1/monitor/google (or as a GOOGLE task). | See below, from this API's own OpenAPI document. | +$0.00071 on every tier, charged only when the response holds an AI Overview. |
This API's AI Overview fields
result.aioverview is null when Google didn't show one, otherwise an object with:
markdown(withinclude.aioverview.markdown: true) and the plain answer text.sources: the source rail, each withposition,url,label,descriptionand, when Google served it as a redirect,redirectLink.citationPills: the inline citation chips, one entry per (pill, source) pair sharing acitationPillId, each withlabel,url,domainandpositioninsources.relatedLinks: a chip's "View related links" items that aren't insources, grouped by the samecitationPillId.
Full definitions are in the API reference and the OpenAPI document.
What to compare
Most Google SERP APIs return the AI Overview in some form. Providers differ on four points:
- Does one request return it, or does your code need a follow-up call against an expiring token?
- What is returned: blocks of text and a reference list, or also which sources the answer cites inline?
- What is charged when Google shows no overview for the query?
- Can you pin the market: country, city, language and device?
This API answers them as: one request; markdown, the source rail, citation pills and related links; a fixed add-on priced on the request; and country, location or uule, hl and device.
How providers retrieve the overview
Other providers, per their own pages, checked 2026-09-17:
- SearchApi returns
ai_overviewin its Google results; when Google loads it separately, the response carries apage_tokenfor itsgoogle_ai_overviewengine, which its docs say expires in less than a minute (searchapi.io). - Scrape.do returns
ai_overviewin its Google Search endpoint; a deferred overview carries asession_key, valid for 90 seconds and usable once, for a follow-up call costing 5 credits (scrape.do). - ScrapingBee returns
ai_overviewsin its Google API only on regular requests, which cost 15 credits instead of 10 for a light request (scrapingbee.com). - Oxylabs returns
ai_overviewsinsidegoogle_searchresults when rendering is enabled; its docs describe this as maximizing the chance of getting one (developers.oxylabs.io). - Bright Data says adding
brd_ai_overview=2to a SERP API request increases the likelihood of receiving the overview (brightdata.com). - Apify publishes a Google AI Overviews Scraper actor and an AI Overview add-on to its Google Search actor, charged when an overview is captured (apify.com).
- ScraperAPI’s Google SERP structured endpoint documents no AI Overview field (docs.scraperapi.com).
- Serper’s public site did not list AI Overviews (serper.dev).
Token-based follow-ups put a timing constraint on your code: a rate-limit delay or backlog between the first and second request loses the overview for that search. “Increases the likelihood” and “maximizes the chance” wording means presence rates can differ between providers for the same query, so test your own query set on each candidate before comparing prices.
The request on this API
curl -X POST https://api.answerline.dev/v1/monitor/google \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "how long does a heat pump last",
"country": "US",
"include": { "aioverview": { "markdown": true }, "paaAioverview": true }
}'
The overview-related parts of the response:
result.aioverview:nullif Google showed none, otherwise the answer (withmarkdownwhen requested),sources,citationPillsandrelatedLinks, as described above.result.peopleAlsoAsk[]: withinclude.paaAioverview, questions whose answer is itself an AI Overview carrytype: "AIOVERVIEW", their ownmarkdownandsources.result.organicResults[]and the other SERP blocks, from the same page, so you can compare rank and overview citation in one row.
The two include flags share one add-on: enabling both costs the same as enabling one.
Measuring AI Overview visibility
An AI Overview tracker usually needs four metrics per query, market and day. All four come from one response:
- Presence:
aioverview !== null. Track the share of your query set that shows an overview; it can move for reasons unrelated to your content. - Rail citation: your domain appears in
aioverview.sources[].url. Record itsposition. - Inline citation: your domain appears in
aioverview.citationPills[].domain. Being cited inside the text is closer to being quoted than appearing in the rail. - Organic overlap: your
organicResults[].positionfor the same query, to see whether overview citations follow rank or not.
A TypeScript sketch:
import { Client } from "@answerline/sdk";
const client = new Client({ apiKey: process.env.API_KEY!, baseUrl: "https://api.answerline.dev" });
const domain = "example.com";
const { result } = await client.google({
query: "how long does a heat pump last",
country: "US",
include: { aioverview: {} },
});
const aio = result.aioverview;
const row = {
present: aio !== null,
railPosition: aio?.sources.find((s: { url: string }) => s.url.includes(domain))?.position ?? null,
citedInline: aio?.citationPills?.some((p: { domain: string }) => p.domain.endsWith(domain)) ?? false,
organicPosition: result.organicResults.find((r: { link: string }) => r.link.includes(domain))?.position ?? null,
};
console.log(row);
For a full query set, submit GOOGLE tasks in batches of up to 500 with idempotency keys and a webhook, as the async guide shows, and write one row per delivery.
What the AI Overview add-on costs, and when
This API prices the AI Overview as a fixed add-on to a Google Search request. A one-page Google Search task is $0.00103 on every tier, each extra page $0.00071, and include.aioverview $0.00071 once (credits). The add-on is charged only when Google shows an overview for that query; include.paaAioverview is free.
Cost is predictable, and the decision left to you is which queries to request it for:
- Request it everywhere at first. One full run tells you the presence rate per query group.
- Drop queries that never show one. After a few weeks, queries that never returned an overview in any market can run without the add-on and be rechecked monthly.
- Keep it on commercial and informational queries where overviews appear and citations matter to you.
Where a provider charges a follow-up call only when the overview is deferred, or charges per captured overview, cost per query follows the presence rate; a fixed add-on does not. Price your own query mix on each candidate using the presence rate from your first run.
Sampling and cadence
AI Overview presence and sources vary between runs of the same query.
- Measure presence as a rate, not a yes or no: run the same query more than once per week per market and report the share of runs with an overview.
- Separate volatility from change: before reporting that a citation was lost, check whether it also disappeared in earlier runs. Sampling vs census covers how many runs are enough.
A batch for one query group across markets:
import os, requests
queries = ["how long does a heat pump last", "heat pump vs furnace cost"]
countries = ["US", "CA"]
day = "2026-09-17"
tasks = [
{
"taskType": "GOOGLE",
"payload": {"query": q, "country": c, "include": {"aioverview": {}}},
"idempotencyKey": f"hp-{i}-{c}-{day}",
"webhook": {"url": "https://your-app.com/hooks/serp"},
}
for i, q in enumerate(queries)
for c in countries
]
r = requests.post(
"https://api.answerline.dev/v1/async/task/batch",
headers={"Authorization": f"Bearer {os.environ['API_KEY']}"},
json=tasks,
timeout=60,
)
print(r.json()["summary"])
Beyond Google: AI answers on the same topics
An AI Overview is one AI answer surface. The same question asked in natural language to ChatGPT, Gemini, Perplexity, Copilot, Grok or Google AI Mode can cite different sources. With the same key and task model, add those engines for the queries that matter most, keyed by the same query id so you can compare citation sets across surfaces. How AI engines choose citations discusses why they differ.
Evaluating any AI Overview API
Run the same 50 to 100 queries, in the same market and device, through each candidate on the same day, then compare:
- Presence rate. For how many queries did each return an overview? A lower rate may be the provider, not Google.
- Completeness. The answer text should match what Google shows a user in that market. Spot-check ten by hand.
- Citations. Are rail sources and inline citations separated? Are redirect links resolved or exposed?
- Second-request failures. For token-based providers, how many follow-ups expired or failed, and were they charged?
- Cost per usable row. Divide spend by rows with a verified overview or a verified absence, not by requests.
- Geo fidelity. Repeat five queries in a second country; local-intent queries should change.
Pitfalls
- Treating absence as failure. Google shows AI Overviews for some queries and not others, and the set changes. Store
nullas a result. - Comparing across devices. Mobile and desktop results can differ; where a provider lets you choose, keep one device per series.
- Daily noise. Overviews and their sources vary between runs. Compare weekly aggregates, not single days; AI answer volatility covers sampling.
- Forgetting People Also Ask. Some questions expand into their own AI Overviews with their own sources; if you track citations, include them.
- Redirect links. Google can serve a source as a redirect. Store
urlfor analysis and keepredirectLinkwhen present, so you can audit what the page linked to; don’t count the same source twice because one copy is a redirect. - Changing the query set mid-series. Presence rates are only comparable over a fixed set of queries and markets. Add new queries as a separate group and merge them after they have their own baseline.
- Tokens in logs. Keys in URL query strings end up in logs; this API takes the key in the
Authorizationheader.
See the Google Search engine page for every field, or monitoring Google AI Overviews for a longer walkthrough.
Related: Google AI Overview API and AI Overview tracking tools.
Questions
What is an AI Overview API?
An AI Overview API runs a Google search for a query and market and returns the AI Overview Google showed, as structured data: the answer text and the sources it cites. Most are part of a Google SERP API rather than separate products.
Why do some providers need a second request for the AI Overview?
Google sometimes loads the AI Overview after the results page. SerpApi and SearchApi document a page_token for a follow-up request that expires within about a minute, and Scrape.do documents a session key valid for 90 seconds, as checked on 2026-09-17. This API's Google Search endpoint returns the overview in the same request, or null when none was shown.
How much does this API charge for the AI Overview?
include.aioverview adds $0.00071 once to a Google Search request, on top of the $0.00103 base for the first page, only when Google shows an overview. include.paaAioverview is free.
What is the difference between AI Overview sources and citation pills?
Sources are the rail of links shown beside the overview. Citation pills are the inline chips inside the answer text; this API returns each pill's sources grouped by citationPillId, so you can tell which sources the text itself cites.
Can I track AI Overviews for a specific city?
Yes. POST /v1/monitor/google takes location as City,Region,Country or a uule string, together with country and hl; Google AI Mode takes the same fields.