# Google AI Overviews Checker - Citations & Domain Tracker (`tenfoldfleet/google-ai-overviews-checker`) Actor

Check if Google shows an AI Overview for your keywords and whether your website is cited in it: overview text, cited sources in order, your citation position and organic rank, plus the same flags for competitors. 94 countries. $4 per 1,000 keywords; failed keywords free.

- **URL**: https://apify.com/tenfoldfleet/google-ai-overviews-checker.md
- **Developed by:** [Tenfold Fleet](https://apify.com/tenfoldfleet) (community)
- **Categories:** SEO tools, Marketing, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 keyword checkeds

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

*Independent tool. Not affiliated with Google.*

### What does Google AI Overviews Checker do?

**Google AI Overviews Checker** tells you, for every keyword you give it, whether Google shows an **AI Overview** on the results page, **which websites the AI Overview cites**, and whether **your own domain is one of them**. Each keyword comes back as one flat row: AI Overview yes/no, the overview text, every cited source in order, **your citation position**, **your organic rank** on the same page, and the same cited / position / rank flags for up to 20 **competitor domains**.

Use it as an **AI Overview tracker API** for SEO and GEO (generative engine optimization) reporting: run the same keyword list every week and see which queries now show an AI answer, who Google quotes, and whether you are gaining or losing citations. It covers **94 countries**, any search language Google offers there, and **desktop or mobile** results.

You pay **$4 per 1,000 keywords checked**. Failed keywords are free.

### Why use an AI Overview citation checker?

- 🎯 **Track your AI visibility**: see on which keywords Google's AI answer cites your site, and at which position, next to your classic organic rank.
- 🥊 **Benchmark competitors**: one row tells you which of your competitors are cited and where they rank, so you can spot queries where they win the AI answer and you do not.
- 📉 **Explain traffic drops**: find keywords where an AI Overview now sits above your organic result.
- ✍️ **Content planning**: read the overview text and the sources Google trusts before you write or update a page.
- 📊 **Client reports**: export a CSV or Excel sheet per week and chart AI Overview coverage and citation share.
- 🤖 **Automation and AI agents**: call it from the API, Make, Zapier, n8n or the Apify MCP server.

### How is it different from other AI Overview scrapers?

Most AI Overview scrapers return the raw overview and leave the analysis to you. This checker does the matching for you: **one row per keyword** holds the cited / not-cited flag for your domain, its **citation position**, its **organic rank**, and the same flags for each competitor. You do not have to join tables or parse source lists yourself.

A keyword where Google shows **no AI Overview** is a full, tracked result too (`hasAiOverview: false`, plus your organic rank and the top 10 results). Knowing that a query has no AI answer is half of what a tracker is for, so it is billed like any other checked keyword.

### What data does it return?

| Field | Example | Description |
|---|---|---|
| `keyword` | `how to lower cholesterol naturally` | Your keyword |
| `hasAiOverview` | `true` | Google showed an AI Overview for this search |
| `aiOverviewText` | `To lower cholesterol naturally, focus on...` | Plain text of the AI Overview (up to 6,000 characters) |
| `citationCount` | `10` | Number of sources the AI Overview cites |
| `citedDomains` | `["mayoclinic.org", "heart.org", ...]` | Cited domains, in order |
| `citations` | `[{ "position": 1, "domain": "mayoclinic.org", "url": "...", "title": "..." }]` | Every cited source with its position |
| `targetCited` | `true` | Your domain is cited in the AI Overview |
| `targetCitationPosition` | `3` | Position of your first citation (1 = first source) |
| `targetCitedUrl` | `https://www.heart.org/...` | Your cited page |
| `targetOrganicRank` / `targetOrganicUrl` | `5` | Your best organic position in the top 10 |
| `competitors` | `[{ "domain": "mayoclinic.org", "cited": true, "citationPosition": 1, "organicRank": null }]` | The same flags for each competitor |
| `competitorsCited` | `["mayoclinic.org"]` | Competitors the AI Overview cites |
| `organicResults` | `[{ "rank": 1, "domain": "scripps.org", ... }]` | Top 10 organic results |
| `serpFeatures` | `["ai_overview", "organic", "people_also_ask"]` | Result types on the page |
| `location` / `language` / `device` | `United States` / `English` / `desktop` | Search settings |
| `googleUrl` / `checkedAt` | | The Google search URL and the time of the check |
| `error` | `null` | Why a keyword was not checked (free rows only) |

### How to check Google AI Overviews for your keywords

1. Click **Try for free**.
2. Paste your keywords into **Keywords**, one per line.
3. Optional: enter **Your domain** (for example `heart.org`) and a few **Competitor domains**.
4. Pick a **Country**, **Language** and **Device** (default: United States, English, desktop).
5. Click **Start**. A short list usually finishes in one to two minutes. Long lists are queued in batches and take longer.
6. Download the results as **CSV, Excel, JSON or HTML**, or read them through the API.

### How much does it cost?

This Actor uses **pay-per-event** pricing:

- **$0.004 per keyword checked** ($4 per 1,000), with or without an AI Overview.
- $0.00005 per run start.
- **Free**: keywords that fail, time out or are skipped (they come back with an `error` field and no charge).

Duplicate keywords are removed before checking (ignoring case), so you never pay twice for the same search in one run. If you set a maximum cost per run, the Actor only checks as many keywords as that budget covers and lists the rest as not checked, free.

**Free Apify plan: 5 keywords per run.** Every check costs the developer a data fee, so runs on the free Apify plan check the first 5 keywords and return the rest as free rows marked as not checked. Any paid Apify plan checks every keyword. This limit is set by the Actor developer, not by Apify.

### Input

```json
{
    "keywords": ["how to lower cholesterol naturally", "what is a roth ira", "best time to visit japan"],
    "targetDomain": "heart.org",
    "competitorDomains": ["mayoclinic.org", "nerdwallet.com"],
    "location": "United States",
    "language": "English",
    "device": "desktop"
}
```

Countries and languages accept names or codes (`"US"`, `"GB"`, `"de"`). Domains can be pasted as URLs; `https://`, `www.` and paths are stripped, and subdomains count as your site.

### Output

```json
{
    "keyword": "how to lower cholesterol naturally",
    "location": "United States",
    "language": "English",
    "device": "desktop",
    "hasAiOverview": true,
    "aiOverviewText": "To lower cholesterol naturally, focus on heart-healthy dietary adjustments, regular physical activity...",
    "citationCount": 10,
    "citedDomains": ["mayoclinic.org", "coscardiology.com", "heart.org", "youtube.com", "henryford.com"],
    "citations": [
        { "position": 1, "domain": "mayoclinic.org", "url": "https://www.mayoclinic.org/diseases-conditions/high-blood-cholesterol/in-depth/reduce-cholesterol/art-20045935", "title": "Top 5 lifestyle changes to improve your cholesterol - Mayo Clinic", "source": "Mayo Clinic" }
    ],
    "targetDomain": "heart.org",
    "targetCited": true,
    "targetCitationPosition": 3,
    "targetCitedUrl": "https://www.heart.org/en/healthy-living/healthy-lifestyle/lifes-essential-8/how-to-control-cholesterol-fact-sheet",
    "targetOrganicRank": null,
    "targetOrganicUrl": null,
    "competitorsCited": ["mayoclinic.org"],
    "competitors": [
        { "domain": "mayoclinic.org", "cited": true, "citationPosition": 1, "organicRank": null },
        { "domain": "nerdwallet.com", "cited": false, "citationPosition": null, "organicRank": null }
    ],
    "organicResults": [{ "rank": 1, "domain": "scripps.org", "url": "https://www.scripps.org/...", "title": "How to Lower Cholesterol Without Medication" }],
    "serpFeatures": ["ai_overview", "organic", "people_also_ask", "discussions_and_forums", "related_searches"],
    "checkedAt": "2026-10-17T05:43:42.000Z",
    "error": null
}
```

You can download the dataset as **JSON, CSV, Excel, XML or HTML**. The **Overview** table view shows one line per keyword with the AI Overview flag, your citation and rank, and the competitors cited.

### Tips

- **Track over time**: save the run as a task and schedule it weekly; AI Overviews change often, so trends say more than a single check.
- **Mobile vs desktop**: Google can show a different AI Overview (or none) on mobile. Run both if mobile traffic matters to you.
- **Question keywords** ("how to", "what is", "best time to") trigger AI Overviews far more often than product or brand searches.
- **Citation position 1** means your page is the first source Google lists for its AI answer.

### FAQ

#### Does a keyword without an AI Overview cost anything?

Yes, $0.004 like any checked keyword. The Actor still searched Google and returns your organic rank, the top 10 results and the confirmed absence of an AI Overview, which is what you track. Failed or timed-out keywords are free.

#### How is the citation position counted?

Sources are numbered in the order the AI Overview presents them: first the source list Google shows next to the answer, then sources attached to each paragraph, then links inside the text. Each URL is counted once.

#### Can I check many keywords at once?

Yes. Keywords are queued in batches of up to 2,000 and collected as soon as Google's results are ready. Keywords that cannot be checked before the run's timeout come back as free rows, so set a longer timeout for very long lists.

#### Is it legal to check Google search results?

The Actor only reads publicly visible search result pages and does not log in to any account. You are responsible for how you use the data. If you have questions about your use case, consult a lawyer.

#### Something is missing or wrong?

Open an issue on the Actor's **Issues** tab on Apify and it will be looked at quickly.

### More tools from Tenfold Fleet

| Actor | Output |
|---|---|
| [AliExpress Keyword Scraper - Exact Sold Counts by Search Term](https://apify.com/tenfoldfleet/aliexpress-search-scraper) | product |
| [Amazon Product Scraper - Details, Prices & Search by ASIN](https://apify.com/tenfoldfleet/amazon-product-scraper) | product |
| [ATS Jobs Scraper - Greenhouse, Lever, Ashby & 5 More](https://apify.com/tenfoldfleet/ats-jobs-scraper) | job posting |
| [Backlinks Checker - Referring Domains, Anchors & Domain Rank](https://apify.com/tenfoldfleet/backlinks-checker) | backlink |
| [Bilibili Scraper - Videos, Comments, Danmaku & Search](https://apify.com/tenfoldfleet/bilibili-scraper) | video or comment |
| [Businesses Without Websites - Local Leads with Phone & Rating](https://apify.com/tenfoldfleet/businesses-without-websites) | lead |
| [Contact Details Scraper - One Lead Record per Company Website](https://apify.com/tenfoldfleet/company-contact-finder) | website with contacts |
| [Google Ads Transparency Center Scraper - Competitor Ads by Site](https://apify.com/tenfoldfleet/google-ads-transparency-scraper) | ad |
| [Google Jobs Scraper - Salary, Apply Links & Posting Dates](https://apify.com/tenfoldfleet/google-jobs-scraper) | job listing |
| [Google Keyword Planner Alternative - Ideas, Bids & Volume](https://apify.com/tenfoldfleet/google-keyword-planner) | keyword idea |
| [Google News Scraper - Articles, Real URLs & Full Text](https://apify.com/tenfoldfleet/google-news-scraper) | article |
| [Google Trends Scraper - Interest, Regions & Related Queries](https://apify.com/tenfoldfleet/google-trends-scraper) | keyword |
| [Keyword Ideas & Related Keywords - Difficulty, Volume & CPC](https://apify.com/tenfoldfleet/keyword-ideas) | keyword idea |
| [Keyword Search Volume, CPC & Difficulty Checker (Bulk)](https://apify.com/tenfoldfleet/keyword-search-volume) | keyword with data |
| [Remote Job Board Scraper - Remote Jobs Aggregator, 7 Sites](https://apify.com/tenfoldfleet/remote-jobs-aggregator) | unique remote job |
| [SEEK Job Scraper - Australia, NZ, Jobstreet & JobsDB](https://apify.com/tenfoldfleet/seek-job-scraper) | job listing |
| [SEO Audit Tool - Technical On-Page SEO Checker & Score](https://apify.com/tenfoldfleet/seo-audit-tool) | page audit |
| [SEO Competitor Keywords - Domain Ranked Keywords & Keyword Gap](https://apify.com/tenfoldfleet/seo-competitor-keywords) | keyword |
| [Shopify Inventory Scraper - SKUs, Variants & In-Stock Status](https://apify.com/tenfoldfleet/shopify-products-scraper) | product |
| [Shopify App & Theme Detector - Store Analyzer & Contacts](https://apify.com/tenfoldfleet/shopify-store-analyzer) | shopify store |
| [Sitemap URL Extractor - All URLs from sitemap.xml & robots.txt](https://apify.com/tenfoldfleet/sitemap-url-extractor) | url |
| [Technology Detector - Wappalyzer & BuiltWith Alternative](https://apify.com/tenfoldfleet/tech-stack-detector) | website |
| [URL to Markdown - Web Page to LLM-Ready Text for AI Agents](https://apify.com/tenfoldfleet/url-to-markdown) | page |
| [Website Traffic Checker - Bulk Domain Traffic Estimate](https://apify.com/tenfoldfleet/website-traffic-checker) | domain with traffic data |
| [Workday Jobs Scraper - myworkdayjobs.com API with Salary](https://apify.com/tenfoldfleet/workday-jobs-scraper) | job posting |
| [YouTube Livestream & Channel Scraper - Videos, Likes & Stats](https://apify.com/tenfoldfleet/youtube-channel-scraper) | video |
| [YouTube Comments Scraper - Replies, Likes & Sort by Newest](https://apify.com/tenfoldfleet/youtube-comments-scraper) | comment |
| [YouTube Shorts Analytics Scraper - Views, Likes & Hashtags](https://apify.com/tenfoldfleet/youtube-shorts-scraper) | short |
| [YouTube Captions Downloader - Transcript & Subtitles Scraper](https://apify.com/tenfoldfleet/youtube-transcript-scraper) | transcript |

# Actor input Schema

## `keywords` (type: `array`):

Google searches to check, one per line. Duplicates are removed (ignoring case). A short list usually finishes in one to two minutes.

## `targetDomain` (type: `string`):

Optional. The site you want to track, e.g. "heart.org". Each row then says whether the AI Overview cites it, at which position, and its organic rank. Subdomains count (blog.example.com matches example.com).

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

Optional. Up to 20 competitor domains. Each row gets cited / citation position / organic rank for every competitor.

## `location` (type: `string`):

Country of the Google search. A country name or 2-letter code works ("United States", "US", "GB", "Germany"); 94 countries.

## `language` (type: `string`):

Search language, as a name or code ("English", "en", "de"). If the language is not available for the chosen country, the country's main language is used instead.

## `device` (type: `string`):

Desktop or mobile Google results. AI Overviews can differ between the two.

## Actor input object example

```json
{
  "keywords": [
    "how to lower cholesterol naturally",
    "what is a roth ira",
    "best time to visit japan"
  ],
  "targetDomain": "heart.org",
  "competitorDomains": [
    "mayoclinic.org",
    "nerdwallet.com"
  ],
  "location": "United States",
  "language": "English",
  "device": "desktop"
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "keywords": [
        "how to lower cholesterol naturally",
        "what is a roth ira",
        "best time to visit japan"
    ],
    "targetDomain": "heart.org",
    "competitorDomains": [
        "mayoclinic.org",
        "nerdwallet.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("tenfoldfleet/google-ai-overviews-checker").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 = {
    "keywords": [
        "how to lower cholesterol naturally",
        "what is a roth ira",
        "best time to visit japan",
    ],
    "targetDomain": "heart.org",
    "competitorDomains": [
        "mayoclinic.org",
        "nerdwallet.com",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("tenfoldfleet/google-ai-overviews-checker").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 '{
  "keywords": [
    "how to lower cholesterol naturally",
    "what is a roth ira",
    "best time to visit japan"
  ],
  "targetDomain": "heart.org",
  "competitorDomains": [
    "mayoclinic.org",
    "nerdwallet.com"
  ]
}' |
apify call tenfoldfleet/google-ai-overviews-checker --silent --output-dataset

```

## MCP server setup

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

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/zHVfWr3j0RzxerGJh/builds/tVYTuAgvumpegOuzB/openapi.json
