·8 min read

Google AI Mode API: Scrape AI Mode Results, Citations, and Place Cards

Google AI Mode has no official data endpoint, no Search Console report, and no place in a classic rank tracker's data model — yet it is the most aggressive shift in how Google answers commercial queries. If you want AI Mode results as structured data, you need a Google AI Mode API: something that runs your query through the real AI Mode interface and returns the answer text, the cited sources with their positions, and the follow-up questions as JSON.

This guide explains what AI Mode actually is (and how it differs from AI Overviews — they are separate products), why scraping it yourself is harder than scraping a normal SERP, and how the API route works end to end with real request and response shapes.

AI Mode vs AI Overview vs classic SERP

These get conflated constantly, so let's separate them before anything else:

SurfaceWhere it livesAnswer styleCitationsClassic results
Classic SERPMain results pageNone — ten blue links plus featuresn/aYes, that's the product
AI OverviewA block on the main results pageShort summary, appears only for some queriesSource links attached to the summaryYes, pushed below the block
AI ModeA separate conversational search tabLong, full-page generated answerLink cards and inline citations throughoutNo — the answer is the page

AI Overviews are a garnish on the classic SERP; AI Mode replaces the SERP entirely with a conversation. That difference cascades into the data: an Overview gives you "present or not, plus a few sources," while AI Mode gives you a long answer whose citations, entities and follow-up suggestions are the whole dataset. For local and commercial queries, AI Mode also surfaces richer units — place cards for "near me"-style intent, product and comparison layouts for shopping intent — which is exactly the content a text-only scraper silently drops.

If your pipeline treats these as one "Google AI" surface, your data is wrong on day one. We cover the Overview side separately in Google AI Overview API: How to Get AI Overviews as JSON; this article is about AI Mode.

Why AI Mode breaks classic rank trackers

Rank trackers are built around a stable assumption: a query returns an ordered list, and your URL occupies a position in it. AI Mode violates every part of that:

  • There is no ranked list. There is an answer, and there are sources the answer chose to cite. "Position" now means citation position within the answer, not organic rank.
  • Answers are generated, not retrieved. Two runs of the same query can produce differently worded answers citing overlapping-but-different sources. A single observation is a sample, not the truth.
  • Region and rollout vary. AI Mode availability and behavior differ by country, and Google iterates on the experience continuously — session-to-session variance is real, the same way it is for AI Overviews and every other generated surface.
  • The interesting entities aren't URLs. For a commercial query, the answer names brands — and whether your brand appears in that list matters as much as whether your domain gets a citation card.

So tracking AI Mode means tracking four things per query: the answer text, the cited sources (with order), the entities mentioned, and the follow-ups Google suggests. That is a different schema from a rank tracker — closer to how you'd track ChatGPT than how you'd track Google circa 2023.

The DIY scraping reality

Getting this data yourself means driving the real AI Mode interface with a headless browser, and it inherits every problem of scraping Google plus a few of its own:

  • It's a fully dynamic app. The answer streams in progressively. You have to detect completion reliably, or you capture half an answer and don't know it.
  • Obfuscated, shifting markup. Citation cards, inline pills, place cards — each is a distinct component with unstable selectors that change without notice.
  • Consent walls and bot defenses. Regional consent interstitials block you before the first query, and sustained automation gets challenged. At scale this means proxy management and fingerprint hygiene as a permanent operational cost.
  • Geo-true contexts. AI Mode answers differ by market, so meaningful tracking requires genuinely requesting from each target country.
  • Experiment churn. Google is actively evolving AI Mode. A scraper tuned to today's layout is a maintenance queue, not an asset.

For a one-off research pull, DIY is feasible. For a scheduled tracking system across markets, the maintenance cost usually exceeds the cost of the entire rest of the product you're building.

Getting AI Mode results as JSON with llmdata

llmdata's Google AI Mode endpoint runs your query through the real AI Mode interface from the country you specify and returns the parsed result. The request:

