HELP CENTER

Parse Google AI Overviews & AI Mode

Detecting when an AI Overview triggers on a SERP has become standard across SEO platforms. The harder problem, and the one most AI visibility tracking products still gloss over, is what to do with the contents: the generated text, the cited sources, and the answer format Google chose. Google AI Mode compounds the gap. It lives on a separate surface and cites a different set of sources for the same queries. Below are three ways to use our Google Organic SERP API and Google AI Mode SERP API to close that gap.

What’s in the parsed response

A short tour of the response first, since the use cases depend on knowing what’s in it. The Google Organic Live Advanced endpoint returns an ai_overview item whenever Google shows one on a SERP, sitting alongside the regular organic results. The Google AI Mode Live Advanced endpoint returns content in the same format, so anything in the list below applies to both surfaces.

1. Structured sections of the AI Overview. Google breaks the answer into chunks (a definition paragraph, a list of steps, a comparison), and the API keeps that split intact. Each chunk arrives as its own ai_overview_element object inside the items array, with a text field, a markdown field, and optional images and links.
2. List of cited sources. The top-level references array on the ai_overview item lists every source Google cited. Each entry contains source, domain, url, title, and a text snippet. Per-section references also sit inside each ai_overview_element, so you can attribute citations down to the chunk that triggered them.
3. Extra features. Google occasionally generates richer elements that the API parses separately: ai_overview_table_element for structured tables, ai_overview_video_element for embedded videos, and (in AI Mode) ai_overview_shopping_element for product queries with merchant prices and ratings, and more.
4. The asynchronous_ai_overview flag. This tells you whether Google had the overview cached or generated it on demand. Set the load_async_ai_overview parameter to true in your request to fetch the asynchronous ones; without it, you’ll see ai_overview: null on queries where Google didn’t have a cached version ready.

Use case 1: Track AI Overview and AI Mode presence over time

Before anything more interesting, your product needs to know which keywords trigger an AI Overview today, which trigger AI Mode, and whether the target domain is cited in either. Triggers are noisy. The same query can produce a full overview on Monday, nothing on Tuesday, and a different overview with a different source set on Wednesday. A daily pull is the only way to keep up.

Set up scheduled tracking. For each keyword in the tracked list, hit the Google Organic Live Advanced endpoint with load_async_ai_overview set to true, then hit the AI Mode Live Advanced endpoint with the same keyword. Depending on how your stack is set up, you’ll want to persist four things per run: whether the overview triggered, the asynchronous_ai_overview value, the full references array, and a boolean for whether the target domain appears in it.

A real request and response from the Google Organic Live Advanced endpoint for the keyword “how to optimize for ai overviews,” with [...] standing in for fields that aren’t relevant to a presence tracker:

Request example:

[
  {
    "keyword": "how to optimize for ai overviews",
    "location_name": "United States",
    "language_code": "en",
    "load_async_ai_overview": true
  }
]

Response example:

