Competitor Tracker & Co. Docs

List the current organization's competitor subscriptions.

A page of subscriptions, newest first by default. `sort=name` orders them A–Z by the name you see. `changedSince` keeps only competitors with a detected change at or after that instant. `count=true` returns the total the same filters would list, instead of a page.

Required role: member or higher (organization-level).

Required scope: competitors:read (for both OAuth2 tokens and API keys).

GET
/v1/competitors

Authorization

X-API-Key<token>

In: header

Query Parameters

cursor?string
Length1 <= length
limit?integer
Range1 <= value <= 200
labelId?|array<string>

Filter to competitors carrying any of these labels. Repeatable or comma-separated.

search?string

Free-text search over a competitor's name, display name, and URL (case-insensitive substring).

changedSince?string

ISO-8601 instant. Keep only competitors with a detected change at or after it, for example the last seven days.

sort?string

added (default) lists the newest subscription first. name lists A–Z by the name you see. Cursors are specific to a sort; a cursor from one restarts the other at page 1.

Value in"added" | "name"
count?string

Return { total } for the same filters instead of a page. limit, cursor and sort are ignored.

Value in"true" | "false"

Response Body

application/json

application/json

curl -X GET "https://api.competitortracker.io/v1/competitors"
{
  "items": [
    {
      "id": "string",
      "url": "string",
      "normalizedUrl": "string",
      "name": "string",
      "description": "string",
      "displayName": "string",
      "faviconUrl": "string",
      "competitorKind": "company",
      "parentCompetitorId": "string",
      "trackedCategories": [
        "string"
      ],
      "labels": [
        {
          "id": "string",
          "name": "string",
          "color": "string"
        }
      ],
      "addedAt": "string",
      "paused": true,
      "pauseReason": "string",
      "nextChargeAt": "string",
      "crawlHealth": "permanent_dead",
      "healthDetail": "string",
      "lastCrawledAt": "string",
      "lastChangeAt": "string",
      "updatedAt": "string"
    }
  ],
  "nextCursor": "string"
}
{
  "code": "string",
  "message": "string",
  "resolution": "string"
}