AI Competitors API endpoint

POST /v1/compareAbout AI Competitors

Compare one brand with up to 10 competitors in AI answers: side-by-side rankings per model plus a co-mention graph of which brands appear together.

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.

Reading the metrics
Rates count usable answers only (2 of 3 = 66.7%); no usable answers means unavailable, not 0%. Position is mention order, not search ranking.

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

querystringrequired
The query to compare the brand and competitors on.
brandstringrequired
Your brand — ranked alongside the competitors.
competitorsstring[]required
Competitor brand/domain names (up to 10) to rank against your brand.
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/compare \
  -X POST \
  -H "Authorization: Bearer $CITE42_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fullSweep":true,"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,
        "gemini": null,
        "google_ai_overview": null
      }
    },
    {
      "competitor": "Rival CRM",
      "mentionRate": 0.8,
      "avgPosition": 1,
      "byModel": {
        "chatgpt": 1,
        "claude": 1,
        "perplexity": 1,
        "gemini": 1,
        "google_ai_overview": null
      }
    }
  ],
  "coMentions": [
    {
      "a": "Acme CRM",
      "b": "Rival CRM",
      "count": 2
    }
  ],
  "measurement": {
    "methodologyVersion": "2026-09-28-v1:aio-v2",
    "surfaces": [
      {
        "model": "chatgpt",
        "provider": "OpenAI",
        "access": "official-api",
        "webSearch": "auto",
        "status": "complete"
      },
      {
        "model": "claude",
        "provider": "Anthropic",
        "access": "official-api",
        "webSearch": "auto",
        "status": "complete"
      },
      {
        "model": "perplexity",
        "provider": "Perplexity",
        "access": "native-search",
        "webSearch": "always",
        "status": "complete"
      },
      {
        "model": "gemini",
        "provider": "Google Gemini",
        "access": "official-api",
        "webSearch": "auto",
        "status": "complete"
      },
      {
        "model": "google_ai_overview",
        "provider": "Google AI Overviews",
        "access": "live-serp",
        "webSearch": "always",
        "status": "complete"
      }
    ]
  },
  "metrics": {
    "definitionVersion": "2026-09-23-v1",
    "checkedAnswers": 5,
    "requestedAnswers": 5,
    "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.",
    "mentions": [
      {
        "brand": "Acme CRM",
        "numerator": 3,
        "denominator": 5,
        "percentage": 60,
        "label": "60% — 3 of 5 checked answers"
      },
      {
        "brand": "Rival CRM",
        "numerator": 4,
        "denominator": 5,
        "percentage": 80,
        "label": "80% — 4 of 5 checked answers"
      }
    ]
  },
  "requestId": "…",
  "billing": {
    "cost": {
      "microCredits": 20000,
      "usd": "0.20"
    },
    "balance": {
      "microCredits": 1336000,
      "usd": "13.36"
    }
  }
}