AI Citation Monitor — ChatGPT, Perplexity & More avatar

AI Citation Monitor — ChatGPT, Perplexity & More

Pricing

from $40.00 / 1,000 prompt engine checks

Go to Apify Store
AI Citation Monitor — ChatGPT, Perplexity & More

AI Citation Monitor — ChatGPT, Perplexity & More

Track which domains and URLs ChatGPT, Perplexity, Claude, and Gemini cite. Monitor your brand, competitors, citation share, and changes over time.

Pricing

from $40.00 / 1,000 prompt engine checks

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

10 days ago

Last modified

Share

AI Citation Monitor — ChatGPT, Perplexity, Claude & Gemini

Track which websites and URLs ChatGPT, Perplexity, Claude, and Gemini cite for your target prompts—and whether your domain earns a citation. This AI citation tracker supports Generative Engine Optimization (GEO), Answer Engine Optimization (AEO), competitor citation analysis, and scheduled AI search monitoring.

Export results, run via API, schedule and monitor runs, or integrate with other tools.


What it does

For every prompt × engine, the actor records:

  • brand_cited — was your domain cited as a source?
  • citation_domains / citation_urls — every source the answer relied on
  • competitor_domains_cited — which rivals got cited alongside (or instead of) you
  • new_domains / lost_domains — what changed since the last run
  • citation_statusnew, gained, lost, unchanged, or absent for your domain

Plus a run SUMMARY in the key-value store:

  • citation leaderboard — the domains AI cites most for your topics, with share %
  • brand citation rate — how often your domain is cited
  • citation gap domains — high-authority sources cited ahead of you (your opportunity list)

AI citation data you can extract

Field groupIncluded data
Query contextPrompt, AI engine, model used, and check timestamp
Brand citationsCitation status, matching brand URLs, and previous-run state
Source discoveryAll citation URLs, unique citation domains, and total citations
Competitor intelligenceCompetitor domains cited in the same answer
Trend signalsNew domains, lost domains, and gained/lost/unchanged status
Run summaryCitation leaderboard, brand citation rate, and citation gaps

Input

FieldTypeDescription
brandDomainstringThe domain you want cited (e.g., notion.so).
competitorDomainsstring[]Competitor domains to track in citations.
promptsstring[]Questions to monitor (auto-generated from industry if empty).
industrystringFallback for prompt generation.
trackingIdstringStable ID for run-over-run citation history.
maxPromptsintegerCap on prompts per run (cost control).

Engines, models, and web search are managed internally (all four engines, web search on) for predictable cost.

Example input

{
"brandDomain": "notion.so",
"competitorDomains": ["evernote.com", "obsidian.md"],
"prompts": [
"What is the best note-taking app for teams?",
"Recommend an all-in-one workspace tool."
]
}

API key (required)

All engines run through OpenRouter — set a single environment variable on the actor (Console → Settings → Environment variables, mark Secret):

OPENROUTER_API_KEY = sk-or-...

If the key is missing, checks are reported with an error and not charged.


Output

Each row:

{
"brand_domain": "notion.so",
"engine": "perplexity",
"model_used": "perplexity/sonar",
"prompt": "What is the best note-taking app for teams?",
"brand_cited": true,
"brand_cited_urls": ["https://notion.so/product"],
"citation_urls": ["https://notion.so/product", "https://zapier.com/blog/..."],
"citation_domains": ["notion.so", "zapier.com", "g2.com"],
"competitor_domains_cited": ["evernote.com"],
"total_citations": 8,
"new_domains": ["g2.com"],
"lost_domains": ["reddit.com"],
"previous_brand_cited": false,
"citation_status": "gained",
"error": null,
"checked_at": "2026-06-08T12:00:00.000Z"
}

Each dataset row represents one prompt × engine check, which makes the output easy to filter by query, model, competitor, or date. Use the SUMMARY key for dashboards and executive reporting; use dataset rows for detailed analysis and data pipelines.

Run with the Apify API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('USERNAME/ai-citation-monitor').call({
brandDomain: 'notion.so',
competitorDomains: ['evernote.com', 'obsidian.md'],
prompts: ['What is the best note-taking app for teams?'],
trackingId: 'notion-weekly',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

You can also call the actor from Apify MCP, trigger it through a schedule, connect a webhook, or export the dataset in standard Apify formats.


Pricing (Pay Per Event)

EventWhen
actor-startOnce per run.
prompt-engine-checkEach successful prompt × engine check.

Failed checks are not charged.

Your total checks equal the number of prompts multiplied by the four managed engines. For example, 5 prompts × 4 engines produces up to 20 successful prompt-engine-check events. Use maxPrompts to place a predictable ceiling on the run.


Scheduling for trend tracking

  1. Run once to seed a baseline.
  2. Schedule daily/weekly with the same trackingId.
  3. Each run diffs cited domains vs the last snapshot (new_domains / lost_domains) and updates your domain's citation_status.

History is stored in a named key-value store (ai-citation-history-<trackingId>), so multiple sites track independently.


Use cases

  • GEO content strategy — find the exact sources AI cites for your topics, then earn placement on them.
  • Citation gap analysis — see which authoritative domains outrank you and prioritize outreach.
  • Competitive monitoring — track when competitors gain or lose AI citations.
  • Pairs with the AI Visibility Rank Tracker for a full GEO picture: mentions + citations.

When not to use it

This actor measures cited sources in AI answers. It is not a backlink crawler, Google Search Console replacement, conventional keyword rank tracker, or guarantee that every end user receives the same answer. Use the AI Visibility Rank Tracker when the main question is whether a brand is mentioned or ranked; use this actor when the main question is which domains and pages are cited.

Best practices for GEO citation monitoring

  • Track buyer-intent prompts rather than broad one-word topics.
  • Keep prompts and trackingId stable so gained/lost comparisons remain meaningful.
  • Separate branded prompts from non-branded category prompts.
  • Review cited URLs, not just domains, to learn which page formats earn AI citations.
  • Treat new and lost citations as signals to investigate; model outputs naturally vary.

FAQ

What is an AI citation?

An AI citation is a source URL referenced by an AI answer. Citation availability and formatting depend on the selected model and its web-grounding behavior.

Can this monitor ChatGPT citations over time?

Yes. Schedule runs with the same trackingId to compare each prompt and engine against the previous snapshot.

Does a missing citation mean my website is invisible?

Not necessarily. Your brand may be mentioned without a linked citation, and answers vary. Combine citation rate with brand mention, position, and share-of-voice metrics for a fuller view.

Reliability, privacy, and responsible use

AI responses and citations can change between runs because models, indexes, and web results change. Check the error field before treating an absent citation as a valid negative result. Store the OpenRouter key as a secret environment variable; never place it in actor input. Use this tool for lawful market research and verify important claims against primary sources.