Compare
Side-by-side rankings for your brand vs. up to 10 competitors, plus a co-mention graph.
Overview
Like /v1/rankings but for one primary brand against a competitor set, with a coMentions graph: for each pair of brands, how many model answers name both, surfacing who AI frames you alongside.
Need a weekly or monthly comparison history? Save this input with the Tracker API.
Reference
POST
/v1/compare$0.01 to $0.06/model · billed per model queried, so all 5 models = $0.20. Pass models to query fewer.
Parameters
queryrequired | string | The query to compare the brand and competitors on. |
brandrequired | string | Your brand — ranked alongside the competitors. |
competitorsrequired | string[] | Competitor brand/domain names (up to 10) to rank against your brand. |
modelsoptional | array of enum (chatgpt | claude | perplexity | gemini | google_ai_overview) | Optional model subset. Omit to query the default surfaces (chatgpt, perplexity, gemini). Pass ["perplexity"] or ["perplexity","claude"] when the user names specific surfaces or wants to reduce cost. The full set is chatgpt, claude, perplexity, gemini, google_ai_overview — to query all of them, set fullSweep instead of listing them. |
fullSweepoptional | boolean | Query all five AI surfaces instead of the three default ones, adding claude and google_ai_overview. Costs more per call. Use it when the user wants complete cross-model coverage, is comparing surfaces against each other, or asks specifically about Claude or Google AI Overviews. Ignored when models is given. |
Request
curl https://www.cite42.dev/api/v1/compare \
-X POST \
-H "Authorization: Bearer $CITE42_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"best startup CRM","brand":"Acme CRM","competitors":["Rival CRM","Legacy CRM"]}'Response
{
"query": "best startup CRM",
"brand": "Acme CRM",
"rankings": [
{
"competitor": "Acme CRM",
"mentionRate": 0.6,
"avgPosition": 2,
"byModel": {
"chatgpt": 2,
"claude": 2,
"perplexity": 2
}
},
{
"competitor": "Rival CRM",
"mentionRate": 0.8,
"avgPosition": 1,
"byModel": {
"chatgpt": 1,
"claude": 1,
"perplexity": 1,
"gemini": 1
}
}
],
"coMentions": [
{
"a": "Acme CRM",
"b": "Rival CRM",
"count": 2
}
],
"measurement": {
"methodologyVersion": "2026-07-21-v2",
"surfaces": [
{
"model": "chatgpt",
"provider": "OpenAI",
"access": "official-api",
"webSearch": "auto"
},
{
"model": "claude",
"provider": "Anthropic",
"access": "official-api",
"webSearch": "auto"
},
{
"model": "perplexity",
"provider": "Perplexity",
"access": "native-search",
"webSearch": "always"
},
{
"model": "gemini",
"provider": "Google Gemini",
"access": "official-api",
"webSearch": "auto"
}
]
},
"requestId": "…",
"billing": {
"cost": {
"microCredits": 20000,
"usd": "0.20"
},
"balance": {
"microCredits": 1336000,
"usd": "13.36"
}
}
}