# Google AI Overview Tracker - AI Overview API & AEO Tool (`santhej/google-ai-overview-tracker`) Actor

AI SEO tool for GEO/AEO: check if Google shows an AI Overview for any keyword and which sources it cites. Returns the full AI answer, every cited page, and whether your domain or a competitor won the citation. Bulk keywords, 18 countries, JSON. No API keys, no setup fee.

- **URL**: https://apify.com/santhej/google-ai-overview-tracker.md
- **Developed by:** [Santhej Kallada](https://apify.com/santhej) (community)
- **Categories:** SEO tools, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Google AI Overview Tracker — AI Overview API & AEO Tool

**Find out whether Google's AI Overview answers your keywords, what it says, and which sites it cites — including whether that site is you or your competitor.**

Google's AI Overview now sits above the organic results for a large share of commercial and question-style searches. When it appears, it answers the searcher directly and cites a handful of sources. If you are not one of those sources, you are invisible on that query no matter where you rank organically.

This Actor checks any list of keywords and returns, for each one: whether an AI Overview appeared, the complete AI-generated answer, every source it cited, and a verdict telling you whether **your** domain, a **competitor**, or neither got the citation.

### What you get per query

| Field | What it tells you |
|---|---|
| `ai_overview_present` | Did Google generate an AI Overview for this search at all |
| `citation_verdict` | `brand_cited` / `competitor_cited` / `others_cited` / `no_references` / `no_ai_overview` |
| `brand_cited` + `brand_citation_position` | Were you cited, and how early in the source list |
| `competitors_cited` | Which of your named competitors were cited instead |
| `references` | Every cited source: domain, URL, page title and the snippet Google pulled |
| `cited_domains` | Flat list of every domain in the answer — the AI Overview "SERP" |
| `answer_markdown` / `answer_text` | The full AI answer, ready to diff over time |

A run summary is written to the key-value store with AI Overview coverage, your citation rate and a ranked table of the most-cited domains across all your queries.

### Use cases

- **GEO / AEO monitoring** — track week over week whether your brand keeps its AI Overview citations.
- **Citation gap analysis** — find the queries where a competitor is cited and you are not.
- **Content briefs** — read exactly which pages Google's AI trusts on a topic before you write.
- **Rollout tracking** — measure what share of your keyword set now triggers an AI Overview at all.
- **Client reporting** — a defensible, dated record of AI visibility for SEO retainers.
- **Agent workflows** — clean JSON for an LLM agent that needs live AI Overview context.

### Pricing

Pay per event. No monthly fee, no setup fee, no minimum.

| Event | Price |
|---|---|
| Actor start | $0.001 per run |
| AI Overview check | **$0.008 per query** |

A 25-keyword weekly check costs **$0.201**. You are charged per query checked, because the search runs whether or not Google decides to show an AI Overview for it.

**Compared with the alternatives:** `johnvc/Google-AI-Overview-API` charges $0.015 per retrieval **plus** a $0.01 setup fee on every run — a 25-keyword run costs $0.385 there versus $0.201 here, and it does not classify your domain against a competitor set.

### Input example

```json
{
  "queries": [
    "best crm for small business",
    "klaviyo vs mailchimp",
    "how much does hubspot cost"
  ],
  "brandDomains": ["hubspot.com"],
  "competitorDomains": ["salesforce.com", "zoho.com"],
  "countryCode": "us",
  "languageCode": "en"
}
```

### Output example

```json
{
  "query": "best crm for small business",
  "ai_overview_present": true,
  "citation_verdict": "brand_cited",
  "brand_cited": true,
  "brand_citation_position": 2,
  "reference_count": 9,
  "cited_domains": ["reddit.com", "hubspot.com", "forbes.com", "zoho.com"],
  "competitors_cited": ["zoho.com"],
  "references": [
    {
      "source": "Reddit",
      "domain": "reddit.com",
      "url": "https://www.reddit.com/r/smallbusiness/comments/...",
      "title": "What CRM do you actually use? - Reddit",
      "snippet": "Comments Section ..."
    }
  ],
  "answer_markdown": "The best CRM for a small business depends on ...",
  "country": "us",
  "checked_at": "2026-08-23T09:14:00.000Z"
}
```

### FAQ

**Do I need an API key?** No. Everything is handled for you — just add keywords and run.

**Why does a query show `no_ai_overview`?** Google does not generate an overview for every search. Navigational and very niche queries usually get none. Commercial "best X" and question-style queries almost always do.

**Does it handle deferred generation?** Yes. Google sometimes returns a token instead of the answer; the Actor requests the resolved overview automatically rather than reporting it as missing.

**Which countries work?** 18 countries are selectable. AI Overviews are most reliable in the United States and are predominantly English.

**How often should I run it?** Weekly is enough for most keyword sets. AI Overviews are re-generated constantly, so daily runs mostly measure noise.

**Can I export it?** Yes — JSON, CSV, Excel, or straight into n8n, Make or Zapier via the Apify API.

### Track every AI surface

Each Actor in this family covers one AI surface deliberately, so you only pay for the check you need:

- [Google AI Mode Tracker](https://apify.com/santhej/google-ai-mode-tracker) — Google's conversational AI tab, tracked the same way.
- [ChatGPT Brand Tracker](https://apify.com/santhej/chatgpt-brand-tracker) — does ChatGPT recommend you? Optional web-grounded mode with sources.
- [Perplexity Brand Tracker](https://apify.com/santhej/perplexity-brand-tracker) — full live answers plus the numbered citation list Perplexity is known for.
- [AI Citation Gap Finder](https://apify.com/santhej/ai-citation-gap-finder) — which domains Google's AI cites across your whole keyword set, and where competitors are cited but you are not.
- [AI Rank Tracker Pro](https://apify.com/santhej/ai-rank-tracker-pro) — every platform in one run, with share-of-voice reports across ChatGPT, Perplexity, Gemini and Google AI.

***

*Tags: google ai overview, ai overview api, ai overview tracker, ai overview checker, ai overview seo, ai seo tool, aeo tool, ai search optimization, geo seo, llm seo, generative engine optimization, answer engine optimization, ai visibility, ai search visibility, ai citations, sge, serp api, seo monitoring*

# Actor input Schema

## `queries` (type: `array`):

The Google searches to check for an AI Overview. Question-style and comparison queries ("best crm for small business", "klaviyo vs mailchimp") trigger AI Overviews most often. One row of output per query.

## `brandDomains` (type: `array`):

Domains you own, e.g. example.com. Every result is labelled with whether Google's AI cited you. Subdomains count as a match (blog.example.com matches example.com). Leave empty to skip the check.

## `competitorDomains` (type: `array`):

Competitors to watch, e.g. competitor.com. When your domain is absent but one of these is cited, the query is flagged competitor\_cited — that is your citation gap.

## `countryCode` (type: `string`):

Country to search from. AI Overviews are rolled out to a limited set of countries and appear most reliably in the United States.

## `languageCode` (type: `string`):

Two-letter interface language code (ISO 639-1). AI Overviews are predominantly English, so 'en' is recommended.

## `includeAnswerText` (type: `boolean`):

Return the complete AI-generated answer as markdown and plain text on every row. Turn off for a lighter dataset when you only need the citation verdict. Does not change the price.

## Actor input object example

```json
{
  "queries": [
    "best crm for small business"
  ],
  "brandDomains": [
    "hubspot.com"
  ],
  "competitorDomains": [
    "salesforce.com",
    "zoho.com"
  ],
  "countryCode": "us",
  "languageCode": "en",
  "includeAnswerText": true
}
```

# Actor output Schema

## `dataset` (type: `string`):

One row per query, plus aggregate rows where applicable.

## `summary` (type: `string`):

Coverage, citation rates, billing breakdown and net margin for the run.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "queries": [
        "best crm for small business"
    ],
    "brandDomains": [
        "hubspot.com"
    ],
    "competitorDomains": [
        "salesforce.com",
        "zoho.com"
    ],
    "countryCode": "us",
    "languageCode": "en"
};

// Run the Actor and wait for it to finish
const run = await client.actor("santhej/google-ai-overview-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "queries": ["best crm for small business"],
    "brandDomains": ["hubspot.com"],
    "competitorDomains": [
        "salesforce.com",
        "zoho.com",
    ],
    "countryCode": "us",
    "languageCode": "en",
}

# Run the Actor and wait for it to finish
run = client.actor("santhej/google-ai-overview-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "queries": [
    "best crm for small business"
  ],
  "brandDomains": [
    "hubspot.com"
  ],
  "competitorDomains": [
    "salesforce.com",
    "zoho.com"
  ],
  "countryCode": "us",
  "languageCode": "en"
}' |
apify call santhej/google-ai-overview-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,santhej/google-ai-overview-tracker"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/gzu18OcsVuqEapySY/builds/AsynKIDATnzqXNV3e/openapi.json
