API reference

AI Overview & SERP features

Beyond the ten blue links: capture Google’s AI Overview with its cited sources, plus the rich SERP-feature blocks.

AI Overview

When Google shows an AI Overview for a keyword, the crawler captures it on the page-one load and returns the body as both flat summary lines and structured blocks (paragraphs, headings, lists, tables), a ready-to-render markdown string, and the cited sources ranked in display order with a title and description. This is on by default on every search. It fetches no extra result page, but it is not free: the crawler holds the page open for a render wait, and on a fast-absent AI Overview it reloads the SERP once to re-roll it. Pass capture_aio false to skip both for a faster crawl.

The job metadata reports an aio_status and a citation count:

FieldTypeDescription
presentaio_statusAn AI Overview was shown and captured.
absentaio_statusNo AI Overview appeared for this keyword.
failedaio_statusAn AI Overview was detected but could not be captured.
skippedaio_statusCapture did not run, because capture_aio was false on the request or off fleet-wide. Not the same as absent — nothing was looked for.
aio_citationsintegerCount of distinct cited sources in the AI Overview.

The ai_overview body fields (native json):

FieldTypeDescription
summarystring[]Flat plain-text blocks (paragraphs + list items). Back-compat; use text_blocks/markdown for structure.
markdownstringThe AI Overview body rendered as Markdown (headings, bullet lists, tables).
text_blocksarrayOrdered structured blocks, each { type: paragraph | heading | list | table, ... }.
citationsarrayCited sources in display order: { rank, title, url, domain, snippet }.
ai_overview (native json)
"ai_overview": {
  "summary": [
    "Road running shoes prioritize cushioning and a smooth heel-to-toe transition.",
    "Control carbohydrate intake and use complex carbs over refined sugars."
  ],
  "markdown": "Road running shoes prioritize cushioning...\n\n- Control carbohydrate intake...\n- Engage in regular exercise...",
  "text_blocks": [
    { "type": "paragraph", "text": "Road running shoes prioritize cushioning..." },
    { "type": "list", "items": ["Control carbohydrate intake...", "Engage in regular exercise..."] }
  ],
  "citations": [
    { "rank": 1, "title": "Running Shoe Guide", "url": "https://example.com/guide", "domain": "example.com", "snippet": "A practical guide to choosing road shoes." },
    { "rank": 2, "title": "How to Choose", "url": "https://other.com/choose", "domain": "other.com", "snippet": null }
  ]
}

The serpapi output maps these to text_blocks (SerpApi-stylesnippet/list shapes) and references (each with a 1-based index, link, source and snippet).

Page-one only

The AI Overview is captured on the first result page only, never as a separate deep-page load.

SERP features

When capture_features is on (the default, reusing the same page-one load as the AI Overview, so there is no extra request), the parser extracts the rich blocks that sit around the organic results.

FieldTypeDescription
featured_snippetobjectThe answer box at the top of results. serpapi: answer_box.
people_also_askarrayExpandable related questions. serpapi: related_questions.
related_searchesarraySuggested follow-up queries.
local_packarrayThe map/local business pack. serpapi: local_results.
knowledge_panelobjectThe entity knowledge panel. serpapi: knowledge_graph.
inline_imagesarrayThe inline image carousel.
inline_videosarrayThe inline video block.
top_storiesarrayThe news / top-stories block.
shopping_resultsarrayThe shopping / product block.
sitelinksarraySitelinks under a result. In serpapi output, nested under the first organic result as sitelinks.inline[].

Empty features are omitted

Absent feature blocks are dropped from the response rather than returned as null, so serp_features contains only what actually appeared on the page.

Per-result enrichment

In the native JSON, each organic result also carries dependency-free enrichment computed from its URL: domain_info (registrable domain, subdomain), a classification (e.g. commercial, informational), and a favicon. This lets you segment results without a second lookup.