---
title: "Early-warning signals for a catalog (not recalls), newest first, a page at a time"
method: GET
path: "/v1/catalogs/{id}/signals"
---

# Early-warning signals for a catalog (not recalls), newest first, a page at a time

`GET /v1/catalogs/{id}/signals`

## Request

- Base URL: `https://api.recallsapi.com`
- URL: `https://api.recallsapi.com/v1/catalogs/{id}/signals`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Signals (NHTSA investigations, CPSC violation notices, SEC filings, Prop 65 notices, SaferProducts.gov incident reports) whose identifiers carry an item's model, vehicle, campaign or brand key. Items are linked to every stored signal when they are uploaded (at most 50 per item, newest first) and to every new or changed signal by the daily pipeline. New signals ride with the daily alert under a "signals" section labelled as not recalls. Metered like /matches. `status` is open (default), dismissed or all.

## Path parameters

- `id` string, required

## Query parameters

- `status` 'open' | 'dismissed' | 'all'
- `limit` integer
- `cursor` string

## Response `200`

OK

- object
  - `results` CatalogSignal[]
    - `id` string
    - `item` object
      - `id` string
      - `sku` string
      - `title` string, nullable: The item name as uploaded
      - `identifiers` object: The item's brand, upc, model, ndc, lot and vin, those that were uploaded
    - `signal` Signal: A public record that precedes or accompanies a recall: an NHTSA defect investigation, a CPSC notice of violation, an SEC 8-K filing, a California Proposition 65 60-day notice or a SaferProducts.gov incident report. Stored signals also include 3 GlobeNewswire recall press releases, kept from a source retired on 2026-10-13. A signal is not a recall and not a finding against the product; a Prop 65 notice is a private party's allegation, and a SaferProducts report is a submission to CPSC, not a CPSC finding.
      - `id` string
      - `source` 'nhtsa_inv' | 'cpsc_nov' | 'globenewswire' | 'sec' | 'prop65' | 'spdb': nhtsa_inv: NHTSA defect investigations; cpsc_nov: CPSC notices of violation; globenewswire: GlobeNewswire recall press releases (retired 2026-10-13; the 3 stored releases are kept); sec: SEC EDGAR 8-K filings; prop65: California Attorney General Proposition 65 60-day notices; spdb: CPSC SaferProducts.gov incident reports
      - `kind` 'investigation' | 'violation' | 'press_release' | 'filing' | 'prop65_notice' | 'incident'
      - `title` string
      - `summary` string, nullable: Agency text for investigations and violation notices; for Prop 65 notices the chemicals, the product or source text, the case events, the statement that a notice is a private party's allegation, the AG accuracy disclaimer and the AG notice page; null for press releases and filings, which are stored as facts only (title, date, issuer or filer, link); for SaferProducts incident reports the product, category and incident state, then the CPSC database disclaimer and the statement that a report is a submission to CPSC, not a CPSC finding
      - `firms` string[]: Manufacturer, firm named in the notice, press release issuer, SEC filer or the alleged violators of a Prop 65 notice
      - `products` string[]: Investigations: the components under investigation, then the vehicles as make and model; violation notices: the product name; Prop 65 notices: the product or source text as the noticing party wrote it; empty for facts-only sources
      - `signal_date` string, date, nullable: Date the investigation opened, the violation notice is dated, the filing was filed, the Prop 65 notice was filed with the AG or the incident report was submitted (its publication date when the report date is missing); for a stored GlobeNewswire release, the day it was published
      - `end_date` string, date, nullable: Date an investigation closed; null while open and for other kinds
      - `status` string, nullable: Investigations: open or closed. Violation notices: the action CPSC requested (Recall, Seize, Correct Future Production, Stop Sale and Correct Future Production). Prop 65 notices: notice, complaint, withdrawn or settled, from the case events the AG records. Null otherwise.
      - `flags` string[]: recall_campaign: the investigation led to at least one recall campaign (a campaign identifier names it); recall_requested: CPSC asked for a recall; facts_only: only title, date, issuer or filer and link are stored; allegation: a private party's notice, not a finding (Prop 65); submission: a SaferProducts.gov report, a submission to CPSC, not a CPSC finding
      - `url` string, uri: Human page at the source
      - `source_url` string, uri: Machine-readable file, feed or query we read
      - `first_seen` string, date-time
      - `as_of` string, date-time: When recallsapi.com last saw this record change
      - `identifiers` object[]: Only on /v1/signals/{id}: model, gtin, mmy, mm, campaign, brand (compact firm key), cik
        - `kind` string
        - `value` string
        - `raw` string
    - `reasons` string[]: The keys the link rests on: "model KDB504B", "mmy HONDA|CIVIC|2016", "campaign 16V218000" or "brand HONDA"
    - `first_seen` string, date-time: When the signal was linked to the item
    - `dismissed_at` string, date-time, nullable
  - `next_cursor` string, nullable

## Other responses

- `400`: Invalid input
- `401`: Missing or invalid API key
- `404`: No such catalog on this account
- `429`: Daily quota reached

---

[API](https://skmtc.dev/recallsapi/apis/recallsapi-com.md) · [All operations](https://skmtc.dev/recallsapi/apis/recallsapi-com/llms.txt) · [OpenAPI document](https://skmtc.dev/recallsapi/apis/recallsapi-com/revisions/2501df40ea54?raw)
