AI Visibility & Share of Voice Tracker: ChatGPT, Perplexity avatar

AI Visibility & Share of Voice Tracker: ChatGPT, Perplexity

Pricing

from $60.00 / 1,000 chatgpt checks

Go to Apify Store
AI Visibility & Share of Voice Tracker: ChatGPT, Perplexity

AI Visibility & Share of Voice Tracker: ChatGPT, Perplexity

Track how ChatGPT and Perplexity answer your buyer prompts: brand mentions, rank in the answer, cited URLs and domains, sentiment, share of voice vs competitors and week-over-week changes. Official APIs with web search, no browser. By SteadyScrape.

Pricing

from $60.00 / 1,000 chatgpt checks

Rating

0.0

(0)

Developer

SteadyScrape

SteadyScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

AI Visibility & Share of Voice Tracker: ChatGPT, Perplexity (by SteadyScrape)

Find out whether AI assistants recommend your brand when buyers ask questions like "best CRM for a small business". For every prompt × engine, this Actor asks the engine through its official API with live web search and returns:

  • the answer (full text and a snippet) and the exact model that answered
  • for your brand and each competitor: mentioned?, mention count, rank (order of first mention), position in a list, sentiment (positive, negative, neutral or mixed) and the surrounding context
  • every cited URL and domain, and whether your own domain was cited
  • share of voice across all checks and per engine, visibility rate, average rank and citation rate
  • an optional diff against your previous run (visibility gained or lost, rank changes, citations gained or lost), so a weekly schedule becomes a tracker

Engines:

EngineHow it is queried
chatgptOpenAI model (default gpt-6-luna) with OpenAI's native web search, via OpenRouter, or directly through the OpenAI Responses API + web_search (chatgptProvider)
perplexityPerplexity Agent API with web search (effort: low by default)

Important: API answers are not the consumer apps

Answers come from the official developer APIs, not from chatgpt.com or perplexity.ai in a browser. Model choice, system prompts, personalization, location, memory and search settings differ, so the apps can give different answers to the same prompt. AI answers also change from run to run. Treat the results as a repeatable, comparable sample of AI visibility, not as a screenshot of what any single user sees. Track trends over several prompts and runs instead of judging from one answer.

Quick start

{
"prompts": ["best CRM for small business", "HubSpot alternatives for startups"],
"brands": [{ "name": "HubSpot", "aliases": ["HubSpot CRM"], "domains": ["hubspot.com"] }],
"competitors": ["Salesforce", { "name": "Zoho CRM", "aliases": ["Zoho"], "domains": ["zoho.com"] }, "Pipedrive"],
"engines": ["chatgpt", "perplexity"],
"trackingId": "crm-weekly"
}

Want to see the output format first? Set "mockMode": true. It returns synthetic answers, calls no AI provider and is never charged per check.

Output

One dataset row per prompt × engine (recordType: "check", status: ok | error | skipped), plus a final recordType: "summary" row. The summary is also saved as OUTPUT in the run's key-value store. Key fields of a check row:

prompt, engine, model, answerSnippet, answer, brandMentioned, bestBrandRank, brandDomainCited, trackedBrandsMentioned, competitorsMentioned, brandsNamedInPrompt, brands[] {brand, isCompetitor, mentioned, mentionCount, rank, listPosition, sentiment, sentimentScore, domainCited, citedBrandUrls, context}, citations[] {url, domain, title}, citedDomains, searchCalls, providerCostUsdEstimate, charged

The summary contains shareOfVoice, shareOfVoiceByEngine, topCitedDomains and, when a previous run with the same trackingId exists, changes.

How metrics are computed. Matching is case-insensitive and uses whole words on the brand name, its aliases and its domains, after citation links and URLs are stripped from the answer. Rank is the order of first mention among all tracked names. Share of voice is a brand's mentions divided by all tracked mentions. Visibility rate is the share of checks that mention the brand. Brands named in the prompt itself are listed in brandsNamedInPrompt, because answers usually repeat them; use unbranded prompts to measure organic visibility. Sentiment is a simple lexicon score of the sentences that mention the brand, so it is a hint and not a judgment.

Guardrails

  • maxChecks: default 200, hard cap 2000 per run.
  • maxCostUsd: estimated AI-provider cost cap per run, default $5. Checks that would go over it are skipped and not charged.
  • Request timeouts and retries with backoff on 429 and 5xx errors. An invalid key or exhausted quota stops that engine for the rest of the run.
  • Your Max charge per run setting is respected: only the checks it covers are run.
  • Failed and skipped checks are never charged.

Pricing

Pay per event. You only pay for checks that return an answer:

EventPriceWhat it is
chatgpt-check$0.06one prompt answered by ChatGPT (OpenAI model with live web search) and analyzed
perplexity-check$0.03one prompt answered by Perplexity (with live web search) and analyzed
Actor start$0.00005Apify's standard start fee, once per run

Example: 10 prompts × both engines = 10 × $0.06 + 10 × $0.03 = $0.90 per run. A weekly tracker of 10 prompts costs about $3.90 a month.

  • Failed, skipped and mock-mode checks are never charged. Every row has charged and chargeEvent. The run summary has chargedEvents and chargedUsd.
  • Set Max charge per run in the run options to cap your spend. The Actor plans only the checks that fit under it, so it can still fit a $0.03 Perplexity check after a $0.06 ChatGPT check no longer fits.
  • Try mockMode: true first. It shows the full output format for free.

Scheduling and history

Give the run a trackingId and schedule it (for example weekly). Each run saves a compact snapshot in the named key-value store ai-brand-visibility-history (configurable with historyStoreName) and compares itself with the previous snapshot.

FAQ

Is this scraping ChatGPT? No. It uses official APIs: OpenAI models (through OpenRouter or OpenAI) and Perplexity. Can I pick the model? Yes, within a cost-safe list: openaiModel and perplexityModel / perplexityEffort. Why did my brand show up in the app but not here (or the reverse)? See API answers are not the consumer apps above.

More tools from SteadyScrape

  • Keyword Search Volume: Google search volume, CPC, competition and a 12-month trend for up to 10,000 keywords per run.
  • ATS Job Scraper: see which roles your competitors are hiring for, straight from their career sites.

Built and maintained by SteadyScrape. Not affiliated with OpenAI, OpenRouter or Perplexity.