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.
surfaces valuegoogle_ai_overview
Alias pathPOST /v1/search/google_ai_overview
Credits per capture5 (charged only on success)
ProviderGoogle

What it returns

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.

Request

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.
curl -X POST https://api.aisearchapi.dev/v1/search \
  -H "Authorization: Bearer $AISEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "best running shoes for flat feet",
    "surfaces": ["google_ai_overview"],
    "regions": [{ "country": "US" }]
  }'
The 202 carries the parent job and one dotted child id — read it with GET /v1/jobs/:id or receive it on a webhook.
{
  "jobId": "job_8t2q",
  "status": "processing",
  "children": ["job_8t2q.google_ai_overview.us"]
}

Per-surface alias

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": "..." }]).
curl -X POST https://api.aisearchapi.dev/v1/search/google_ai_overview \
  -H "Authorization: Bearer $AISEARCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "best running shoes for flat feet",
    "country": "US"
  }'

Envelope

A trimmed capture — the same four sections (job, provenance, answer, evidence) you get from every surface.
{
  "job": {
    "id": "job_8t2q.google_ai_overview.us",
    "query": "best running shoes for flat feet",
    "surface": "google_ai_overview",
    "region": "US",
    "status": "completed",
    "warnings": [],
    "requestedAt": "2026-06-30T17:02:11Z",
    "completedAt": "2026-06-30T17:02:26Z"
  },
  "provenance": {
    "model": { "providerId": "google", "observedLabel": "AI Overview", "inferred": false, "confidence": 0.97 },
    "region": { "requested": "US", "effective": "US" },
    "surfacePresent": true
  },
  "answer": {
    "text": "For flat feet, look for stability shoes with firm midsole support like the Brooks Adrenaline GTS and ASICS Gel-Kayano...",
    "markdown": "For flat feet, look for **stability shoes** with firm midsole support like the **Brooks Adrenaline GTS** and **ASICS Gel-Kayano**...",
    "blocks": [
      { "type": "paragraph", "text": "For flat feet, look for stability shoes...", "referenceIds": [1] }
    ]
  },
  "evidence": {
    "sources": [
      { "id": 1, "url": "https://...", "title": "Best stability running shoes", "role": "cited", "cited": true, "charRanges": [[0, 62]], "quote": "Stability shoes are recommended for overpronation." }
    ],
    "mentions": ["Brooks Adrenaline GTS", "ASICS Gel-Kayano"],
    "shopping": [
      { "title": "Brooks Adrenaline GTS 23", "url": "https://...", "price": "$140", "seller": "Brooks" }
    ],
    "ads": [
      { "title": "Running Shoes — Free Returns", "url": "https://...", "advertiser": "example-retailer.com" }
    ]
  }
}
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.

All surfaces

The full enum and how fan-out works.

The Envelope

Every field in the canonical per-surface result.