List product recalls
Retrieve every open recall affecting a single product, sourced from FDA, USDA FSIS, CPSC, and Health Canada and matched to the product by GTIN/UPC at ingestion time. ‘Open’ means status is ONGOING or UNKNOWN — completed and terminated recalls are excluded from this endpoint by design (use the bulk recall endpoints if you need those). Filters narrow the open set further; ordering is opt-in (default order is the model’s -recall_date, -created). Results are paginated with the standard {data, pagination} envelope; max page_size is 100.
Authorizations
Path Parameters
GTIN-8, GTIN-12, GTIN-13, or GTIN-14 barcode digits (no spaces, no hyphens). Shorter forms are zero-left-padded to GTIN-14 server-side. Returns 404 if no product matches the normalized GTIN; 422 if the value is not a valid GTIN.
8 - 14^\d{8,14}$Query Parameters
Optional filter on the recall lifecycle state. Only ONGOING and UNKNOWN will ever return rows from this endpoint (others are excluded upstream); the parameter is exposed for completeness and forward compatibility.
ONGOING, COMPLETED, TERMINATED, UNKNOWN Optional filter on risk class. CLASS_I = highest risk (serious adverse health consequences or death). Useful for surfacing only the most dangerous open recalls.
CLASS_I, CLASS_II, CLASS_III, UNKNOWN Optional filter on the regulator that issued the recall. One of FDA, FSIS, CPSC, or HEALTH_CANADA.
FDA, FSIS, CPSC, HEALTH_CANADA Sort key. Allowed values: recall_date, -recall_date, severity, -severity. Prefix with - for descending. Omit to use the default -recall_date, -created ordering. Returns 400 for any other value.
^-?(recall_date|severity)$Page number (1-indexed).
x >= 1Number of items per page (max 100).
1 <= x <= 100