# AI Search Visibility Tracker: ChatGPT & Perplexity (`suresignal/ai-search-visibility-tracker`) Actor

Track if ChatGPT, Perplexity, Gemini and Claude recommend your brand. Mentions, rank vs competitors, cited URLs, share of voice and day-over-day changes. Official APIs, no scraping.

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

## Pricing

$150.00 / 1,000 ai answer checks

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

## AI Search Visibility Tracker: ChatGPT, Perplexity & Gemini Brand Mentions

**by SureSignal**

**Does ChatGPT recommend your brand, or your competitor?** Enter the questions your buyers ask AI assistants. SureSignal checks **ChatGPT, Perplexity, Gemini and Claude** and tells you whether your brand is mentioned, where it ranks against competitors, which websites the AI cites, and **what changed since the last check**.

Built on **official AI model APIs**, with no scraping of chatgpt.com or perplexity.ai and no accounts or cookies.

### What does this AI visibility tracker measure?

- ✅ **Brand mentioned?** Yes or no for every prompt and engine, plus the exact sentence
- 🏁 **Rank vs competitors**: the order brands appear in the answer
- 📊 **Share of voice** across your competitor set
- 🔗 **Citations**: every URL and domain the AI cited, and whether your site is one of them
- 🔔 **Change tracking**: mention gained or lost, rank change, new or lost cited domains, new competitors showing up
- 🎯 **Sampling**: ask each prompt several times, since AI answers vary
- 📝 Full answer text for audits and content gaps

### Who is it for?

SEO and GEO (generative engine optimization) agencies, brand and PR teams, SaaS marketers, and founders who want to know if AI search engines recommend them, without paying $300+ a month for an LLM-visibility SaaS.

### How to track brand mentions in ChatGPT and Perplexity

1. Enter your **brand**, **domain** and **competitors**.
2. Add 5–50 **buyer prompts**, such as "best CRM for small business" or "HubSpot alternatives".
3. Pick engines and **schedule** the tracker daily or weekly. Turn on **Only output changes** to get alerts only when something moves.

### Output example

```json
{
  "prompt": "best CRM for small business",
  "engine": "perplexity",
  "brandMentioned": true,
  "brandRank": 1,
  "brandCited": true,
  "shareOfVoice": 0.25,
  "competitorsMentioned": ["salesforce", "pipedrive", "Zoho CRM"],
  "citedDomains": ["hubspot.com", "forbes.com", "g2.com"],
  "mentionChanged": false,
  "rankChange": 1,
  "newCitedDomains": ["g2.com"],
  "changed": true
}
```

### How much does AI visibility tracking cost?

You pay **$0.15 per AI answer checked**, whether it lands in your dataset or is a filtered-out unchanged check. No monthly subscription.

- Model usage is billed at cost to your Apify account through Apify's OpenRouter integration, typically about $0.001–$0.01 per answer. You can also bring your own OpenRouter key.
- Example: 20 prompts × 2 engines, checked weekly, comes to about $6 a week.
- We never charge for errors.

### Is this the same as what users see in ChatGPT?

No tracker can see an individual user's personalized chat. This one asks the same question through each provider's **official search-enabled model API** (OpenAI search models, Perplexity Sonar, Gemini and Claude with web search). That's the reproducible, terms-friendly way to measure how AI engines answer your buyers' questions. Use samples to smooth out randomness.

### FAQ

**What is AI search visibility / GEO?** How often AI assistants mention, recommend and cite your brand for the questions your buyers ask. It's the new SEO.

**How do I see if ChatGPT mentions my brand?** Add the prompt, your brand and domain here, then run the tracker. Each answer shows `brandMentioned`, `brandRank` and `brandCited`.

**Can I track competitors' AI visibility?** Yes. Every answer records which competitors were mentioned and cited.

**Can I export to Sheets or Slack?** Yes, through Apify integrations, Make, Zapier, n8n or the API.

More SureSignal tools for company and market data are in our Apify profile.

### More from SureSignal

Other SureSignal data feeds that pair well with this one:

- [Recently Funded Startups: SEC Form D Leads](https://apify.com/SureSignal/sec-form-d-funding-leads): find companies that just raised money.
- [Careers Job Feed](https://apify.com/SureSignal/company-careers-job-feed): see who is hiring, and for what.
- [Google Ads Transparency Monitor](https://apify.com/SureSignal/google-ads-transparency-library): track competitors' new Google ads.
- [YouTube Transcript Scraper & Channel Monitor](https://apify.com/SureSignal/youtube-transcript-scraper): get transcripts of new videos from channels you follow.

Need a source or field we don't cover? Open an issue on the **Issues** tab and describe what you need.

# Actor input Schema

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

Brand name to track, e.g. HubSpot.

## `brandDomain` (type: `string`):

Used to detect when AI answers cite your website.

## `brandAliases` (type: `array`):

Other names/spellings, e.g. product names.

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

Competitor names or domains (salesforce.com, Pipedrive).

## `prompts` (type: `array`):

Questions your buyers ask AI assistants.

## `engines` (type: `array`):

Engines to check, via official model APIs.

## `samplesPerPrompt` (type: `integer`):

AI answers vary; ask 2-5 times for a stable mention rate.

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

E.g. 'United States' - hint for localized answers.

## `onlyChanges` (type: `boolean`):

Output only answers where mentions, rank, citations or competitors changed. Each check is still billed because the AI call runs.

## `trackerName` (type: `string`):

Keep separate change history per project.

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

Store the full AI answer.

## `openrouterApiKey` (type: `string`):

Leave empty: model usage is billed through your Apify account via Apify's OpenRouter integration. Or add your own key.

## Actor input object example

```json
{
  "brand": "HubSpot",
  "brandDomain": "hubspot.com",
  "competitors": [
    "salesforce.com",
    "pipedrive.com",
    "Zoho CRM"
  ],
  "prompts": [
    "best CRM for small business",
    "HubSpot alternatives"
  ],
  "engines": [
    "perplexity",
    "chatgpt"
  ],
  "samplesPerPrompt": 1,
  "onlyChanges": false,
  "includeAnswerText": true
}
```

# Actor output Schema

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

All records from this run.

## `runState` (type: `string`):

Default key-value store for this 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 = {
    "brand": "HubSpot",
    "brandDomain": "hubspot.com",
    "competitors": [
        "salesforce.com",
        "pipedrive.com",
        "Zoho CRM"
    ],
    "prompts": [
        "best CRM for small business",
        "HubSpot alternatives"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("suresignal/ai-search-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": "HubSpot",
    "brandDomain": "hubspot.com",
    "competitors": [
        "salesforce.com",
        "pipedrive.com",
        "Zoho CRM",
    ],
    "prompts": [
        "best CRM for small business",
        "HubSpot alternatives",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("suresignal/ai-search-visibility-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",
  "brandDomain": "hubspot.com",
  "competitors": [
    "salesforce.com",
    "pipedrive.com",
    "Zoho CRM"
  ],
  "prompts": [
    "best CRM for small business",
    "HubSpot alternatives"
  ]
}' |
apify call suresignal/ai-search-visibility-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,suresignal/ai-search-visibility-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/5sPBR14lJgyQgfw5J/builds/4taxfFeNd9AffjcfO/openapi.json
