AI Citations API endpoint
POST /v1/citationsAbout AI Citations
Find which sources AI models cite for a query, ranked by how many models cited each, and optionally check whether one specific URL is cited.
Overview
Aggregate the URLs the models cite for a query, ranked by how many models cited each. Pass an optional url and the response adds a lookup telling you whether that specific URL was cited and by which models.
Need to watch those sources weekly or monthly? Save this input with the Tracker API.
Reading the metrics
Citation presence counts returned source URLs in usable answers. No usable answers means unavailable, not 0%.
Reference
POST
/v1/citations$0.01 to $0.06 / model · billed per model queried, so all 5 models = $0.20. Pass models to query fewer.
Parameters
querystringrequired
The query to look up the web-search sources behind.
urlstringoptional
Optional absolute URL or bare domain (with an optional path) to check for. When set, the response reports whether the models' search surfaced it.
modelsenum[]optional
AI surfaces to query, each billed separately; pass a subset when the user names surfaces or wants a lower cost. Omit for the defaults (chatgpt, perplexity, gemini); fullSweep queries all five. google_ai_overview accepts queries up to 700 characters, the others 2000.
Values:chatgptclaudeperplexitygeminigoogle_ai_overview
fullSweepbooleanoptional
Query all five AI surfaces (adds claude and google_ai_overview) for full cross-surface coverage, at a higher cost. Ignored when models is given.
Request
curl https://www.cite42.dev/api/v1/citations \
-X POST \
-H "Authorization: Bearer $CITE42_API_KEY" \
-H "Content-Type: application/json" \
-d '{"models":["chatgpt","perplexity"],"query":"best startup CRM","url":"https://acme.example/guides/startup-crm"}'Response
{
"query": "best startup CRM",
"sources": [
{
"url": "https://reviews.example/startup-crm",
"title": "Startup CRM guide",
"citedBy": [
"chatgpt",
"perplexity"
],
"count": 2
}
],
"lookup": {
"url": "https://acme.example/guides/startup-crm",
"cited": true,
"citedBy": [
"chatgpt"
]
},
"measurement": {
"methodologyVersion": "2026-09-28-v1",
"surfaces": [
{
"model": "chatgpt",
"provider": "OpenAI",
"access": "official-api",
"webSearch": "auto",
"status": "complete"
},
{
"model": "perplexity",
"provider": "Perplexity",
"access": "native-search",
"webSearch": "always",
"status": "complete"
}
]
},
"metrics": {
"definitionVersion": "2026-09-23-v1",
"checkedAnswers": 2,
"requestedAnswers": 2,
"excludedAnswers": 0,
"note": "A descriptive sample, not a market-wide score. Small samples can swing sharply. Failed, empty and incomplete answers are excluded. Cached observations may be reused. A mention is not an endorsement; position is first-mention order, not a Google ranking. Citation presence refers to returned search sources for the watched URL, not consumer chat citation cards.",
"citation": {
"url": "https://acme.example/guides/startup-crm",
"numerator": 1,
"denominator": 2,
"percentage": 50,
"label": "50% — 1 of 2 checked answers"
}
},
"requestId": "…",
"billing": {
"cost": {
"microCredits": 20000,
"usd": "0.20"
},
"balance": {
"microCredits": 1336000,
"usd": "13.36"
}
}
}