Capture the AI Overview block that Google Search shows above the classic results, normalized to the canonical AI Search Envelope.
Google AI Overview is the AI-generated summary Google renders at the top of a Search results page. The API captures that block from a real browser — the live Google Search experience — and returns it as the same Envelope every other surface produces.
The AI Overview is commerce-heavy, so its captures tend to be rich in evidence:
answer.text / answer.markdown — the Overview summary. markdown is always populated.
answer.blocks[] — structured blocks whose referenceIds point into evidence.sources.
evidence.sources[] — the pages Google cites and links under the Overview.
evidence.mentions[] — entity strings (brands, products, places) named in the answer.
evidence.shopping[] — product cards when the query is shopping-oriented.
evidence.ads[] — sponsored placements shown alongside the Overview.
Every surface normalizes to the same Envelope. Whether you capture Google AI Overview, ChatGPT, or Perplexity, you parse one shape — so the code below works unchanged across surfaces. See Output formats.
Add google_ai_overview to surfaces on a standard POST /v1/search. This fans out asynchronously — one child per surface × region — returning 202 with a parent job.
POST /v1/search/google_ai_overview targets this one surface and is sync by default — it holds the connection open and returns the Envelope inline with 200, no polling. It accepts two convenience fields: prompt (alias of query) and country (flat sugar for regions: [{ "country": "..." }]).
If Google shows no Overview for the query, the child still completes: provenance.surfacePresent is false, job.warnings carries a surface_absent warning, and answer is empty. An empty capture costs no credits.
answer.markdown is always populated, and answer.blocks[].referenceIds map into evidence.sources by id. See Output formats for turning this into rendered text, footnoted citations, or structured data.