AI Overview Citation Tracker avatar

AI Overview Citation Tracker

Pricing

from $20.00 / 1,000 result founds

Go to Apify Store
AI Overview Citation Tracker

AI Overview Citation Tracker

For each query that matters, see which sources and domains AI assistants cite in their answer — grounded via Perplexity Sonar, GPT or Gemini, no API key needed. GEO citation tracking: the backlink profile of the AI-answer era.

Pricing

from $20.00 / 1,000 result founds

Rating

0.0

(0)

Developer

Tim Zinin

Tim Zinin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Categories

Share

AI Overview Citation Tracker — Who Gets Cited by AI Answers?

When a buyer asks Perplexity or ChatGPT "best project management software," the answer links to a handful of sources — a review site, a vendor's own docs, maybe a competitor's blog. Those citations are the new backlinks, and this Actor tells you which domains and URLs get cited, query by query, model by model — out of the box, no API key and no monthly seat.

Search is moving into AI answers, and GEO (Generative Engine Optimization) tools like Ahrefs Brand Radar, Profound and Otterly charge hundreds a month to track this. This Actor does the core job — per query, pay-as-you-go, no seat.

What you get

  • Per-query, per-model citation data. For every query × model pair: the domains cited, the full source URLs, and a snippet of the model's actual answer.
  • Works out of the box — no API key needed. LLM access is built in and covered by the per-row price. Prefer your own OpenRouter key? Pass it and the tokens bill to your account at cost instead, nothing marked up.
  • Three grounded engines. perplexity/sonar (built-in web search), plus openai/gpt-4o-mini:online and google/gemini-2.5-flash:online (OpenRouter's web plugin).
  • Any language. Set lang and the grounded model answers natively — this isn't a translation layer bolted on afterward.
  • Runs on Apify: schedule it, monitor it, call it from the API or the MCP server, export to JSON, CSV or Excel, or push results straight into your own pipeline.

How to run it

  1. Click Try for free — no card needed on the free plan.
  2. Paste your queries into Queries and, optionally, extra models into Models. No API key needed.
  3. Press Start. Results appear in the dataset — one row per query × model — read them in the UI, pull them from the API, or have a webhook push them onward.

Pricing

Pay-per-event: $0.005 per run start + $0.02 per query × model row, and the row price includes the LLM call — grounded web-search queries are not cheap tokens, and perplexity/sonar alone bills around $0.005 per searched answer, which this price covers for you. Every model you add multiplies the bill, not just every query — 10 queries across 2 models is 20 billed rows, not 10: 20 × $0.02 + $0.005 start ≈ $0.41. 100 rows cost about $2.01. Both fields are capped (20 queries, 5 models), so the most a single run can charge is 100 rows, about $2.01, no matter how large you set them.

Pass your own openrouterApiKey and the LLM tokens bill to your OpenRouter account instead, at cost — the Actor's row price stays the same either way. Rows where the call failed are still returned, with found: false and the reason, and are not charged for.

Input

FieldRequiredWhat it does
queriesyesPrompts a real buyer would ask. Up to 20 per run. Each is run against every model in models.
modelsnoOpenRouter model IDs to test — grounded options: perplexity/sonar, openai/gpt-4o-mini:online, google/gemini-2.5-flash:online. Up to 5 per run. Default ["perplexity/sonar"].
langnoAnswer language, e.g. en, ru, tr. Default en.
openrouterApiKeynoOptional. Leave empty to use the built-in LLM access (included in the row price). Pass your own OpenRouter key to have tokens billed to your account instead.
maxConcurrencynoParallel LLM calls, 1–10 (default 3), kept low to respect rate limits.
{
"queries": ["best project management software", "what is the capital of France"],
"models": ["perplexity/sonar"]
}

Output

One row per query × model pair. This is a real row from a real run — nothing invented:

{
"query": "best crm for small business",
"model": "perplexity/sonar",
"lang": "en",
"found": true,
"citedDomains": ["pcmag.com", "zapier.com", "techradar.com", "fitsmallbusiness.com", "fayedigital.com"],
"citedUrls": ["https://www.pcmag.com/picks/the-best-small-business-crm-software", "https://zapier.com/blog/best-crms-for-small-business/", "https://www.techradar.com/best/best-crm-for-small-business", "https://fitsmallbusiness.com/best-crm-for-small-business/", "https://fayedigital.com/blog/best-crm-for-small-business/"],
"answerSnippet": "The **best CRM for a small business depends on your priorities**, but the most consistently recommended options in 2026 are **Bigin by Zoho CRM** for overall value and simplicity, and **HubSpot CRM** for teams that want a strong free/startup-friendly option...",
"promptTokens": 33,
"completionTokens": 398,
"summary": "perplexity/sonar on \"best crm for small business\": cites 5 sources: pcmag.com, zapier.com, techradar.com, fitsmallbusiness.com, fayedigital.com.",
"checkedAt": "2026-07-28T15:50:06.215Z"
}
FieldWhat it means
query / model / langEcho of the input for this row
foundWhether the call succeeded
citedDomainsThe domains the model's answer is grounded in
citedUrlsThe full source URLs behind those domains
answerSnippetFirst 280 characters of the model's answer
promptTokens / completionTokensToken usage reported by OpenRouter for this call, for reconciling your own bill
summaryHuman-readable one-line summary of the domains cited for this query × model
found: falseSame shape, citedDomains/citedUrls empty, answerSnippet: null, and an error — not billed

Need the rest of the picture?

These run on the same account, take the same shape of input and bill the same way, so they slot into an existing pipeline without new plumbing.

ActorWhat it does
AI Crawler Access CheckerCheck which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended & more) can access your website
Domain Health CheckerBulk-audit domains: DNS records, SSL certificate expiry, SPF & DMARC email authentication
LLM Brand Visibility TrackerFor each query that matters, check whether AI assistants recommend YOUR brand — and which competitors they…
Social Preview CheckerSee exactly how your links look when shared on Telegram, WhatsApp, X, LinkedIn, Slack, Facebook & Discord
B2B Lead EnricherTurn a list of company websites into sales-qualified lead cards: detected tech stack, a rough revenue…

FAQ

Do I need an API key? No — it works out of the box, LLM access is built in and covered by the row price. Passing your own OpenRouter key is optional: do it if you want the tokens billed to your account at OpenRouter's own price, with your own rate limits.

Which languages work? Any — set lang (e.g. ru, tr). Grounded models answer natively.

Can an agent call it? Yes — a standard Apify Actor, callable from the Apify API, the SDK, or the Apify MCP server.

What this is NOT. It does not trust whatever an LLM says without grounding — it is built for web-searching models; an ungrounded model will simply produce a thinner citedUrls list scraped from its own text.

Found a wrong result, or need a model we don't list? Open an issue on this Actor's page.


Built by zinin. Questions? Telegram @timzinin.