List cited domains

GET
/brands/{brandId}/citations/domains

Domains the engines cited when answering this brand's prompts, categorized and compared against the equal-length window immediately before this one.

Authorization

BearerAuth
headerAuthorizationBearer <token>

An organization key (signal_…) created under Organization Settings → API Keys.

Path Parameters

brandId*string

Brand identifier.

Query Parameters

start*string

Inclusive lower bound of the window, an ISO 8601 timestamp such as 2026-01-01T00:00:00Z. Aligned down to the quarter hour, the grain analytics are aggregated at; where a response repeats the window, it repeats the aligned one. A bare YYYY-MM-DD is rejected: that is /prompts/{promptId}/snapshot's spelling and means a local calendar day there.

Formatdate-time
end*string

Exclusive upper bound of the window, an ISO 8601 timestamp, also aligned down to the quarter hour. The window is half-open: a run at exactly end is outside it. start and end inside one quarter-hour bucket leave an empty window and are rejected.

Formatdate-time
model?string

Restrict to one model, e.g. chatgpt. See GET /models.

tags?string

Comma-separated prompt tags. Only prompts carrying at least one of them are counted.

page?integer

Page number, 1-based.

Range1 <= value
Default1
limit?integer

Items per page. Values above the maximum are clamped, not rejected. The default is large enough that most windows fit on the first page.

Range1 <= value <= 1000
Default1000
q?string

Case-insensitive substring match on the domain, across every domain cited in the window.

category?string

Only rows in this category, as the dashboard classifies them for this brand: brand, competitor, editorial, reviews, ecommerce, social, developer, pr, reference, institutional or other.

Response Body

List cited domains

application/json
  1. response
brandId*string
range*

The window the response was computed over, echoed back as the half-open instants it resolved to.

totals*
data*array<>

This page of the domains cited over the window, ordered by citation count. totals covers every domain.

pagination*
Example Request
curl -X GET 'https://app.signal.metricshive.com/api/v1/brands/string/citations/domains?start=2019-08-24T14%3A15%3A22Z&end=2019-08-24T14%3A15%3A22Z'
Example Response
{
  "brandId": "string",
  "range": {
    "start": "2019-08-24T14:15:22Z",
    "end": "2019-08-24T14:15:22Z"
  },
  "totals": {
    "citations": 0,
    "uniqueDomains": 0,
    "uniqueUrls": 0
  },
  "data": [
    {
      "domain": "string",
      "category": "brand",
      "count": 0,
      "share": 0,
      "promptCount": 0,
      "previousCount": 0,
      "changeFactor": 0
    }
  ],
  "pagination": {
    "page": 0,
    "limit": 0,
    "total": 0,
    "totalPages": 0
  }
}