AI Visibility Tracker: ChatGPT, Perplexity, Gemini, Claude
Pricing
from $50.00 / 1,000 prompt checks
AI Visibility Tracker: ChatGPT, Perplexity, Gemini, Claude
Track if ChatGPT, Perplexity, Gemini and Claude mention and cite your brand vs competitors: rank, citations, share of voice, HTML report. Official APIs.
AI Search Visibility Tracker: ChatGPT, Perplexity, Gemini & Claude brand mentions (GEO / AEO / LLM SEO)
AI Search Visibility Tracker shows whether ChatGPT, Perplexity, Gemini and Claude mention, rank and cite your brand when buyers ask them for recommendations, and how you compare with your competitors. It is a generative engine optimization (GEO) and answer engine optimization (AEO) rank tracker for marketers, SEO agencies and founders who need to measure AI visibility, share of voice in AI answers and LLM citations, one run at a time or every week.
All four AI engines run in one go through their official APIs with live web search. No chat UI is scraped, so runs do not break when a website changes. You get one row per prompt × engine, a share-of-voice summary, an HTML report, and week-over-week changes.
What does AI Search Visibility Tracker measure?
For every prompt (for example "What is the best CRM for a small business?") and every engine, it records:
| Metric | What it tells you |
|---|---|
| Brand mentioned | Does the AI answer name your brand or one of its aliases? |
| Rank | Your position in the answer's list (#1, #2…) or, without a list, your order of first mention among tracked brands |
| First mention index | Where in the answer your brand first appears |
| Competitors mentioned | Which competitors appear, each with their own rank |
| Citations | Every source URL, domain and title the engine cited or consulted |
| Own-domain cited | Whether the AI cited your website, and which competitor domains it cited |
| Sentiment | Positive / neutral / negative / mixed tone around your brand (keyword heuristic) |
| Cost and latency | Estimated provider API cost and response time per check |
Then it adds a summary for each engine and overall:
- Mention rate: % of answers mentioning you.
- Average rank: lower is better.
- Citation rate: % of answers citing your domain.
- Share of voice: your mentions ÷ all tracked brands' mentions.
- Citation share of voice: citations to your domains ÷ citations to any tracked brand's domains.
The summary is also saved as a clean HTML report, with deltas versus your previous run.
Why use this AI visibility tracker?
- Four AI engines in one run: ChatGPT (OpenAI), Perplexity, Gemini (Google) and Claude (Anthropic). No need to chain several single-engine scrapers.
- Official APIs only: OpenAI Responses API with web search, Perplexity Agent API with Sonar, Gemini API with Grounding with Google Search, and the Anthropic Messages API with web search. That means stable, documented outputs and no UI scraping.
- Citations and own-domain tracking: see which pages AI engines trust, whether your site is cited, and which competitor domains win the citation.
- Share-of-voice summary and HTML report included for free. There is no extra "report" fee.
- Week-over-week deltas: each run stores its summary, and the next run shows mention-rate, rank, citation and share-of-voice changes.
- Reliable by design: timeouts, retries with backoff on rate limits and server errors, and per-check error isolation. One engine failing never stops the run, and failed checks are never charged.
- Bring your own API keys for a much lower per-check price, or use the built-in keys and pay only per successful check.
- Spend control: the run stops cleanly when it reaches your "Maximum cost per run", so it never over-charges.
- Lower cost per run: $0.05 per check including analysis, summary and report. Comparable tools charge $0.05–$0.08 per check, often plus a per-report fee.
How to track your brand in ChatGPT, Perplexity, Gemini and Claude
- Click Try for free. The form opens in Demo mode, which returns realistic sample data at no cost so you can see the output.
- Enter your brand (name and aliases), your domains, and your competitors (name, aliases, domains).
- Add 5–20 buyer-intent prompts, the questions your customers ask AI assistants.
- Pick the AI engines and a country.
- Untick Demo mode and click Start.
- Open the HTML report from the Output tab, or export the dataset to CSV, Excel, JSON or Google Sheets.
Input example
{"brand": { "name": "HubSpot", "aliases": ["HubSpot CRM"] },"brandDomains": ["hubspot.com"],"competitors": [{ "name": "Salesforce", "aliases": ["Sales Cloud"], "domains": ["salesforce.com"] },{ "name": "Pipedrive", "domains": ["pipedrive.com"] },{ "name": "Zoho CRM", "aliases": ["Zoho"], "domains": ["zoho.com"] }],"prompts": ["What is the best CRM for a small business?","Which CRM is easiest to use for a startup sales team?","What are good alternatives to Salesforce for a 10-person company?"],"engines": ["chatgpt", "perplexity", "gemini", "claude"],"country": "US","runsPerPrompt": 1,"compareWithPreviousRun": true}
Optional settings:
- your own API keys:
openaiApiKey,perplexityApiKey,geminiApiKey,anthropicApiKey - per-engine models:
openaiModel,perplexityModel,geminiModel,claudeModel maxSearchesPerCheck,maxConcurrency,caseSensitive,historyKeymockMode: Demo mode. It defaults tofalsefor API and scheduled runs.
Output example
One dataset item per prompt × engine (shortened):
{"type": "check","engine": "claude","model": "claude-haiku-5-5","prompt": "Which CRM is easiest to use for a startup sales team?","answerText": "Based on current reviews and comparisons, here are the strongest options:\n\n1. **Salesforce** – …","brandMentioned": true,"brandRank": 2,"brandRankSource": "list","brandFirstMentionIndex": 171,"brandSentiment": "positive","competitorsMentioned": [{ "name": "Salesforce", "rank": 1, "rankSource": "list", "mentionCount": 1 }],"ownDomainCited": true,"competitorDomainsCited": [{ "name": "Salesforce", "domain": "salesforce.com", "url": "https://www.salesforce.com/product", "cited": true }],"citations": [{ "url": "https://www.hubspot.com/pricing", "domain": "hubspot.com", "title": "HubSpot Pricing & Plans", "cited": true, "entity": "HubSpot" }],"costEstimateUsd": 0.012,"latencyMs": 8421,"chargedEvent": "prompt-check","error": null,"timestamp": "2026-10-15T08:20:42.798Z"}
The last item is the run summary ("type": "summary"), also saved as SUMMARY in the key-value store:
{"type": "summary","totals": { "successfulChecks": 11, "failedChecks": 1, "chargedEvents": { "prompt-check": 11 } },"overall": {"brand": { "name": "HubSpot", "mentionRatePct": 72.7, "avgRank": 2.25, "citationRatePct": 45.5, "shareOfVoicePct": 24.2 },"competitors": [{ "name": "Salesforce", "mentionRatePct": 100, "avgRank": 1.45, "shareOfVoicePct": 33.3 }]},"byEngine": { "chatgpt": { "...": "same metrics per engine" } },"comparison": { "previousRunAt": "2026-10-08T08:00:00.000Z", "deltas": { "byEngine": { "claude": { "brandMentionRatePct": 16.7, "brandShareOfVoicePct": 5.5 } } } }}
Dataset views: Overview (one row per check), Citations (one row per source URL) and Answers (full answer text).
The run's Output tab links the HTML report (REPORT.html). A failed check appears as an item with an error message and is not charged.
Pricing
Pay per event. You only pay for successful checks:
| Event | Price | When |
|---|---|---|
Prompt check (prompt-check) | $0.05 | One prompt answered by one AI engine using the built-in API keys |
Prompt check, own API key (prompt-check-byok) | $0.01 | Same, using your own OpenAI / Perplexity / Gemini / Anthropic key. You pay the provider directly |
| Summary, HTML report, run-over-run comparison | Free | Every run |
| Failed checks | Free | Never charged |
| Demo mode | Free | Sample data, no AI calls |
Examples:
- 10 prompts × 4 engines = 40 checks = $2.00 per run, or about $8.70/month run weekly.
- The same run with your own keys costs $0.40, plus your provider API costs (roughly $0.005–0.03 per check).
Set Maximum cost per run in the run options to cap spend. When the cap is reached the Actor stops gracefully, says so in the status message, and summarises what it checked.
Weekly AI visibility tracking for SEO agencies
AI answers change as engines update and new content is published, so measure the trend, not a single snapshot.
- Create one Task per client (brand, competitors, prompts).
- Add a Schedule (for example every Monday at 07:00) for each task.
- Keep Compare with previous run on. Each run stores its summary in a named key-value store in your account
(
ai-visibility-history) and reports the changes in mention rate, average rank, citation rate and share of voice, per engine and overall. - Send results to clients with integrations: Google Sheets, Slack or email on run finish, or a webhook into your reporting stack. Share the HTML report link straight from the run.
Tip: set runsPerPrompt to 2–3 for steadier numbers, because AI answers vary between calls.
Integrations and API
- Apify API, JavaScript and Python clients: start runs and fetch the dataset or
SUMMARYrecord programmatically. - Make, Zapier, n8n, Google Sheets, Slack, Airbyte and webhooks through Apify integrations.
- AI agents / MCP: callable from the Apify MCP server. Pay-per-event pricing with no Standby mode keeps it compatible with agentic payments.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('<username>/ai-search-visibility-tracker').call({brand: { name: 'HubSpot' }, brandDomains: ['hubspot.com'],competitors: ['Salesforce', 'Pipedrive'], prompts: ['What is the best CRM for a small business?'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();
FAQ
Why can results differ from what I see in the ChatGPT, Perplexity, Gemini or Claude apps?
This Actor uses each provider's official developer API with web search turned on. The consumer apps add things the APIs
do not: personalisation and memory, account history, different default or newer models, their own system prompts, and
sometimes different search backends and ranking. Answers are also probabilistic and change between calls and over time.
Treat the numbers as a consistent, repeatable measurement of AI visibility, and compare trends, not single answers.
Use runsPerPrompt for steadier rates.
Which models are used?
By default: gpt-6-luna (ChatGPT), perplexity/sonar (Perplexity Agent API), gemini-3.5-flash-lite (Gemini) and
claude-haiku-5-5 (Claude). These are cheap, current, search-capable models. With your own API keys you can choose any
model the provider offers.
Does it scrape ChatGPT or Perplexity? No. Only official APIs are used.
How is rank calculated?
If the answer contains a numbered or bulleted list and your brand heads a list item, rank is that list position.
Otherwise rank is your order of first mention among the tracked brands. The brandRankSource field says which one was used.
How is share of voice calculated? Your brand's answers-with-a-mention divided by the sum of answers-with-a-mention across your brand and all tracked competitors. Citation share of voice uses citations to each brand's domains instead.
How is sentiment detected? With a lightweight keyword heuristic on the sentences that mention your brand (no extra AI call, no extra cost). It is a quick signal, not a full sentiment analysis.
Are my API keys safe? Keys you enter are stored encrypted by Apify as secret input. They are sent only to the provider's official API and are never logged or written to the output.
What happens if an engine fails or is rate limited?
Each call is retried with backoff on rate limits, server errors and timeouts. If it still fails, that check is recorded
with an error field, is not charged, and the rest of the run continues.
Why do Gemini citation URLs start with vertexaisearch.cloud.google.com? That is how Google's grounding API returns source links: they are redirect URLs. The Actor reads the real source domain from the grounding metadata, so domain and own-domain tracking still work.
What is Demo mode?
The input form opens with Demo mode ticked, so you can see the full output, dataset views and report for free with
realistic sample answers. One sample check deliberately fails to show how errors are reported. Untick it for real
tracking. API, schedule and integration runs default to real checks unless mockMode is true.
What happens if no API keys are available? If you turn Demo mode off without providing keys, and no built-in key is available for the selected engines, the run stops immediately with a message explaining what to add. Nothing is charged.
Limits
- Free Apify plan: up to 12 checks per run use the built-in API keys. The run then stops gracefully with a clear message. Checks that use your own API keys are not limited. Paid Apify plans have no such limit.
- Up to 200 prompts, 25 competitors and 10 runs per prompt per run.
- With the built-in keys, only the default cost-efficient models can be used, with at most 3 web searches per check. With your own keys any model is allowed.
- Location: ChatGPT, Perplexity and Claude receive the country as a search location. Gemini's API has no location parameter, so it gets a one-line location hint instead.
- Brand matching is whole-word and case-insensitive by default. Use aliases for variants, and case-sensitive matching for brand names that are also common words.
- Sentiment is a keyword heuristic. Rank uses list detection and mention order. Both are approximations of how a human would read the answer.
- Results reflect the APIs at the time of the run and are not identical to the consumer apps (see FAQ).