API

Brands

List monitored brands and their configuration

A Brand is a workspace that tracks one brand across a primary domain and additional domains. The API returns brands on a paid plan only. Free brands do not appear.

List brands

GET /v1/brands

Returns paid brands in the API key's scope. Ordered by creation date, newest first.

  • Keys with all brands access return every paid brand on the team
  • Scoped keys return only their authorised paid brands

Headers

HeaderValueRequired
AuthorizationBearer hdg_sk_live_...Yes

Query parameters

ParameterTypeDescription
limitintegerMaximum results per page. Default: 100, max: 1000.
offsetintegerRows to skip. Default: 0.

Example

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

Response: 200 OK

{
  "data": [
    {
      "id": "f1e2d3c4-b5a6-7890-abcd-ef1234567890",
      "name": "Acme Corp",
      "domain": "acme.com",
      "description": "Enterprise workflow automation platform",
      "location": "en-US",
      "targetMarkets": [
        { "market": "en-US", "areas": [] },
        { "market": "de-DE", "areas": ["Berlin", "Munich"] }
      ],
      "enabledModels": ["chatgpt", "google_ai_overview", "perplexity"],
      "activePromptCount": 30,
      "createdAt": "2026-03-15T00:00:00.000Z",
      "updatedAt": "2026-07-01T00:00:00.000Z"
    }
  ],
  "total": 1
}

Response fields

FieldTypeDescription
idstringBrand UUID
namestringDisplay name
domainstringPrimary domain
descriptionstring or nullBrand description
locationstring or nullThe brand's primary market, as an IETF tag (en-US, de-DE)
targetMarketsobject[]Markets the business declares it sells in. Each is { market, areas }, where areas is free text inside that market
enabledModelsstring[]AI platforms tracked for this brand
activePromptCountnumberCount of active monitoring prompts
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