# Google AI Mode Tracker: Brand Mentions & Citations (`zaiq/google-ai-mode-tracker`) Actor

Google AI Mode's answer for your questions in 49 countries: the full answer, every cited site with its URL, the products it shows, and whether your brands are named or cited. $0.05 per answer; questions without AI Mode are free.

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

## Pricing

from $40.00 / 1,000 ai mode answers

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## Google AI Mode Tracker: is your brand in Google's AI Mode answers, and who gets cited?

Google's **AI Mode** answers searches like a chat assistant, and it is replacing the ten blue links for more and more questions. This Actor reads **Google AI Mode's answer** for each of your questions in **49 countries**: the **full answer**, **every site it cites** with its URL, the **products it shows** (with prices and sellers), and **whether your brands are named or cited**, in what order.

Built for **SEO and GEO teams**, **agencies**, **brand managers** and **e-commerce marketers** who track AI search visibility, alongside Google's AI Overviews and ChatGPT-style assistants.

### What you get

| Field | What it holds |
|---|---|
| Answer rows | `question`, `country`, `device`, `status`, `answer` (markdown), `citations` (position, URL, domain, title, kind), `citedDomains`, `products` (product, price, currency, seller, rating, reviews), `checkedAt` |
| Your brands | `brands`: named or not, mention rank, cited or not, cited position; `mentionedBrands` in order; `anyBrandCited` |
| SUMMARY | per brand and country: mention rate, citation share, average mention rank and cited position; the most-cited sites |

### What people use it for

- **AI search visibility:** how often Google's AI Mode names and cites you for the questions that matter
- **Citation building:** the sites AI Mode cites in your niche, to earn a place among them
- **Competitor tracking:** which brands AI Mode names first, by country
- **E-commerce:** the products and sellers AI Mode shows for shopping questions
- **GEO reporting:** before-and-after evidence for AI search optimisation work
- **Market research:** how Google's AI explains your category

### How to use it

1. Enter your **questions** and your **brands** (with their domains).
2. Pick the **countries** (and the device).
3. Click **Start**. Schedule it weekly to track your AI Mode share.

### Input

| Field | Example | Notes |
|---|---|---|
| Questions | `best crm for small business` | One per line |
| Your brands | `Brand \| brand.com` | The domain is matched in the cited sites |
| Countries | `US`, `GB` | 49 countries |
| Language | `en` | Optional; empty = the country's main language |
| Device | Desktop | Or mobile |
| Questions at once | `5` | Advanced |

### Output

Each result is one row in the run's dataset (download it as JSON, CSV, Excel, XML or HTML, or read it through the API). An example row (values shortened):

```json
{
  "question": "best crm for small business",
  "country": "US",
  "status": "ok",
  "answer": "For most small businesses, **Sample CRM** is the easiest start: ...",
  "citations": [
    {
      "position": 1,
      "url": "https://reviews.example.com/best-crm",
      "domain": "reviews.example.com",
      "title": "Best CRM 2026",
      "kind": "other"
    }
  ],
  "mentionedBrands": [
    "Sample CRM",
    "Another CRM"
  ],
  "anyBrandCited": true,
  "products": [],
  "checkedAt": "2026-10-13T09:00:00Z"
}
```

A record named `SUMMARY` in the run's key-value store says what each input returned, with any notes (for example an account that does not exist), what was charged and how much traffic the run used.

### Pricing

- **$0.05 per AI Mode answer** read with its citations, products and brand matches
- Questions Google answers without AI Mode, and failed requests, are free

What typical jobs cost at the list price:

| Job | Cost |
|---|---|
| 50 questions in one country | $2.50 |
| 50 questions in 3 countries, every week for a month | $30 |
| One question in 10 countries | $0.50 |

On Apify's Scale and Business plans the per-event prices are lower (Store discounts). Set **Maximum cost per run** and the Actor stops cleanly when it is reached: you never pay more than that.

### Tips

- Write questions as people type them into Google, including the comparison and buying ones.
- Give each brand its domain: citation matching is then exact.
- Run the same questions every week and read the trend: AI answers change often.

