See how often ChatGPT, Gemini and Perplexity name and cite your brand versus competitors, with a confidence range for every rate and changes since the last run. Official APIs, 41 countries, full answers and sources.
Asks ChatGPT (OpenAI API), Gemini (Gemini API) and Perplexity (Agent API) with web search, several samples per prompt.
Finds the brand and competitors with fixed rules: whole words, other names and domains, umlauts and accents folded, optional match case; source links are not mentions.
List rank read with a CommonMark parser: numbered and bulleted lists, numbered headings and bold lines; descriptions and nested lists get no rank. A list item belongs to the brand it names first.
Per answer: mentions, list rank, order among tracked brands, citations of your domains, all sources and search queries, full answer.
Summary per engine and prompt: rates with 95 % Wilson range, share of voice, top cited domains.
Every rate (mention, citation, named first, competitors) compared with the previous complete run of the same setup (per saved task), with Fisher's exact test for real changes.
Country and city for every engine; own API keys as encrypted input, never logged.
Requests that fail at the provider are not charged.
Pay per event: chatgpt-answer, gemini-answer, perplexity-answer, answer-own-key, plus chatgpt-search and gemini-search for each web search the engine runs, and provider-cost for unusually large requests (answers cut off at the length limit, very long answers) at the provider's actual cost; stops at the run's cost limit and resumes after a restart without charging twice.
At the standard price, prompts up to 1,000 characters and answers up to 8,000 tokens, one search round on Perplexity; no limits with your own key.
Stops at once on a rejected key and after a few failed answers on a provider outage, keeping all answers collected so far.
Gemini runs on gemini-3.8-flash (or gemini-3.1-flash-lite) with Google Search grounding.
Perplexity runs on Sonar at the standard price, or any model with your own key; citations read from its numbered source markers.
Blocked or cut-off single answers are skipped without stopping the run; only provider failures count as an outage.
Answers still waiting to retry stop as soon as their engine is stopped.
Stops starting new answers shortly before the run timeout, so the summary is always written.
Brand names with a dot that are not web addresses (Node.js, S.Oliver) are matched as names; only real domains count as sites.
A lasting API rate limit is named as such in the run's message, with what to do about it.
Long runs stay light on memory: the summary keeps only the figures it needs, the full answers stay in the dataset.