Citations
Find which sources AI models cite for a query, with per-model counts; optionally check a specific URL.
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.
Reference
POST
/v1/citations$0.01-$0.07/model · billed per model queried, so all 5 models = $0.22. Pass models to query fewer.
Parameters
queryrequired | string | The query to look up cited sources for. |
urloptional | string | Optional URL to check for. When set, the response reports whether it was cited. |
modelsoptional | array of enum (chatgpt | claude | perplexity | gemini | google_ai_overview) | Optional model subset. Omit to query all five AI surfaces (chatgpt, claude, perplexity, gemini, google_ai_overview). Pass ["perplexity"] or ["perplexity","claude"] when the user asks for specific surfaces or wants to reduce cost. |
Request
curl https://www.cite42.dev/api/v1/citations \
-X POST \
-H "Authorization: Bearer $CITE42_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"how to optimize for AI search","url":"yourbrand.com/blog/aeo"}'Response
{
"query": "how to optimize for AI search",
"sources": [
{
"url": "https://example.com/ai-search-guide",
"title": "AI search optimization guide",
"citedBy": [
"chatgpt",
"perplexity"
],
"count": 2
}
],
"lookup": {
"url": "yourbrand.com/blog/aeo",
"cited": true,
"citedBy": [
"chatgpt"
]
},
"requestId": "…",
"billing": {
"cost": {
"microCredits": 22000,
"usd": "0.22"
},
"balance": {
"microCredits": 1336000,
"usd": "13.36"
}
}
}