---
title: "List Sites"
method: GET
path: "/{brand_id}/sites"
tags: ["agent-pages"]
---

# List Sites

`GET /{brand_id}/sites`

## Request

- Base URL: `https://api.scrunchai.com/v1`
- URL: `https://api.scrunchai.com/v1/{brand_id}/sites`
- Auth: HTTP bearer

List the brand's sites. A domain can have more than one row, and each route accepts only some of them: pass the `id` with `agent_pages_active: true` to the Agent Pages force refresh, and the one with `agent_traffic_active: true` to agent traffic.

## Path parameters

- `brand_id` integer, required

## Response `200`

Successful Response

- CollectionResponsePublicSite
  - `total` integer, required
  - `offset` integer
  - `limit` integer, nullable
  - `items` PublicSite[], required
    - `id` string, required: Site ID. Pass it as `{site_id}` to a route whose flag below is `true`.
    - `domain` string, required: The site's registered domain.
    - `agent_pages_active` boolean, required: Whether this site accepts an Agent Pages force refresh. Other sites return 404 or 409.
    - `agent_traffic_active` boolean, required: Whether `GET /{brand_id}/sites/{site_id}/agent-traffic` accepts this site. Other sites return 404.
  - `metadata` TimeSeriesMetadata
    - `aggregation_granularity` 'daily' | 'weekly' | 'monthly', required
    - `period_count` integer, required: The number of periods in the time series
    - `start_date` string, date-time, required: The start date of the time series
    - `end_date` string, date-time, required: The end date of the time series
    - `top_domains` TopDomainsMetadata: Metadata about top domains, used by sources/domains endpoints.
      - `domains` TopDomainSummary[], required: Top domains by observation count (always domain-level aggregated)
        - `domain` string, required
        - `domain_owner` string, required
        - `observation_count` integer, required
      - `grand_total` integer, required: Total observation count across all domains (for calculating 'Other')
      - `owner_totals` object, required: Observation counts by owner type (brand, competitor, other)
      - `owner_time_series` OwnerTimeSeriesPoint[], nullable: Time series data by owner type for trend visualization
        - `time_bucket` string, required: Date string for the time bucket (YYYY-MM-DD)
        - `brand` integer, required: Observation count for brand-owned domains
        - `competitor` integer, required: Observation count for competitor-owned domains
        - `other` integer, required: Observation count for third-party domains
      - `segment_totals` SegmentTotal[]: Server-side observation counts per citation segment (covers all domains, not just top-N)
        - `name` string, required
        - `observation_count` integer, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-14** `02811baee87e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/scrunchai/apis/scrunch-data-api/changes/:brand_id/sites/get.md)

---

[API](https://skmtc.dev/scrunchai/apis/scrunch-data-api.md) - [All operations](https://skmtc.dev/scrunchai/apis/scrunch-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/scrunchai/apis/scrunch-data-api/revisions/de4fc679600a?raw)
