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.

Need the same measurement weekly or monthly? Save this input with the Tracker API.

Reference

POST/v1/rankings

$0.01 to $0.06/model · billed per model queried, so all 5 models = $0.20. Pass models to query fewer.

Parameters

queryrequiredstringThe query to measure brand/competitor visibility on.
competitorsrequiredstring[]Brand or domain names to track within the AI-generated answers.
modelsoptionalarray 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.
fullSweepoptionalbooleanQuery 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/rankings \
  -X POST \
  -H "Authorization: Bearer $CITE42_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"best startup CRM","competitors":["Acme CRM","Rival CRM","Legacy CRM"]}'

Response

{
  "query": "best startup CRM",
  "rankings": [
    {
      "competitor": "Rival CRM",
      "mentionRate": 0.8,
      "avgPosition": 1.5,
      "byModel": {
        "chatgpt": 1,
        "claude": 1,
        "perplexity": 2,
        "gemini": 2,
        "google_ai_overview": 1
      }
    }
  ],
  "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"
      },
      {
        "model": "google_ai_overview",
        "provider": "Google AI Overviews",
        "access": "live-serp",
        "webSearch": "always"
      }
    ]
  },
  "requestId": "…",
  "billing": {
    "cost": {
      "microCredits": 20000,
      "usd": "0.20"
    },
    "balance": {
      "microCredits": 1336000,
      "usd": "13.36"
    }
  }
}