API

Competitors

View tracked competitors across AI responses

The competitors API returns brands you're tracking alongside your own in AI search responses. Competitors belong to the team; team-wide competitors apply to every property, pinned competitors to one.

List competitors

GET /v1/competitors

Returns competitors visible to the API key: team-wide competitors plus those pinned to paid properties in scope. Ordered by creation date, newest first. A key with no paid property in scope returns an empty list.

Headers

HeaderValueRequired
AuthorizationBearer hdg_sk_live_...Yes

Query parameters

ParameterTypeDescription
propertyIdstringReturn team-wide competitors plus those pinned to this property.
limitintegerMaximum results per page. Default: 100, max: 1000.
offsetintegerRows to skip. Default: 0.

Example

curl https://api.useheading.com/v1/competitors \
  -H "Authorization: Bearer hdg_sk_live_abc123..."

Response: 200 OK

{
  "data": [
    {
      "id": "d4e5f6a7-b8c9-0123-cdef-123456789012",
      "displayName": "BrightEdge",
      "trackedName": "BrightEdge",
      "domains": ["brightedge.com"],
      "propertyId": null,
      "createdAt": "2026-04-02T00:00:00.000Z",
      "updatedAt": "2026-06-30T00:00:00.000Z"
    }
  ],
  "total": 1
}

Response fields

FieldTypeDescription
idstringCompetitor UUID
displayNamestringDisplay name
trackedNamestringName matched in AI responses
domainsstring[]Competitor domains
propertyIdstring or nullPinned property UUID. Null = team-wide.
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 last-update timestamp

Error responses

StatusCodeWhen
400INVALID_PARAMInvalid query parameter
401MISSING_AUTHNo Authorization header
401INVALID_AUTHHeader is not Bearer {key}
401INVALID_KEYInvalid or revoked API key
429RATE_LIMIT_EXCEEDEDRate limit exceeded (100 req/min)
500INTERNAL_ERRORServer error