Guide · 9 min read
How to track citations across ChatGPT, Claude, Perplexity, Gemini.
LLM citation tracking is the discipline of polling ChatGPT, Claude, Perplexity, and Gemini for citations of your own pages, then capturing enough provenance — timestamp, model, query, quoted paragraph — to audit a reported citation instead of trusting it.
What this guide is: the full reference architecture, including the session-based browser-automation fallbacks that dedicated monitoring platforms use for surfaces without a citation API. CitationDesk's own Pro plan deliberately tracks a narrower slice — Gemini grounding and OpenAI web search today, with Perplexity being added: sources that expose citations through an official API — and skips authenticated scraping of claude.ai or chat.openai.com sessions. Read this page to understand the whole landscape, then decide how much of it you actually need.
Why these four surfaces?
Most AI-search citation tracking conversations focus on ChatGPT and Perplexity. A serious tracker treats all four as primary, because each surface retrieves and cites differently:
- ChatGPT — cites via ChatGPT search (OAI-SearchBot; reportedly also the Bing index)
- Claude — cites when it uses web search (Claude-SearchBot, Claude-User)
- Perplexity — citation-native; every answer includes inline sources
- Gemini — Google-owned, integrated with Search + Google AI Overviews
Polling only one or two surfaces means missing significant signal. Brand mentions can be citation-rich on Perplexity but absent on Claude (or vice versa) — knowing which surface treats you as a source is itself actionable intelligence.
Perplexity — API primary path
Perplexity exposes a paid API (the Sonar models). The API returns answers with a structured list of the cited URLs alongside the answer text. This is the cleanest surface to poll.
The pattern: send each test query to the API, parse the citations field, match against the tracked domain, record the position of the citation in the response, and snapshot the surrounding paragraph for provenance.
Claude — Anthropic API + claude.ai fallback
Anthropic's API offers a web search tool whose responses include citations for the sources drawn from search results. To match the claude.ai app itself, some trackers fall back to authenticated claude.ai session-based polling — which adds session-management overhead.
Record the model version (Opus / Sonnet) alongside each result, since responses can vary materially between versions. CitationDesk Pro does not poll Claude today, and we chose not to build on claude.ai session scraping.
ChatGPT — browser automation primary
OpenAI's API has a web-search tool that returns URL citations, but it is not the consumer ChatGPT app, which has no citation API. To match the app, some tools use authenticated browser automation against the chat surface: capture the response, then parse the cited URLs.
So an API-based path covers part of the picture and browser automation the rest. Any tool you evaluate should be able to tell you which method it uses per engine, because it determines how closely the tracked answer matches what a real user sees. CitationDesk Pro takes the API-only path: it polls OpenAI's API with the web-search tool enabled and reports those citations as the ChatGPT-surface proxy, rather than scraping an authenticated chat.openai.com session.
Gemini — Vertex AI + gemini.google.com
Google Vertex AI provides programmatic access to Gemini models. For grounded-with-search citations, Vertex AI with the search grounding tool enabled is the clean path. For surfaces that require gemini.google.com web-app behaviour, the fallback is authenticated browser automation, similar to ChatGPT. CitationDesk Pro uses the grounding API only.
The provenance model
This is the part that separates a real citation tracker from a screenshot. Every recorded citation should carry:
- Timestamp (ISO 8601 UTC)
- Model name + version (e.g.
claude-sonnet-4-5-20250929) - Query text (verbatim what we sent)
- Response excerpt (the paragraph containing the citation)
- Cited URL (the exact URL the LLM linked to)
- Position in response (paragraph 1, 2, etc.)
- Other URLs cited in the same response (your competitors, where applicable)
Provenance is what lets you audit a reported citation instead of trusting it. When you evaluate a monitoring tool, ask whether you can export these rows — CSV or API — because a citation you cannot inspect is a number, not evidence.
Choosing a polling cadence
Cadence is a major cost driver in these tools' pricing, because each poll is a paid API call or an automated browser session. The trade-off is simple:
- Weekly — cheapest. Fine for stable evergreen pages where you just want a trend line.
- Daily — catches a drift event within 24 hours instead of 7 days.
- Every few hours — worth it for pages tied to news cycles or active competitive displacement.
- Hourly or faster — rarely justified for most pages.
Higher cadence catches drift sooner. When ChatGPT stops citing a page mid-week because a competitor was elevated, daily polling notices in 24 hours and weekly polling notices in 7 days. Multiply the cadence by the number of queries and tracked pages and you have the real monthly cost of any tool you are comparing.
Before you pay for any of it: make sure the page is actually citable in the first place. Run the free AI Visibility Score — monitoring a page that AI engines can't parse just buys you a flat line.
See how well-known sites score for AI Visibility
Score your own site against this guide.
The free Citation Readiness Score runs every signal from this guide against any URL. ~90 seconds, no signup.
Or skip pasting a URL — email me a free sample AI-visibility report instead.