AI Brand Visibility Tracker: ChatGPT, Perplexity, Gemini
Pricing
from $20.00 / 1,000 prompt checks
AI Brand Visibility Tracker: ChatGPT, Perplexity, Gemini
AI search visibility & brand visibility tracker for GEO / AEO: run your prompts on ChatGPT, Perplexity and Gemini with web search, via official APIs and your own keys. Get brand mentions, rank position, competitors, cited URLs and share of voice in AI answers. MCP-ready.
Does ChatGPT recommend you? Does Perplexity cite your site? Does Gemini list your competitors instead? Give this Actor your brand, your competitors and the questions your customers ask. It runs each prompt on ChatGPT (OpenAI web search), Perplexity and Gemini (Grounding with Google Search) through their official APIs, with your own API keys, and tells you for every answer:
Also known as: AI brand visibility tracker, ChatGPT rank tracker, Perplexity rank tracker, Gemini brand monitoring, LLM visibility, GEO tracker (generative engine optimization), AEO (answer engine optimization), brand mentions in ChatGPT, AI share of voice.
- ✅ whether your brand is mentioned (name, aliases or domain) and how many times
- 🥇 your position among all brands named in the answer (1 = named first)
- 🔗 whether your website is cited as a source, and at which rank
- 🆚 which competitors are mentioned / cited, and their positions
- 🌐 every cited URL and domain, plus the search queries the engine ran
- 📊 a run summary: mention rate, citation rate, average position, share of voice vs competitors, top cited domains, and the prompts where you are missing, overall and per engine
Use it for GEO / AEO (generative engine optimization), brand monitoring in AI assistants, competitor benchmarking, and to find which pages AI engines trust in your niche. Schedule it weekly to track progress.
Status: Gemini path live-tested (search + citations); OpenAI/Perplexity built to official docs. Gemini free-tier keys don't include Google Search grounding: link billing to your AI Studio project (paid tier includes 5,000 free searches/month).
Your keys, official APIs only
- The Actor never uses its own AI keys. You paste your OpenAI, Perplexity and/or Gemini key; they are secret inputs (encrypted by Apify, hidden in the UI and logs) and are sent only to the provider's official endpoint:
api.openai.com/v1/responseswith theweb_searchtoolapi.perplexity.ai/v1/agent(Agent API, the successor of Sonar;fastpreset by default)generativelanguage.googleapis.comgenerateContentwith thegoogle_searchtool
- No scraping of chatgpt.com, perplexity.ai or Google pages. No browser, no login, no ToS grey zone.
- The AI providers bill your account for tokens / searches (typically a fraction of a cent to a few cents per prompt depending on the model). Keys are never written to the dataset, logs or summary; error messages are scrubbed.
- Engines without a key are skipped automatically, so you can start with just one.
Input
| Field | Example | Notes |
|---|---|---|
brand | Ostrata | Required |
brandAliases | ["EU Company Check"] | Other names that count as a mention |
brandDomains | ["ostrata.io"] | Detects citations of your site |
competitors | ["Kyckr | kyckr.com", "Creditsafe"] | Name or Name | domain |
prompts | ["Best KYB API for EU companies?"] | Required |
engines | ["openai","perplexity","gemini"] | |
openaiApiKey, perplexityApiKey, geminiApiKey | Secret. At least one | |
openaiModel / perplexityModel / geminiModel | gpt-4.1-mini / fast / gemini-3.5-flash-lite | Any model with web search |
country | FR | Approximate user location for OpenAI search |
forceWebSearch | true | Make OpenAI search before answering |
runsPerPrompt | 1–5 | AI answers vary: repeat to measure frequency |
{"brand": "Ostrata","brandDomains": ["ostrata.io"],"competitors": ["Kyckr | kyckr.com", "Creditsafe | creditsafe.com"],"prompts": ["What is the best API to verify European companies (KYB)?"],"engines": ["openai", "gemini"],"openaiApiKey": "sk-...","geminiApiKey": "AIza..."}
Output
One dataset row per prompt × engine (× run):
{"prompt": "What is the best API to verify European companies (KYB)?","engine": "openai","model": "gpt-4.1-mini-2025-04-14","status": "ok","brandVisible": true,"brandMentioned": true,"brandMentionCount": 2,"brandPosition": 2,"brandCited": true,"brandCitationRank": 2,"competitorsMentioned": [{ "name": "Kyckr", "mentioned": true, "mentionCount": 3, "position": 1, "cited": true, "citationRank": 1 },{ "name": "Creditsafe", "mentioned": true, "mentionCount": 1, "position": 3, "cited": false, "citationRank": null }],"citedUrls": [{ "rank": 1, "url": "https://www.kyckr.com/", "title": "Kyckr", "domain": "kyckr.com", "isBrand": false },{ "rank": 2, "url": "https://ostrata.io/kyb", "title": "Ostrata KYB", "domain": "ostrata.io", "isBrand": true }],"citedDomains": ["kyckr.com", "ostrata.io"],"searchQueries": ["best KYB API Europe"],"answerText": "Top options for EU company verification: ...","checkedAt": "2026-10-19T09:00:00.000Z"}
The SUMMARY record (key-value store) aggregates everything:
{"brand": "Ostrata","overall": { "checks": 20, "brandMentionRate": 0.45, "brandCitationRate": 0.3, "brandVisibilityRate": 0.5, "avgBrandPosition": 2.1,"shareOfVoice": { "Ostrata": 0.28, "Kyckr": 0.41, "Creditsafe": 0.31 }, "topCitedDomains": [{ "domain": "g2.com", "count": 9 }] },"byEngine": { "openai": { "...": "..." }, "perplexity": { "...": "..." }, "gemini": { "...": "..." } },"promptsWhereBrandMissing": ["..."]}
How it's measured: mentions are case-insensitive whole-word matches of the brand name, aliases and domains (URLs inside markdown links are not counted twice). Position = order of first mention among your brand and the competitors you listed. A check is visible if the brand is mentioned or your domain is cited.
Pricing (pay per event)
| Event | Price |
|---|---|
prompt-check: one prompt answered by one engine and analyzed | $0.02 |
Not charged: API errors (bad key, quota, rate limit, timeout, empty or blocked answer), skipped engines. 10 prompts × 3 engines = 30 checks = $0.60 (plus what your AI providers bill you). The run stops exactly at your maximum cost per run, and the Actor checks the budget before calling your API, so it never spends your AI credits on a check it cannot deliver.
Use with AI agents (MCP)
Available through the Apify MCP server (https://mcp.apify.com), e.g. "check whether Perplexity and ChatGPT recommend our brand for these 5 questions and list the sources they cite".
Limitations
- API answers are close to, but not identical with, what a logged-in user sees in the ChatGPT, Perplexity or Gemini apps (personalization, memory, app-specific models). Use
runsPerPromptto smooth out randomness. - Mention detection is lexical; a very generic brand name (e.g. "Apple" in a fruit question) can produce false positives. Add aliases or domains to make it precise.
- Gemini returns redirect links; they are resolved to the real URL with one lightweight request each (
resolveGeminiUrls). - Your API tier's rate limits apply; 429s are retried with backoff and never charged.
- Gemini: Grounding with Google Search is not part of the Gemini API free tier for Gemini 3+ models. Use a key from a Google AI Studio project with billing linked (the paid tier includes 5,000 free search requests per month); a free-tier key returns a quota error, which is never charged.
Privacy
Only your prompts are sent, and only to the providers you chose with your keys. The Actor stores no personal data. Answers are kept in your own Apify dataset.
Related Actors
- EU Company Verification (KYB): verify companies from a name, SIREN/SIRET, VAT number or LEI (register status, VIES VAT, BODACC insolvency, LEI).
- Website to Company (Impressum & Mentions Légales): find the legal entity behind a website (SIREN/VAT from the legal notice) and verify it.
- France Company List (SIRENE): build lists of French companies by NAF code, area, headcount and revenue from the official register.
- Greenhouse, Lever & Ashby Jobs API: normalized job postings from Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee boards, with only-new-jobs mode.
🇫🇷 En bref
Votre marque apparaît-elle dans les réponses de ChatGPT, Perplexity et Gemini ? Indiquez votre marque, vos concurrents et vos questions : l'Actor interroge les API officielles (OpenAI web search, Perplexity Agent API, Gemini + Google Search) avec vos propres clés (champs secrets, jamais nos clés) et renvoie pour chaque réponse : mention de la marque, position, citation de votre site, concurrents cités, URLs sources, et un résumé (taux de mention, part de voix). 0,02 $ par prompt et par moteur, erreurs d'API non facturées, arrêt exact au budget maximum.