For a growing share of searches, the first thing people read on Google is an AI Overview, not your blue link. If that answer mentions your brand, you win traffic you cannot see in any rank tracker; if it cites a competitor, you lose it just as invisibly. I wanted that data in a table, which is what the Google AI Overview API on Apify does: send queries, get back the AI answer and its cited sources as structured JSON.
Disclosure: the Apify links in this post are affiliate links. If you run the Actor, I may earn a referral commission at no extra cost to you.
Is there an official API for AI Overviews?
No. Google exposes no endpoint for AI Overviews, and standard SERP tooling largely predates them. The extra wrinkle is that Google often defers generation: the overview is not in the initial page response and materializes only after a follow-up token exchange. This Actor handles that deferred flow automatically, which is precisely the part a homemade script gets wrong first.
What the Google AI Overview API returns
The Google AI Overview API returns one JSON row per query: whether an overview appeared, the answer text blocks, and every cited source with its link and position.
| Field | Example | Notes |
|---|---|---|
ai_overview_present |
true |
Some queries get no overview; the row says so |
text_blocks |
[...] |
The AI answer text, for unlinked brand mentions |
references |
[{ "link": "https://...", "source": "...", "index": 0 }] |
Cited sources with title and snippet when present |
gl |
us |
Country targeting, echoed for clean multi-market data |
hl |
en |
Language targeting, same idea |
fetched_at |
2026-07-17T09:00:00Z |
The timestamp that keys a time series |
From those fields, the useful derivations fall out directly: overview shown or not, brand cited or not, citation position, and the list of competitor domains cited.
Who this is for
SEO and GEO teams tracking whether their pages get cited, brand monitors watching what the answer actually says, and content strategists building datasets for analysis across hundreds of queries per market.
The manual way, and where it breaks
Checking by hand means searching in a clean browser profile, screenshotting the overview, and pasting citations into a sheet, per query, per country. Automating that yourself runs into the deferred-generation problem, consent and localization variance, and answers that change between runs. The screenshot habit also gives you no diffable record; you cannot grep a PNG.
The faster way: run the Google AI Overview API
Apify Console
- Open the Google AI Overview API and click Try for free.
- Add one or many
queries, setglandhlfor the market. - Run it and export the rows as JSON or CSV.
REST
curl -X POST "https://api.apify.com/v2/acts/johnvc~Google-AI-Overview-API/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "queries": ["best crm for startups"], "gl": "us", "hl": "en" }'
Endpoint reference: the Apify API docs.
Check AI Overview citations in Python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("johnvc/Google-AI-Overview-API").call(
run_input={
"queries": ["best crm for startups", "crm with free tier"],
"gl": "us",
"hl": "en",
}
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
refs = row.get("references") or []
print(row.get("ai_overview_present"), len(refs), [r.get("source") for r in refs[:3]])
Grep the references for your domain and you have a brand-citation checker in a dozen lines.
Check if your brand appears in AI Overviews
The headline use case. The task Check if your brand appears in Google AI Overviews runs your queries and surfaces where you are cited, and where you are absent.
See which sites get cited for a keyword
Competitive angle: See which sites Google AI Overview cites for a keyword turns the citation list into a source-of-authority report, and Google AI Overview citation analysis extends it across a query set.
Fetch the raw answers via API
For pipelines that want the text itself, Get Google AI Overview answers via API returns the text_blocks in bulk.
Monitor AI Overviews from Claude via MCP
Through Apify's MCP server, Claude, Claude Code, and Cursor can call the Actor as a tool: ask "who does Google's AI cite for our category keywords this week" and get structured rows to reason over. The task Monitor Google AI Overviews from Claude via MCP has the setup, and you can read more about Claude at claude.ai.
FAQ about scraping Google AI Overviews
How much does the AI Overview scraper cost?
Billing is pay per retrieval: each query you fetch is one billable event, so a 100-keyword check costs 100 retrievals. New Apify accounts include free platform credit, which covers a first monitoring batch.
Why does the scraper sometimes return no overview?
Because Google did not show one. Overviews appear for some queries and not others, and the set shifts over time; the row's ai_overview_present field records exactly that, which is itself useful tracking data rather than an error.
Can Claude run this AI Overview scraper over MCP?
Yes. Connect the Apify MCP server and the Actor becomes a callable tool; the MCP task above is a working configuration for Claude.
Can I schedule the scraper for weekly brand tracking?
Yes, and monitoring is the whole game here since answers drift. Save your query set as a task, attach a weekly schedule, and diff the citation lists between runs. Start from the Google AI Overview API page.
Does the scraper handle Google's deferred generation?
Yes, automatically. When Google withholds the overview behind a page token, the Actor resolves it and returns the finished answer, which is the fiddly part you would otherwise have to reverse-engineer.
More from Truffle Pig Data
Other treatments of this Actor: Google AI Overview API for AI Agents on Medium, the LinkedIn article on tracking brand citations, and the Peerlist guide.
Wrapping up
You cannot manage the answer engine era with screenshots. Put your keywords through the Google AI Overview API and get the citations as data.
Top comments (0)