AI Visibility Rank Tracker — ChatGPT, Perplexity, Gemini
Pricing
from $60.00 / 1,000 prompt engine checks
AI Visibility Rank Tracker — ChatGPT, Perplexity, Gemini
Track brand ranking and share-of-voice across ChatGPT, Perplexity, Claude, and Gemini over time. Monitors prompt sets, detects citations, scores sentiment, compares competitors, and reports run-over-run position changes. Schedule it for daily AI-search visibility tracking.
Pricing
from $60.00 / 1,000 prompt engine checks
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
21 hours ago
Last modified
Categories
Share
AI Visibility Rank Tracker — ChatGPT, Perplexity, Claude & Gemini
Track how your brand ranks in AI answers over time. This actor queries ChatGPT, Perplexity, Claude, and Gemini with the prompts your customers actually ask, then measures whether your brand is mentioned, where it ranks versus competitors, its share of voice, whether your domain is cited, the sentiment of each mention — and how all of this changes run over run.
Built for Generative Engine Optimization (GEO): the new discipline of getting your brand recommended by AI answer engines. Schedule it daily or weekly to build a visibility history and catch ranking drops before they cost you traffic.
What it does
For every prompt × engine combination, the actor returns a single clean row containing:
- mentioned — was your brand named in the answer?
- position — your rank by order of first appearance among all tracked brands (you + competitors)
- share_of_voice — your % of total tracked-brand mentions in the answer
- cited / brand_cited_url — was your domain referenced as a source?
- citations — the source URLs the answer relied on
- sentiment — positive / neutral / negative framing of your mention
- competitors_mentioned — which rivals showed up alongside you
- position_change / visibility_status — the delta versus the previous run (
new,gained,lost,improved,declined,unchanged,absent)
A run-level rollup (visibility score, average position, share of voice, gained/lost counts, per-engine breakdown) is saved to the key-value store under SUMMARY.
Export results, run via API, schedule and monitor runs, or integrate with other tools.
Why track AI visibility?
Buyers increasingly ask ChatGPT, Perplexity, Claude, and Gemini "what's the best tool for X?" instead of scrolling Google. If your brand isn't named — or is ranked below competitors — you lose the recommendation. Traditional SEO rank trackers don't see this. This actor does, across four engines, with trend history.
Input
| Field | Type | Description |
|---|---|---|
brandName (required) | string | The brand/product to track. |
brandDomain | string | Your domain (e.g., notion.so) for citation detection. |
industry | string | Used to auto-generate prompts when you don't supply your own. |
prompts | string[] | The exact questions to monitor. Falls back to auto-generated prompts from industry. |
platforms | string[] | Any of perplexity, chatgpt, claude, gemini. |
competitors | string[] | Competitor brands for position & share-of-voice. |
extractCitations | boolean | Extract source URLs and detect domain citations. |
analyzeSentiment | boolean | Classify the sentiment of each brand mention. |
trackingId | string | Stable ID used to compare history across runs (defaults to a slug of the brand). |
useWebSearch | boolean | Enable OpenRouter's web plugin for non-native-search models. |
webSearchResults | integer | Web results per query for the plugin (1–10). |
models | object | Optional per-platform OpenRouter model-slug overrides. |
maxPrompts | integer | Cap on prompts per run (cost control). |
Example input
{"brandName": "Notion","brandDomain": "notion.so","industry": "productivity software","prompts": ["What is the best note-taking app for teams?","Recommend an all-in-one workspace tool."],"platforms": ["perplexity", "chatgpt", "claude", "gemini"],"competitors": ["Evernote", "Obsidian", "Coda"],"extractCitations": true,"analyzeSentiment": true}
API key (required) — one key for all models
All engines run through OpenRouter, so you only need a single API key. Set it as an environment variable on the actor (Console → Settings → Environment variables):
OPENROUTER_API_KEY = sk-or-...
If the key is missing, every check is reported with an error and not charged.
| Platform | Default model | Web search |
|---|---|---|
| Perplexity | perplexity/sonar | native |
| ChatGPT | openai/gpt-4o-mini | OpenRouter web plugin |
| Claude | anthropic/claude-sonnet-4 | OpenRouter web plugin |
| Gemini | google/gemini-2.5-flash | OpenRouter web plugin |
Note: For non-Perplexity models, web grounding uses OpenRouter's web plugin (it adds live search results to any model) rather than each vendor's own search product — the right trade-off for one-key simplicity, and it still reflects current web data. You pay OpenRouter directly for model + web-plugin usage; the actor's PPE events cover the tracking/analysis layer. Override any model slug with the
modelsinput.
Output
Each row in the dataset:
{"brand": "Notion","brand_domain": "notion.so","engine": "perplexity","model_used": "sonar","prompt": "What is the best note-taking app for teams?","mentioned": true,"position": 1,"share_of_voice": 60,"cited": true,"citations": ["https://notion.so/product", "https://example.com/review"],"brand_cited_url": "https://notion.so/product","mention_count": 2,"mention_context": "Notion is one of the most popular all-in-one workspaces...","sentiment": "positive","competitors_mentioned": ["Evernote", "Obsidian"],"previous_mentioned": true,"previous_position": 3,"position_change": 2,"visibility_status": "improved","error": null,"checked_at": "2026-06-07T12:00:00.000Z"}
Pricing (Pay Per Event)
Charged events:
| Event | When |
|---|---|
actor-start | Once per run. |
prompt-engine-check | Each successful prompt × engine check. |
citation-extraction | Each successful check when citation extraction is enabled. |
sentiment-analysis | Each mention scored when sentiment analysis is enabled. |
Failed checks (e.g., a missing API key) are never charged. You pay your own LLM provider for the underlying API calls.
Scheduling for trend tracking
- Run once to seed a baseline (first run shows
visibility_status: new/absent). - Create a Schedule (daily or weekly) with the same
trackingId. - Each run compares against the previous snapshot and fills
position_changeandvisibility_status.
History is stored in a named key-value store (ai-rank-history-<trackingId>), so multiple brands can be tracked independently.
Use cases
- GEO / AEO monitoring — prove and improve how AI engines recommend you.
- Competitive intelligence — see who AI names ahead of you, and where.
- Content ROI — confirm whether new content gets you cited.
- Agency reporting — deliver weekly AI-visibility reports to clients.
Notes
- Results depend on each engine's live web access and model behavior; answers vary between runs, which is exactly what trend tracking is for.
- Keep prompts stable across runs for the cleanest deltas.