# AI Brand Visibility Tracker (ChatGPT, Perplexity & Gemini) (`fayoussef/ai-brand-visibility-tracker`) Actor

Is AI recommending you or your competitors? Track brand mentions, ranking position, sentiment, share of voice and cited sources in ChatGPT, Perplexity, Gemini, Claude & Grok answers for the questions your buyers ask. GEO / AEO / LLM SEO monitoring — no OpenAI or Anthropic API key needed.

- **URL**: https://apify.com/fayoussef/ai-brand-visibility-tracker.md
- **Developed by:** [youssef farhan](https://apify.com/fayoussef) (community)
- **Categories:** AI, SEO tools, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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

### What does AI Brand Visibility Tracker do?

**AI Brand Visibility Tracker** checks whether **ChatGPT, Perplexity, Google Gemini, Claude and Grok recommend your brand** — or your competitors — when buyers ask them questions like *"what's the best CRM for small business?"*. It asks each AI platform your buyer questions with **live web search**, then reports **brand mentions, ranking position, sentiment, recommendation strength, share of voice and the exact sources the AI cited** — the core metrics of **Generative Engine Optimization (GEO)**, **Answer Engine Optimization (AEO)** and **LLM SEO**.

AI search is where your customers make decisions in 2026. This Actor gives you the same brand-visibility monitoring that GEO platforms charge $99–$500/month for, at pay-per-result prices, with everything Apify includes for free: **API access, scheduling, webhooks, integrations (Google Sheets, Slack, Zapier, Make) and run monitoring**. No OpenAI, Anthropic, Google or Perplexity **API key needed** — it just works.

### Why track your brand visibility in AI search?

- **Find out if AI recommends you** — a growing share of buying decisions start with a ChatGPT or Perplexity question, not a Google search. If AI never names you, you're invisible to those buyers.
- **See who AI recommends instead** — every check lists the competitors mentioned in the answer and computes your **share of voice**.
- **Win citations** — the report shows which websites the AI cited, and whether **your own domain** was one of them. Those source pages are your GEO link-building targets.
- **Measure your GEO/AEO work** — schedule the Actor weekly and track your **visibility score** over time to prove your AI SEO efforts are working.
- **Agency reporting** — run it for every client brand and export a white-label-ready CSV or Excel report.
- **Prompt-level insight** — sentiment and a 0–10 recommendation strength per answer show *how* AI talks about you, not just *if*.

### How to check if ChatGPT recommends your brand

1. Click **Try for free** — you get $5 of free Apify credits, no credit card needed.
2. Enter your **brand name** (e.g. `Notion`) and optionally your **domains** and **competitors**.
3. Enter the **questions your buyers ask AI** — "best X for Y", "X vs Y", "top X tools in 2026".
4. Pick the **AI platforms** to test (ChatGPT, Perplexity, Gemini, Claude, Grok).
5. Click **Start** and open the **Output** tab. Download results as JSON, CSV, Excel or HTML, or read the aggregated summary report.
6. Optional: **Schedule** the Actor to run weekly and connect a Slack or Google Sheets integration to build a living GEO dashboard.

### Input

Everything is a simple form — see the **Input** tab for all fields.

```json
{
    "brand_name": "Notion",
    "brand_domains": ["notion.so"],
    "competitors": ["Confluence", "Coda", "Obsidian"],
    "queries": [
        "What is the best note-taking app for teams?",
        "Notion vs Confluence — which should my company use?"
    ],
    "platforms": ["chatgpt", "perplexity", "gemini"]
}
```

### Output

One row per **(query × platform × run)**, plus a `SUMMARY` record with the aggregated visibility score, share of voice and per-platform breakdown. Download everything as **JSON, CSV, Excel or HTML**.

```json
{
    "query": "What is the best note-taking app for teams?",
    "platform": "Perplexity",
    "brandName": "Notion",
    "brandMentioned": true,
    "mentionPosition": 1,
    "sentiment": "positive",
    "recommendationStrength": 9,
    "brandQuote": "Notion is the most popular all-in-one workspace for team notes and docs.",
    "competitorsMentioned": ["Confluence", "Coda"],
    "citedSources": ["https://www.techradar.com/best/best-note-taking-app", "https://notion.so"],
    "brandDomainCited": true,
    "answerText": "For team note-taking, the top options are Notion, Confluence...",
    "checkedAt": "2026-07-18T12:00:00+00:00"
}
```

### Data fields

| Field | Description |
|---|---|
| `brandMentioned` | Whether the AI answer names your brand |
| `mentionPosition` | Where your brand ranks among all brands named (1 = first) |
| `sentiment` | positive / neutral / negative / not\_mentioned |
| `recommendationStrength` | 0–10 — how strongly the answer recommends you |
| `competitorsMentioned` | Tracked competitors that appear in the answer |
| `citedSources` | The URLs the AI cited — your GEO outreach targets |
| `brandDomainCited` | Whether your own website was cited as a source |
| `answerText` | The full AI answer, for auditing |
| `SUMMARY` (key-value store) | Visibility score %, share of voice %, sentiment breakdown, per-platform stats |

### How much does AI brand monitoring cost?

You pay per result — a fraction of a cent per check — instead of a $99–$500/month GEO SaaS subscription. A typical weekly audit (10 queries × 3 platforms) costs well under a dollar. **Free plan users** can check up to 3 queries on 2 platforms per run; subscribe to any [Apify plan](https://apify.com/pricing?fpr=youssef) to unlock all 5 platforms, unlimited queries and multi-run sampling.

### Tips for accurate AI visibility tracking

- Use **buying-intent questions**, not brand questions — ask *"best CRM for startups"*, not *"what is HubSpot"*.
- Add **all spellings** of competitor names so share of voice is accurate.
- Set **Runs per query** to 2–3: AI answers vary, and multiple samples make your visibility score statistically meaningful.
- **Schedule weekly** and chart `visibilityScore` over time — that's your GEO KPI.
- AI agents can call this Actor directly via the **Apify MCP server** — ask your agent to "check my brand's AI visibility" and it can run this Actor and read the summary.

### FAQ — AI brand visibility, GEO and AEO

**What is GEO (Generative Engine Optimization)?**
GEO is the practice of optimizing your brand and content so AI answer engines like ChatGPT, Perplexity and Google AI Overviews mention, recommend and cite you. This Actor measures your GEO performance.

**How do I know if ChatGPT mentions my brand?**
Enter your brand and your buyers' questions, run the Actor, and check the `brandMentioned` column and the visibility score in the summary. Each row includes the full answer as proof.

**Which AI platforms does it check?**
ChatGPT (GPT-4o with search), Perplexity Sonar, Google Gemini 2.5, Claude Haiku 4.5 and Grok — all with live web search, so answers reflect what real users see today.

**Do I need an OpenAI or Anthropic API key?**
No. The Actor routes all model calls through Apify's built-in model service and bills them to your Apify account — zero setup.

**Can I use my own OpenRouter API key?**
Yes, optionally. Leave the field empty to use the built-in service (recommended, no key needed). Or paste your own OpenRouter API key (from https://openrouter.ai/keys) in the **Your OpenRouter API key** input, and every model call goes directly to OpenRouter, billed to your OpenRouter account instead of your Apify usage — handy if you already have OpenRouter credits or want specific model access.

**Can I track competitors' AI visibility too?**
Yes — add them to the competitors list, and every answer reports which ones were mentioned plus your share of voice against them. You can also run the Actor again with a competitor as the main brand.

**Is this legal?**
Yes. The Actor simply asks public AI assistants questions and analyzes the answers — the same thing any user does manually. It scrapes no websites and collects no personal data.

### Support & custom solutions

Found an issue or want an extra platform, metric or export? Open the **Issues** tab — I respond fast (>99% run success across my Actors). 💼 Need a **custom GEO monitoring pipeline or any custom scraper**? Reach out at **youssefarhan24@gmail.com**. 🌐 Got a site or tool in mind? [Suggest it here](https://automationbyexperts.com/apify).

# Actor input Schema

## `brand_name` (type: `string`):

The brand, product or company name to track in AI answers. Exactly as it is normally written, e.g. "Notion" or "HubSpot".

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

The questions your potential customers ask ChatGPT / Perplexity / Gemini. One question per line. Tip: use buying-intent questions like "best X for Y", "X vs Y which is better", "top X tools in 2026".

⚡ Unlock full pages and higher limits by subscribing to an [Apify plan](https://apify.com/pricing?fpr=youssef).
💼 Need a custom solution? Reach out at youssefarhan24@gmail.com
🌐 Got a site in mind? [Suggest it here](https://automationbyexperts.com/apify)

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

Competitor brand names to track alongside yours. Used to compute share of voice and to show who AI recommends instead of you.

## `brand_domains` (type: `array`):

Your domains, e.g. notion.so. Used to detect when the AI cites YOUR website as a source — the strongest GEO signal.

## `platforms` (type: `array`):

Which AI answer engines to test. Each platform answers every query with live web search. Free plan users are limited to the first 2 selected.

## `runs_per_query` (type: `integer`):

AI answers vary between runs. Run each (query × platform) check 2–3 times for a more reliable visibility score. Paid plans only.

## `concurrency` (type: `integer`):

How many checks to run in parallel.

## `max_retries` (type: `integer`):

Automatic retries on HTTP 429 / 5xx errors before giving up on a check.

## `openrouter_api_key` (type: `string`):

Optional — leave empty and it just works. By default the Actor uses Apify's built-in model service, so NO key is required. If you'd rather use your OWN OpenRouter account (your own credits, rate limits and model access), paste your OpenRouter API key here (starts with 'sk-or-'). Get one at https://openrouter.ai/keys. When set, every model call goes directly to OpenRouter and is billed to your OpenRouter account instead of your Apify usage.

## `apify_token` (type: `string`):

Defaults to the run's own APIFY\_TOKEN. Override only if you want to bill a different Apify account. Ignored when you provide your own OpenRouter API key.

## Actor input object example

```json
{
  "brand_name": "Notion",
  "queries": [
    "What is the best note-taking app for teams?",
    "Best project management and docs tool for startups in 2026?",
    "Notion vs Confluence — which should my company use?"
  ],
  "competitors": [
    "Confluence",
    "Coda",
    "Obsidian"
  ],
  "brand_domains": [
    "notion.so"
  ],
  "platforms": [
    "chatgpt",
    "perplexity",
    "gemini"
  ],
  "runs_per_query": 1,
  "concurrency": 4,
  "max_retries": 2
}
```

# Actor output Schema

## `checks` (type: `string`):

All visibility checks: brand mentioned, position, sentiment, competitors, cited sources and the full AI answer.

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

Aggregated report: overall visibility score, share of voice vs competitors, sentiment breakdown and per-platform stats.

# 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_name": "Notion",
    "queries": [
        "What is the best note-taking app for teams?",
        "Best project management and docs tool for startups in 2026?",
        "Notion vs Confluence — which should my company use?"
    ],
    "competitors": [
        "Confluence",
        "Coda",
        "Obsidian"
    ],
    "brand_domains": [
        "notion.so"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("fayoussef/ai-brand-visibility-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_name": "Notion",
    "queries": [
        "What is the best note-taking app for teams?",
        "Best project management and docs tool for startups in 2026?",
        "Notion vs Confluence — which should my company use?",
    ],
    "competitors": [
        "Confluence",
        "Coda",
        "Obsidian",
    ],
    "brand_domains": ["notion.so"],
}

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

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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_name": "Notion",
  "queries": [
    "What is the best note-taking app for teams?",
    "Best project management and docs tool for startups in 2026?",
    "Notion vs Confluence — which should my company use?"
  ],
  "competitors": [
    "Confluence",
    "Coda",
    "Obsidian"
  ],
  "brand_domains": [
    "notion.so"
  ]
}' |
apify call fayoussef/ai-brand-visibility-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=fayoussef/ai-brand-visibility-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/JAJS2Ia1DN3Pygzgl/builds/8b6W15TOq8W5QE4T9/openapi.json
