Rankings
Measure how a set of brands rank in AI answers: mention rate, average position, and a per-model breakdown.
Overview
Track how often each model mentions a brand for a query, in what position, and the per-model split. mentionRate is the fraction of queried models whose answer named the brand; avgPosition is the mean 1-based rank of its first mention.
Reference
POST
/v1/rankings$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 measure brand/competitor visibility on. |
competitorsrequired | string[] | Brand or domain names to track within the AI-generated answers. |
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/rankings \
-X POST \
-H "Authorization: Bearer $CITE42_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"best CRM for SaaS","competitors":["attio","hubspot"]}'Response
{
"query": "best CRM for SaaS",
"rankings": [
{
"competitor": "hubspot",
"mentionRate": 0.8,
"avgPosition": 1.5,
"byModel": {
"chatgpt": 1,
"claude": 1,
"perplexity": 2,
"gemini": 2,
"google_ai_overview": 1
}
}
],
"requestId": "…",
"billing": {
"cost": {
"microCredits": 22000,
"usd": "0.22"
},
"balance": {
"microCredits": 1336000,
"usd": "13.36"
}
}
}