---
title: "One public brand's grouped signals over the last `days` days, newest first, as radar.signals builds them for tracked brands: ads started, confirmed stops and link changes per day, active-ad ramps and drops, launch bursts, sales, new landing pages, new linked pages, new whitelisting pairs, format-mix shifts, long-running ads refreshed (capped at 3 days), and storefront offers started. Each carries evidence links."
method: GET
path: "/v1/brands/{brandId}/signals"
tags: ["brands"]
---

# One public brand's grouped signals over the last \`days\` days, newest first, as radar.signals builds them for tracked brands: ads started, confirmed stops and link changes per day, active-ad ramps and drops, launch bursts, sales, new landing pages, new linked pages, new whitelisting pairs, format-mix shifts, long-running ads refreshed (capped at 3 days), and storefront offers started. Each carries evidence links.

`GET /v1/brands/{brandId}/signals`

## Request

- Base URL: `https://api.storequant.com`
- URL: `https://api.storequant.com/v1/brands/{brandId}/signals`
- Auth: HTTP bearer

One public brand's grouped signals over the last `days` days, newest first, as radar.signals builds them for tracked brands: ads started, confirmed stops and link changes per day, active-ad ramps and drops, launch bursts, sales, new landing pages, new linked pages, new whitelisting pairs, format-mix shifts, long-running ads refreshed (capped at 3 days), and storefront offers started. Each carries evidence links. Scope `brands:read`; cache `daily`.

## Path parameters

- `brandId` union, required
  - string, uuid
  - string

## Query parameters

- `days` integer
- `type` 'ads_started' | 'ads_stopped' | 'ad_destinations_changed' | 'active_ads_ramp' | 'active_ads_drop' | 'active_ads_went_dark' | 'long_runners_refreshed' | 'launch_burst' | 'sale_detected' | 'new_landing_pages' | 'new_pages_linked' | 'new_whitelisting_pairs' | 'format_mix_shift' | 'offers_started'

## Response `200`

Success.

- object
  - `data` object[], required
    - `id` string, required
    - `type` 'ads_started' | 'ads_stopped' | 'ad_destinations_changed' | 'active_ads_ramp' | 'active_ads_drop' | 'active_ads_went_dark' | 'long_runners_refreshed' | 'launch_burst' | 'sale_detected' | 'new_landing_pages' | 'new_pages_linked' | 'new_whitelisting_pairs' | 'format_mix_shift' | 'offers_started', required
    - `basis` 'ad_changes' | 'daily_activity' | 'creative_versions' | 'landing_pages' | 'page_links' | 'branded_content' | 'storefront_offers', required
    - `brand` object, required
      - `id` string, uuid, required
      - `slug` string, required
      - `name` string, required
      - `logo_url` string, uri, nullable, required
      - `url` string, uri, required
    - `occurred_on` string, date, required
    - `detected_at` string, date-time, nullable, required
    - `count` integer, required
    - `summary` string, required
    - `evidence` object, required
      - `ads` object[], required
        - `id` string, required
        - `url` string, uri, required
      - `urls` string[], required
      - `pages` object[], required
        - `id` string, required
        - `url` string, uri, required
    - `details` object, required
  - `meta` object, required
    - `request_id` string, required
    - `as_of` string, date-time, required
    - `lag_hours` number
    - `cursor` string
    - `count` integer
    - `partial` boolean
    - `notes` string[]

## Other responses

- `4XX`: The one error shape.
- `5XX`: The one error shape.

---

[API](https://skmtc.dev/scrollstash/apis/storequant-api.md) · [All operations](https://skmtc.dev/scrollstash/apis/storequant-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrollstash/apis/storequant-api/revisions/4d67a114a13c?raw)
