# Changelog of AI Search Visibility Tracker: ChatGPT, Gemini, Perplexity (`layerwiselabs/ai-visibility-tracker`) Actor

- **URL**: https://apify.com/layerwiselabs/ai-visibility-tracker/changelog.md
- **Full Actor documentation**: https://apify.com/layerwiselabs/ai-visibility-tracker.md

## Changelog

### 1.0 (unreleased)

- 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.