{
  "version": "0.1.20260223",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "6.4521 sec.",
  "cost": 0.0024,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "06221737-1535-0139-0000-b5cf241b9c0a",
      "status_code": 20000,
      "status_message": "Ok.",
      "result_count": 1,
      "path": ["v3", "serp", "google", "organic", "live", "advanced"],
      "data": {...},
      "result": [
        {
          "keyword": "how to optimize for ai overviews",
          "type": "organic",
          "se_domain": "google.com",
          "items": [
            {
              "type": "ai_overview",
              "rank_group": 1,
              "rank_absolute": 1,
              "page": 1,
              "asynchronous_ai_overview": false,
              "markdown": "...",
              "items": [...],
              "references": [
                {
                  "type": "ai_overview_reference",
                  "source": "Google for Developers",
                  "domain": "developers.google.com",
                  "url": "https://developers.google.com/search/docs/fundamentals/ai-optimization-guide",
                  "title": "Optimizing your website for generative AI features on Google Search",
                  "text": "This includes ensuring your site displays well across all devices..."
                },
                {
                  "type": "ai_overview_reference",
                  "source": "Semrush",
                  "domain": "www.semrush.com",
                  "url": "https://www.semrush.com/blog/ai-overviews/",
                  "title": "AI Overviews: What Are They & How to Optimize for Them - Semrush",
                  "text": "The systems behind AI Overviews evaluate many signals..."
                },
                {
                  "type": "ai_overview_reference",
                  "source": "Search Engine Land",
                  "domain": "searchengineland.com",
                  "url": "https://searchengineland.com/guide/how-to-optimize-for-ai-overviews",
                  "title": "AI Overviews optimization guide: How to rank in generated results",
                  "text": "Get expert tips on brand authority, content coverage..."
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Endpoint: api.dataforseo.com/v3/serp/google/organic/live/advanced. See the Google Organic Live Advanced docs for the full parameter list.

After a few weeks of daily pulls, the product can show customers the trend rather than a single yes-or-no answer. The chart that can come out of this is week-over-week trigger rate plotted against citation rate for the target domain, with both numbers trending in some direction that the customer can react to. Our Help Center guide covers the parameters for filtering ranked keywords by AI Overview citation specifically.

Use case 2: Analyze the generated answer format across AI Overview and AI Mode

Presence tracking tells you the overview happened; it doesn’t tell you what’s in it. That’s where the ai_overview_element objects come in. Each one declares its type: a paragraph of prose, a list of steps, a bulleted comparison, an ai_overview_table_element with structured rows. AI Overview and AI Mode emit the same element types, so one parser covers both.

AI Mode is usually the better surface for format analysis. The answers are longer, and Google’s query fan-out pulls in tables, shopping elements, and multi-section explanations more often than a single-shot AI Overview does. A price-comparison query is a good test case:

Request example:

[
  {
    "keyword": "iphone 16 price comparison",
    "location_name": "London,England,United Kingdom",
    "language_code": "en",
    "device": "desktop"
  }
]

Response example:

{
  "version": "0.1.20260223",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "12.8697 sec.",
  "cost": 0.004,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "02241638-1535-0139-0000-f0c53c397c88",
      "status_code": 20000,
      "status_message": "Ok.",
      "result_count": 1,
      "path": ["v3", "serp", "google", "ai_mode", "live", "advanced"],
      "data": {...},
      "result": [
        {
          "keyword": "iphone 16 price comparison",
          "type": "ai_mode",
          "se_domain": "google.com",
          "item_types": ["ai_overview"],
          "items_count": 1,
          "items": [
            {
              "type": "ai_overview",
              "rank_group": 1,
              "rank_absolute": 1,
              "markdown": "The iPhone 16 series starts at **£599 / $599**...",
              "items": [
                {
                  "type": "ai_overview_element",
                  "text": "The iPhone 16 series starts at £599 / $599 for the iPhone 16e and ranges up to £1,599 / $1,599 for the top-tier iPhone 16 Pro Max with 1TB of storage..."
                },
                {
                  "type": "ai_overview_table_element",
                  "table": {...}
                },
                {
                  "type": "ai_overview_shopping_element",
                  "products": [...]
                }
              ],
              "references": [...]
            }
          ]
        }
      ]
    }
  ]
}

Endpoint: api.dataforseo.com/v3/serp/google/ai_mode/live/advanced. See the AI Mode Live Advanced docs for the full parameter list.

The classification is what makes this useful. Pull AI Overview and AI Mode responses for a topic cluster, sort each ai_overview_element by structure (paragraph, list, table, shopping element, video), and patterns start to show up. Price-comparison queries tend to come back as a table in AI Mode and as a paragraph in AI Overview. How-to queries default to numbered lists on both surfaces. Content teams can use those signals to restructure the page: lead with named steps, add a comparison table, format product specs in a way the model can pick up.

Use case 3: Compare citations across AI Overview and AI Mode

Once format analysis is working, customers tend to start asking whether they’re cited on both surfaces or only one. The two surfaces don’t always agree. AI Overview is a single-shot summary keyed to the user’s query. AI Mode behaves differently: it fans the query out into related subqueries, researches each, and synthesizes an answer with conversational memory. The two paths often land on different source sets, so a domain cited in one isn’t automatically cited in the other, in either direction.

Both endpoints return citations in the same references array shape used in Use Case 1, which makes the comparison cheap. For each keyword, pull from both endpoints on the same day and diff the two arrays by domain. Aggregated across a keyword set, the diff produces a per-surface gap report: keywords for which the domain is cited on one surface but missing from the other. That’s the report a customer working on generative search visibility will use. Our Help Center walkthrough covers the full AI Mode response layout if you need the parameter details.

Wrap up

The three use cases work as a stack. Presence tracking is the foundation: “Did the AI Overview trigger?”, “Am I cited?”. Format analysis builds on top of that to show how Google is answering and how the content should be shaped in response. Citation comparison closes the loop, turning the parsed data into a per-surface gap list that a customer can act on directly. All of it runs on the Google Organic SERP API and the Google AI Mode SERP API against the same response shape, so the integration only has to be built once. Try for free and start building.

Embed DataForSeo widget on your website


Embed code:
Preview: