# LLM Mentions: Brand Share of Voice in ChatGPT & AI Overviews (`zaiq/llm-mentions-tracker`) Actor

Every recorded ChatGPT and Google AI Overview answer that mentions your brand, from 416 million real AI answers in 94 countries: the question, how you are named, the sites cited. Share of voice against up to 9 competitors, the questions they win without you, cited pages and a monthly trend.

- **URL**: https://apify.com/zaiq/llm-mentions-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 $6.40 / 1,000 ai 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

## LLM Mentions Tracker: your brand's share of voice in ChatGPT and Google AI Overviews

See **every recorded ChatGPT and Google AI Overview answer that mentions your brand**, from a database of **416.8 million real AI answers in 94 countries**: the question people asked, **the sentence where the AI names you**, **your position among the brands it names**, **the sites it cites** (and whether yours is one) and the monthly search volume behind each question. There are no prompts to write and no guessing which questions matter: these are the questions people asked.

Add competitors and get your **share of voice in AI answers**, plus the **questions where AI names a competitor and leaves you out**, ranked by search volume: your content gaps. Add your website to count **how many AI answers cite it**, and a **topic** (CRM, running shoes, VPN) to keep every count inside your market. Each run also lists the **pages AI cites most** in answers about you and a **month-by-month trend** since August 2025.

Built for **marketing and SEO teams**, **PR and brand managers**, **GEO/AEO agencies** and **AI agents**. Every run writes a one-page **AI visibility report** (open it from the run's **Output** tab) to read or send.

### What you get

| Field | What it holds |
|---|---|
| AI answers (dataset) | `type` (mentions-you, or competitor-only: names a competitor but not you), `brand`, `question`, `brandInQuestion`, `platform`, `model`, `aiSearchVolume`, `mentionContext` (the sentence that names the brand), `trackedBrandsInAnswer` (in order), `yourPosition`, `yourSiteCited`, `yourCitationRank`, `citedDomains`, `sources` (rank, title, site, link), `brandsNamed` and `fanOutQueries` (ChatGPT), `answer` (markdown), `alsoAskedAs` (other questions given the same answer, with their volume), `aiMonthlySearches`, `firstSeen`, `lastSeen` |
| Overview | answers that mention you, the monthly searches they reach, split by platform; the sites cited most; the brands named alongside you and their categories (ChatGPT) |
| Site citations | answers that cite your website (subdomains included), by platform, and the sites cited next to it |
| Share of voice | answers and searches reached for you and up to 9 competitors, each brand's share and rank, and the sites cited most for each |
| Competitor gaps | how many answers name each competitor but not you, and the top ones as rows |
| Cited pages | the pages AI cites most in answers about you, with answers and searches reached |
| Trend | answers mentioning you and searches reached, month by month since August 2025 (the current month marked as partial) |
| REPORT.html | all of the above on one page |

### What people use it for

- **AI share of voice:** how often AI names you against your competitors, on ChatGPT and on Google
- **Content gaps (GEO):** the high-volume questions where AI recommends a competitor and not you: write the page that answers them
- **Citation building:** the sites and pages AI trusts for your market: where to be listed, reviewed or published
- **Brand monitoring:** how AI describes you, in its own words, and whether people even asked about you
- **Reporting:** a monthly AI visibility report per client or brand, from a schedule
- **AI agents:** AI visibility numbers inside any workflow

### How to use it

1. Enter **your brand** (and **your website** to count citations).
2. Add up to **9 competitors** and, to keep counts in your market, a **topic**.
3. Pick the **country** and **platform**, set how many answers you want, and click **Start**. Open the **Report** from the Output tab.

### Input

| Field | Example | Notes |
|---|---|---|
| Your brand | `HubSpot` | As people write it |
| Your website | `hubspot.com` | Optional: counts and marks the answers that cite it |
| Competitors | `Salesforce`, `Pipedrive` | Up to 9 |
| Topic | `CRM` | Optional: every answer must also contain it |
| Country | `US` | 94 countries; ChatGPT answers: United States |
| AI platform | both | With both, the answer lists take half from each platform |
| AI answers mentioning you | `100` | Up to 5,000, highest search volume first |
| Answers naming a competitor but not you | `25` | Per competitor; 0 = skip |
| Cited pages | `20` | 0 = skip |
| Overview, share of voice, monthly trend | on | One database query each |
| Only questions that don't name the brand | off | Shows where AI brings the brand up by itself |
| Minimum searches a month | `0` | Leave out low-volume questions |
| Order of answers | highest search volume | Or most recently recorded |

### 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
{
  "type": "mentions-you",
  "brand": "HubSpot",
  "question": "solution help desk",
  "brandInQuestion": false,
  "platform": "Google AI Overview",
  "aiSearchVolume": 301000,
  "mentionContext": "Best for CRM & Sales: Salesforce Service Cloud and HubSpot Service Hub excel at linking CRM data to customer service for personalized support.",
  "trackedBrandsInAnswer": [
    "Salesforce",
    "HubSpot"
  ],
  "yourPosition": 2,
  "yourSiteCited": false,
  "citedDomains": [
    "www.solarwinds.com",
    "www.sysaid.com",
    "www.helpdesk.com",
    "www.kustomer.com",
    "www.techradar.com"
  ],
  "sources": [
    {
      "rank": 1,
      "title": "IT Help Desk Software - SolarWinds",
      "domain": "www.solarwinds.com",
      "url": "https://www.solarwinds.com/solutions/it-help-desk",
      "sourceName": "SolarWinds"
    }
  ],
  "answer": "...",
  "firstSeen": "2025-09-11",
  "lastSeen": "2026-04-18",
  "country": "US",
  "language": "en"
}
```

The run's key-value store also holds `SUMMARY` (the overview, site citations, share of voice, competitor gaps, cited pages and trend as JSON, with notes and what was charged) and `REPORT.html`, the same as a web page (the **Report** link in the Output tab). In a run on 13 October 2026 (United States, both platforms, no topic) HubSpot was in 53,323 recorded AI answers (45,178 Google AI Overviews, 8,145 ChatGPT answers), against 103,176 for Salesforce: a 34% share of voice. Its monthly count rose from 7,112 in August 2025 to 16,997 in September 2026.

### Pricing

- **$0.008 per AI answer** written ($8 per 1,000)
- **$0.40 per database query**: the overview, site citations, share of voice, cited pages and trend are one query each; each competitor's gap list is one query; answers come up to 1,000 a query (with both platforms: one query each)
- **$0.004 per cited page** in the cited-pages list
- Sections you switch off cost nothing, and neither does a query that fails

What typical jobs cost at the list price:

| Job | Cost |
|---|---|
| Overview only | $0.40 |
| Share of voice against 9 competitors only | $0.40 |
| Overview and 100 answers mentioning you (both platforms) | $2.00 |
| The form's example (site, 2 competitors, topic, 20 answers, 10 gaps each, 10 cited pages, trend) | $3.96 |
| 5 competitors, 100 answers, 25 gaps each, 20 cited pages, site, trend | $6.68 |
| 1,000 ChatGPT answers mentioning you | $8.40 |

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

- Use a topic. Without one a brand counts wherever it is named: the 13 October run counted 83,018 answers that name Salesforce and not HubSpot, many about the Salesforce Tower or the CRM share price.
- Turn on 'Only questions that don't name the brand' to see where AI brings you up unprompted: that is the number GEO work moves.
- The competitor-only rows are a content brief: each has the question, the brands AI named instead and the sources it relied on.
- Schedule it monthly. The database adds answers continuously and refreshes in full about every 60 days; compare share of voice in SUMMARY run by run.

### Use it through the API

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("zaiq/llm-mentions-tracker").call(run_input={"brand": "HubSpot", "domain": "hubspot.com", "competitors": ["Salesforce", "Pipedrive"], "topic": "CRM", "maxMentions": 20})
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/llm-mentions-tracker').call({"brand": "HubSpot", "domain": "hubspot.com", "competitors": ["Salesforce", "Pipedrive"], "topic": "CRM", "maxMentions": 20});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

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

```bash
curl -X POST 'https://api.apify.com/v2/acts/zaiq~llm-mentions-tracker/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{"brand": "HubSpot", "domain": "hubspot.com", "competitors": ["Salesforce", "Pipedrive"], "topic": "CRM", "maxMentions": 20}'
```

### 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 "how often ChatGPT and Google AI Overviews mention our brand compared with our three main competitors, and which questions they win without us". AI agents can also pay for runs directly through Apify's agentic payments.

### Limits

- These are recorded answers to questions people asked, not live prompts. To check your own prompts live, use the AI Visibility Tracker (below).
- ChatGPT answers are recorded for the United States in English; Google AI Overview answers cover 94 countries.
- Brand names are matched as words ("Apple" also finds the fruit): use the full brand name and a topic, and check `mentionContext`.
- Brands named alongside you and fan-out queries come from ChatGPT answers only.
- Apify's free plan: how many AI answers mention you, and the top 10 (one query).

### FAQ

**How is this different from tools that prompt ChatGPT?**

Prompt trackers ask the questions you write. This reads the answers to questions people actually asked, across millions of them, with the search volume behind each. Use both: our AI Visibility Tracker runs your own prompts live.

**Where does the data come from?**

A search-data provider's database of recorded ChatGPT and Google AI Overview answers: 416.8 million answers in 94 countries in October 2026, with questions, full answers, cited sources and search volume.

**What does 'searches reached' mean?**

The monthly search volume of the questions behind the answers, added up. For Google AI Overviews it is the question's Google search volume; for ChatGPT it is modelled from People Also Ask data.

**Do I need a ChatGPT or OpenAI account?**

No account and no API key.

**How many brands can I compare?**

You and up to 9 competitors in share of voice. The answers list and cited pages are for your brand; the gap rows are per competitor.

**Can I track another country?**

Yes: choose any of 94 countries (Google AI Overview answers in the country's languages). ChatGPT answers are recorded for the United States.

### Related Actors from Zaiq

- [ai-answer-tracker](https://apify.com/zaiq/ai-answer-tracker): your own prompts, live, in ChatGPT, Perplexity, Gemini, Claude and Grok
- [ai-search-volume](https://apify.com/zaiq/ai-search-volume): how often keywords are used in AI search, and the questions people ask
- [google-ai-mode-tracker](https://apify.com/zaiq/google-ai-mode-tracker): Google AI Mode's answers for your questions
- [keyword-research](https://apify.com/zaiq/keyword-research): Google search volume, CPC and difficulty

### 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: llm mentions, ai brand mentions, chatgpt brand mentions, ai share of voice, ai visibility, generative engine optimization, geo tool, aeo tool, ai overview tracking, brand monitoring in ai, ai citations, profound alternative, peec ai alternative, otterly alternative.

# Actor input Schema

## `brand` (type: `string`):

The name people use for your company or product, as it appears in AI answers.

## `domain` (type: `string`):

Optional. Counts the AI answers that cite your site and marks each answer where it is cited (subdomains included).

## `competitors` (type: `array`):

Up to 9 competitor names, one per line: share of voice, and the questions where AI names them but not you.

## `topic` (type: `string`):

Optional word or phrase every answer must also contain, such as your category (CRM, running shoes, VPN). Without it a brand counts everywhere it is named: Salesforce Tower, a CRM stock quote. Applies to every section.

## `country` (type: `string`):

Google AI Overview answers exist for all 94 countries; ChatGPT answers for the United States (English).

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

Optional language code or name (en, es, de...). Empty = the country's main language.

## `platform` (type: `string`):

Which AI answers to count. With both, the answers lists take half from ChatGPT and half from Google AI Overviews (one query each).

## `maxMentions` (type: `integer`):

How many answers to write (one dataset row each), highest search volume first; with both platforms, half from each. 0 = none.

## `maxCompetitorOnlyAnswers` (type: `integer`):

Your content gaps: the highest-volume questions where AI recommends a competitor and leaves you out. 0 = skip.

## `maxCitedPages` (type: `integer`):

The pages AI cites most in answers that mention you (in SUMMARY and the report). 0 = skip.

## `includeOverview` (type: `boolean`):

Total answers mentioning you, searches they reach, split by platform, the sites cited most and the brands named alongside you.

## `includeShareOfVoice` (type: `boolean`):

You against your competitors: answers and searches reached, with each brand's share. Needs competitors.

## `includeTrend` (type: `boolean`):

Answers mentioning you and searches reached, month by month since August 2025.

## `unbrandedOnly` (type: `boolean`):

Leave out questions that already contain the brand's name ("is X any good?"), so every count shows where AI brings the brand up by itself. Applies to every section.

## `minAiSearchVolume` (type: `integer`):

Only answers to questions with at least this monthly search volume.

## `sortBy` (type: `string`):

Which answers come first when there are more than you ask for.

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

The AI's whole answer (markdown) in each row. Off keeps rows small; the sentence that mentions the brand is always included.

## Actor input object example

```json
{
  "brand": "HubSpot",
  "domain": "hubspot.com",
  "competitors": [
    "Salesforce",
    "Pipedrive"
  ],
  "topic": "CRM",
  "country": "US",
  "platform": "all",
  "maxMentions": 20,
  "maxCompetitorOnlyAnswers": 10,
  "maxCitedPages": 10,
  "includeOverview": true,
  "includeShareOfVoice": true,
  "includeTrend": true,
  "unbrandedOnly": false,
  "minAiSearchVolume": 0,
  "sortBy": "aiSearchVolume",
  "includeAnswerText": true
}
```

# Actor output Schema

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

Dataset: the results.

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

What each input returned, and notes.

## `report` (type: `string`):

A one-page view of the results to open in a browser.

# 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 = {
    "brand": "HubSpot",
    "domain": "hubspot.com",
    "competitors": [
        "Salesforce",
        "Pipedrive"
    ],
    "topic": "CRM",
    "maxMentions": 20,
    "maxCompetitorOnlyAnswers": 10,
    "maxCitedPages": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("zaiq/llm-mentions-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 = {
    "brand": "HubSpot",
    "domain": "hubspot.com",
    "competitors": [
        "Salesforce",
        "Pipedrive",
    ],
    "topic": "CRM",
    "maxMentions": 20,
    "maxCompetitorOnlyAnswers": 10,
    "maxCitedPages": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("zaiq/llm-mentions-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 '{
  "brand": "HubSpot",
  "domain": "hubspot.com",
  "competitors": [
    "Salesforce",
    "Pipedrive"
  ],
  "topic": "CRM",
  "maxMentions": 20,
  "maxCompetitorOnlyAnswers": 10,
  "maxCitedPages": 10
}' |
apify call zaiq/llm-mentions-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,zaiq/llm-mentions-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/XZDTdjhs0TZNwwWl0/builds/oQcbsQ5vhTCheWwkW/openapi.json