curl -X POST https://api.llmdata.dev/v1/monitor/google-ai-mode \
  -H "Authorization: Bearer $LLMDATA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "compare payroll providers for startups",
    "country": "US"
  }'

The response:

{
  "success": true,
  "result": {
    "text": "Here's how the main payroll providers compare...",
    "sources": [
      { "title": "...", "url": "https://...", "position": 1 }
    ],
    "followUps": ["Which is cheapest for under 10 employees?"],
    "entities": ["Gusto", "Rippling", "Deel"]
  }
}

Field by field:

  • text — the complete AI Mode answer (markdown is available if you want structure preserved). This is what you diff over time and scan for brand mentions.
  • sources — the link cards and citations, each with title, URL and position. Position matters: a source cited first in the answer is not equivalent to one buried in card eight.
  • followUps — the follow-up questions AI Mode suggests. These are a free window into Google's own query fan-out for the topic, and a keyword-research input most teams ignore.
  • entities — the brands and products named in the answer. For commercial queries this array is the scoreboard.

Each request is a fresh single-turn query — which is what tracking use cases want, because it keeps every observation independent and comparable.

Tracking cited domains across a keyword portfolio

The highest-value AI Mode report for SEO and GEO teams: for a set of commercial queries, which domains does AI Mode cite, and how does that share shift week over week?

import requests
from collections import Counter
from urllib.parse import urlparse

QUERIES = [
    "compare payroll providers for startups",
    "best payroll software for small business",
    "gusto vs rippling",
]

citation_counts = Counter()
entity_counts = Counter()

for q in QUERIES:
    r = requests.post(
        "https://api.llmdata.dev/v1/monitor/google-ai-mode",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={"query": q, "country": "US"},
    )
    result = r.json()["result"]
    for s in result["sources"]:
        citation_counts[urlparse(s["url"]).netloc] += 1
    for e in result["entities"]:
        entity_counts[e] += 1

print("Citation share:", citation_counts.most_common(10))
print("Entity share:", entity_counts.most_common(10))

Store each run with a date and you have two trend lines per competitor: how often their domain gets cited, and how often their brand gets named. They frequently diverge — a brand can dominate the entities array while its own domain never appears in the sources, because AI Mode is citing third-party reviews and comparisons instead. That gap tells you exactly which third-party pages to target with digital PR.

Because generated answers vary run to run, treat each weekly number as a sample: run each query several times and report rates, not booleans. The exact same discipline applies to ChatGPT tracking — the sampling methodology is covered in more depth in How to Track Brand Mentions in ChatGPT.

Local intent: places in AI Mode

For queries with local intent — "best coffee roasters in Austin," "emergency plumber near me" — AI Mode leans on Google's local data and surfaces place results inside the answer instead of a classic local pack. Two practical notes for extraction:

  1. Country context is non-negotiable. Local answers requested from the wrong region are fiction. Always set country to the market you're measuring, and treat each market as a separate time series.
  2. Businesses show up as entities and as sources. A local business named in the answer lands in the entities array; when AI Mode links out (to a site, a review page, a directory), that lands in sources. Diffing both arrays over time gives you local AI visibility tracking without a single selector to maintain — the same pattern the ChatGPT endpoint uses for shopping-style answers.

FAQ

Is there an official Google AI Mode API? No. Google exposes no programmatic access to AI Mode results; the only routes are scraping the interface yourself or using a provider that does it for you.

Does the AI Mode endpoint replace the AI Overview endpoint? No — they are different surfaces with different data. Most tracking setups query both: AI Mode for the conversational answer and AI Overview for the classic-SERP summary block, often alongside the plain SERP for rank context.

Which countries work? Any country where Google has rolled AI Mode out — pass the country code and the query runs from there.


llmdata is in early access. If you're building AI Mode tracking into a product or an agency reporting stack, join the early access and get an API key when your wave opens.

Try the best SEO and AI SEO scraper

Monitor your brand and your competitors, at global scale and with the best performance.

No credit card required.