### Use it through the API

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("zaiq/google-ai-mode-tracker").call(run_input={"keywords": ["best crm for small business"], "brands": ["Sample CRM | samplecrm.com"], "countries": ["US"]})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)
```

**JavaScript**

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

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('zaiq/google-ai-mode-tracker').call({"keywords": ["best crm for small business"], "brands": ["Sample CRM | samplecrm.com"], "countries": ["US"]});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

**HTTP (one call, results back)**

```bash
curl -X POST 'https://api.apify.com/v2/acts/zaiq~google-ai-mode-tracker/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"keywords": ["best crm for small business"], "brands": ["Sample CRM | samplecrm.com"], "countries": ["US"]}'
```

### Integrations and schedules

- **Schedules:** run it every hour, day or week from the Apify Console (Schedules) and keep a history of results.
- **Make, Zapier, n8n, Google Sheets, Slack, Airtable:** connect it through Apify's integrations, or send each finished run to a **webhook**.
- **Datasets:** results stay in the run's dataset; export them or read them by API whenever you need them.

### Use it with AI agents (MCP)

Add Apify's MCP server (`https://mcp.apify.com`) to Claude, ChatGPT, Cursor, VS Code or any MCP client. The agent can find this Actor and run it for you: ask it for "whether Google's AI Mode names my brand for 'best crm for small business' in the US and UK, and which sites it cites". AI agents can also pay for runs directly through Apify's agentic payments.

### Limits

- AI Mode is read as a signed-out searcher in the chosen country; a signed-in user's history can change the answer.
- Countries where Google offers no AI Mode return no answer (free).

### FAQ

**Do I need a Google account or API key?**

No.

**How is this different from the AI Overview tracker?**

AI Overviews sit on top of normal results; AI Mode is Google's separate chat-style answer. They often cite different sites.

**Which countries?**

49, from the US and UK to Germany, India, Brazil and Japan.

**Are products included?**

Yes, when AI Mode shows product cards: name, price, seller, rating and reviews.

### Related Actors from Zaiq

- [ai-answer-tracker](https://apify.com/zaiq/ai-answer-tracker): ChatGPT, Perplexity, Gemini, Claude and Grok answers
- [ai-shopping-tracker](https://apify.com/zaiq/ai-shopping-tracker): which products AI assistants recommend
- [keyword-research](https://apify.com/zaiq/keyword-research): search volume and difficulty for the same questions

### Support

Questions, a site that changed, or a field you need? Open an issue on this Actor's **Issues** tab: we answer there, usually within a day.

***

Also found as: google ai mode tracker, google ai mode scraper, ai mode seo, ai search visibility, generative engine optimization, ai mode citations, brand visibility in google ai, aeo tracking.

# Actor input Schema

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

Questions or searches as people type them into Google AI Mode, one per line.

## `brands` (type: `array`):

Brands to look for: 'Brand' or 'Brand | brand.com' (the domain is matched in the cited sites).

## `countries` (type: `array`):

Two-letter country codes; each question is checked in each country.

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

Optional language code; empty = the country's main language.

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

AI Mode as seen on desktop or mobile.

## `maxConcurrency` (type: `integer`):

Answers read in parallel.

## Actor input object example

```json
{
  "keywords": [
    "best crm for small business",
    "how to choose a project management tool for a small team"
  ],
  "countries": [
    "US"
  ],
  "device": "desktop",
  "maxConcurrency": 5
}
```

# Actor output Schema

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

Dataset: one row per question x country.

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

Mention rate and citation share per brand, most-cited sites.

# 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": [
        "best crm for small business",
        "how to choose a project management tool for a small team"
    ],
    "countries": [
        "US"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("zaiq/google-ai-mode-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 = {
    "keywords": [
        "best crm for small business",
        "how to choose a project management tool for a small team",
    ],
    "countries": ["US"],
}

# Run the Actor and wait for it to finish
run = client.actor("zaiq/google-ai-mode-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 '{
  "keywords": [
    "best crm for small business",
    "how to choose a project management tool for a small team"
  ],
  "countries": [
    "US"
  ]
}' |
apify call zaiq/google-ai-mode-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,zaiq/google-ai-mode-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/IhAWJpwem9GcoUjEc/builds/EK7eg6vMoygq5Vbp7/openapi.json
