Skip to main content

Methodology

Last updated: 2026-05-21

Product Recall Tracker aggregates 78,569 product safety recalls from three federal agencies. This page explains exactly how we collect, normalize, classify, and present that data — so you can judge for yourself how reliable each field is.

Data sources

CPSC — Consumer Product Safety Commission

We use the CPSC's public Recalls.csv dataset from the Saferproducts.gov Publicly Available Consumer Product Safety Information Database (SPDB). Each row contains the recall title, date, summary description, and repair number. The dataset goes back to 1973 and covers consumer products: toys, furniture, appliances, electronics, sporting goods, children's products, and more.

FDA — Food and Drug Administration

We use the openFDA API specifically drug/event.json — to ingest drug adverse event reports. Each record represents a single safety signal: a patient, prescriber, or manufacturer reporting a reaction to a medication. A single adverse event report does not constitute a formal recall, but recurring patterns inform FDA enforcement action. We re-import the latest 20,000 events on each refresh.

USDA — Food Safety and Inspection Service (FSIS)

We use the FSIS recall API (fsis.usda.gov/fsis/api/recall/v/1) to ingest meat, poultry, and processed egg recalls. Records include the title, description (HTML), recall date, year, establishment, and PDF label links. The dataset covers public health alerts (PHAs) and formal recalls.

Refresh cadence

Our ingest pipeline runs daily. New recalls typically appear in our index within 24 hours of being published by the source agency. The "last updated" date in the footer reflects the most recent successful sync.

How we normalize records

Each agency uses a different schema. We normalize to a shared format with these fields:

Brand extraction

For CPSC recalls, the brand is not a structured field — it's part of the title. We extract the brand by matching common patterns like "BrandName Recalls...", "BrandName Offers...", or by falling back to the first two words of the title. This is imperfect; corrections are always welcome (see Contact).

For FDA records, the brand is the medicinalproduct field. For USDA records, the brand is the field_establishment field.

Category classification

Because CPSC does not assign categories, we apply a 20-rule keyword matcher to the recall title + description. The first rule that matches wins. Categories include:

Anything that doesn't match falls back to Consumer Products. FDA records default to Drugs; USDA records default to Food.

Severity scoring

Severity is derived from keyword signals and unit counts:

This scoring is heuristic. The official severity for any recall comes from the issuing agency's own language — read the recall description and follow the agency's guidance.

Limitations & caveats

Open data

All of our source data is public domain. Our ingest scripts are kept in-house but the data we display is sourced directly and verifiable against the agencies' own published feeds. If you need raw recall data, use the agency sources directly:

Reporting corrections

Found a wrong brand, mismatched category, or stale entry? Email corrections@productrecalltracker.com with the recall ID and what looks off. We process these on a rolling basis.