AI Brand Visibility Audit: ChatGPT & Perplexity Mention Rate
Pricing
from $60.00 / 1,000 check (chatgpt or perplexity)s
AI Brand Visibility Audit: ChatGPT & Perplexity Mention Rate
AI brand visibility & share of voice for AEO/GEO: ask ChatGPT, Perplexity, Gemini and Claude your buyers' questions; get mention rate, competitors named instead, sources cited. Free AI crawler check: robots.txt for GPTBot, ClaudeBot, PerplexityBot, llms.txt, schema. Pay per check.
Pricing
from $60.00 / 1,000 check (chatgpt or perplexity)s
Rating
0.0
(0)
Developer
Matthew Edward
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
AI Visibility Audit — is your brand named by ChatGPT, Perplexity, Gemini and Claude?
Your buyers no longer start at Google. They ask an assistant "what is the best X?" and act on the answer. This Actor asks the assistants the questions your buyers actually type, and tells you what came back.
For every question, on every assistant, you get:
- was your brand named — the mention rate across all answers
- was your site cited — whether the assistant used your domain as a source, which is a different and usually much lower number
- who was named instead — rival brands, scored by how many separate answers named them. Names are taken from how the assistant wrote them (bold, list items, mid-sentence mentions); headings, standards (ASC 842, GDPR) and review sites (G2, Capterra) are filtered out, and a brand only reaches the summary when two or more answers name it
- which sources the answer was built from — the review sites, forums and articles shaping opinion in your category
- the full answer text, so you can read exactly what was said about you
- optional, free: can AI crawlers reach your site at all? Set
checkWebsiteReadinessand you also get onereadinessrow for your domain: robots.txt rules for 14 AI crawlers (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-SearchBot, PerplexityBot, Google-Extended, Googlebot, Bingbot, Applebot-Extended, CCBot and more), whether your server or firewall refuses them even when robots.txt allows them, whether you have an llms.txt, which structured data (schema) your pages carry, which pages are empty without JavaScript, a 0-100 readiness score, prioritised issues and a draft llms.txt built from your sitemap
Why the two numbers differ
We audited Ghost (ghost.org) as a test: named in 91.7% of answers, but ghost.org cited as a source in only 12.5%. The assistants talk about Ghost constantly while reading Substack, Wix and WordPress pages to do it. Being talked about and being read are separate problems, and the fix for each is different.
Input
| Field | What it does |
|---|---|
brandName | The name to look for in answers, written as it normally appears |
domain | Your site, used to detect citations. linear.app, no protocol needed |
category | The category buyers search for — not your brand. This is what the questions are built from |
platforms | chatgpt, perplexity, gemini, claude. ChatGPT and Perplexity cover most buyer behaviour |
prompts | Optional. Your own questions, if you would rather track exact phrasing |
maxPrompts | How many generated questions to ask each assistant (1–25, default 12) |
includeAnswers | Store the full answer text in the dataset |
checkWebsiteReadiness | Optional, no extra charge. Also check AI crawler access (robots.txt + server blocking), llms.txt and schema on domain |
readinessPages | How many sitemap pages the readiness check reads (5-60, default 25) |
excludeNames | Optional. Names never counted as competitors (case-insensitive), e.g. Instagram, TikTok when auditing a social media tool |
dataForSeoLogin / dataForSeoPassword | Optional: bring your own DataForSEO account and pay wholesale for the model calls |
Example input
{"brandName": "Linear","domain": "linear.app","category": "project management software for software teams","platforms": ["chatgpt", "perplexity"],"maxPrompts": 12}
Output
One check row per question per assistant, plus one summary row:
{"type": "summary","brand": "Linear","mentionRate": 66.7,"citationRate": 29.2,"byAssistant": { "ChatGPT": { "named": 11, "of": 12, "rate": 91.7 },"Perplexity": { "named": 5, "of": 12, "rate": 41.7 } },"namedInstead": [{ "name": "Jira", "answers": 19, "shareOfAnswers": 79 },{ "name": "ClickUp", "answers": 16, "shareOfAnswers": 67 }],"sourcesCited": [{ "domain": "g2.com", "times": 17 }]}
The summary is also written to the run's key-value store as SUMMARY.
With checkWebsiteReadiness: true there is one more row (trimmed):
{"type": "readiness","domain": "crisp.chat","readinessScore": 90,"scoreParts": { "access": 40, "structure": 25, "content": 25, "guidance": 0 },"aiCrawlers": [{ "bot": "GPTBot", "owner": "OpenAI", "purpose": "training","allowedByRobotsTxt": true, "blockedByServer": false, "serverStatus": 200 }],"aiCrawlersBlocked": [],"llmsTxt": { "present": false },"schemaTypes": ["FAQPage", "Organization", "SoftwareApplication"],"issues": [{ "severity": "low", "title": "No llms.txt", "detail": "..." }],"llmsTxtDraft": "# Crisp\n\n> ...\n\n## Services\n\n- [...](https://crisp.chat/...)"}
The server-blocking test requests your homepage once per crawler with that crawler's published user agent. It shows whether a firewall rule refuses the user agent; it cannot reproduce IP-based verification, so a site that only admits the crawlers' real IP ranges may still show as blocked here.
Pricing
Charged per check — one question asked of one assistant. A 12-question audit on ChatGPT and Perplexity is 24 checks. Nothing is charged for a question that fails to return an answer.
| Event | What it covers |
|---|---|
check | One question on ChatGPT or Perplexity |
premium_check | One question on Gemini or Claude — these models cost several times more to run, so they are billed separately rather than hidden in the average |
byok_check | A check run on your own DataForSEO credentials, where you pay the model cost directly |
The website readiness check is not charged - it only reads public pages on the domain you give.
Start with the two default assistants. Add Gemini or Claude when you specifically need to know what those say.
Limits and honesty notes
- Assistants are non-deterministic. The same question can return different names on different days, which is why the mention rate is measured across many questions rather than one. Re-run on a schedule to see a trend rather than a snapshot.
- Rival names are extracted from the text and require corroboration across at least two separate answers before being reported, which removes most noise but not all. A category term that looks like a brand can slip through.
- Gemini and Claude cost noticeably more per check than ChatGPT and Perplexity. Start with the default two.
- This measures what assistants say. It does not change it — for that, the answers point at the sources and the gaps, and the work is yours to do.
Scheduling
Run it weekly with Apify Schedules to see whether the mention rate moves. The number only means something as a trend.
About this Actor
Built and maintained by agentbuilt (https://agentbuilt.dev), an AI-operated studio: the code, docs and support are handled by an AI agent, with a human owner accountable for the account. If you want the gaps fixed as well as measured, that is what https://agentbuilt.dev/visibility does. Report issues in the Issues tab — they are triaged daily.