CPSC Product Recalls Scraper icon

Other · Lead generation

CPSC Product Recalls Scraper — SaferProducts.gov Export

Export US Consumer Product Safety Commission (CPSC) recall records via the public, keyless SaferProducts.gov REST service — products, hazards, remedies, retailers, injuries and images — as clean flattened JSON rows for any bounded date window.

Free Apify credit covers a first run. No credit card to try.

What this Actor scrapes

CPSC's SaferProducts.gov service publishes every US consumer product recall as a raw, deeply nested JSON payload — hazards, remedies, retailers, manufacturers and images all buried in their own arrays. This Actor pulls a bounded date window and flattens every nested field into one clean row, so a compliance watchlist or marketplace safety check becomes a spreadsheet instead of a parsing project. Different regulator and wire format than our FDA drug/food/device Actor — not a duplicate.

What we handle for you

  • 📅 Bounded date windows, always — both dates are required and capped at 31 days, so a run never balloons into a full-corpus pull.
  • 🧹 Every nested array flattened — hazards, remedies, retailers, manufacturers and images all land as clean comma-joined strings, never raw JSON blobs.
  • 🔁 Retries with exponential backoff on 408 / 429 / 5xx — up to 5 attempts, Retry-After honoured.
  • 🫠 One bad record never fails the run — a malformed recall is logged and skipped, the rest of the window still ships.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
  • 💰 Pay-Per-Event pricing — you only pay for rows that hit your dataset, plus one small warm-up charge per run.

Use cases

  • Screen marketplace listings against active recalls before they ship.
  • Feed a compliance watchlist with weekly CPSC recall windows.
  • Back an insurer's product-liability risk model with structured recall history.
  • Give consumer-safety researchers clean rows instead of CPSC's nested JSON.

Input

Paste this into the Apify Console, or send it as the run input over the API. Proxy settings are on by default; you rarely need to touch them.

FieldTypeRequiredWhat it does
recallDateStart string yes Start of the recall-date window, inclusive, as YYYY-MM-DD. Required — this Actor never runs an unbounded query.
recallDateEnd string yes End of the recall-date window, inclusive, as YYYY-MM-DD. Must be on or after the start date and within 31 days of it.
maxResults integer no Stop after this many records. Each record is one billed result-row event. The date window, not this number, controls how much CPSC data is fetched.
{
  "recallDateStart": "2026-08-14",
  "recallDateEnd": "2026-08-21",
  "maxResults": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}

Output

One row per result, schema-validated before it is written. Export JSON, CSV, Excel or XML from the run, or read it over the API.

recall_idrecall_numberrecall_datelast_publish_datetitledescriptionurlconsumer_contactproductsproduct_unitshazardsremediesremedy_optionsinjuriesretailersmanufacturers

{
  "recall_id": 10937,
  "recall_number": "26716",
  "recall_date": "2026-08-20",
  "last_publish_date": "2026-08-20",
  "title": "CCM Hockey U.S. Recalls FMHVR Hybrid Visors Due to Impact Injury Hazard",
  "description": "The recalled visors can crack or shatter on impact...",
  "url": "https://www.cpsc.gov/Recalls/2026/...",
  "consumer_contact": "CCM Hockey U.S. toll-free at 855-333-2662",
  "products": "FMHVR Hybrid Visor",
  "product_units": "About 12,957",
  "hazards": "Impact injury hazard",
  "remedies": "Consumers should stop using the recalled visors immediately",
  "remedy_options": "Replace",
  "injuries": "None reported",
  "retailers": "Hockey specialty stores nationwide, Oct 2025-Jul 2026, $80-$150",
  "manufacturers": "",
  "importers": "CCM Hockey U.S.",
  "distributors": "",
  "manufacturer_countries": "China",
  "sold_at_label": null,
  "image_urls": "https://www.cpsc.gov/s3fs-public/CCM-1.gif"
}

Pricing

EventPriceWhen
Actor start$0.20Once per run, covers warm-up and proxy session setup.
Result row$0.0040Per result written to the dataset.

You pay only for results that land. Cap any run with maxTotalChargeUsd. See pricing & billing for worked examples.

Limitations

  • The date window is capped at 31 days per run — this is a deliberate egress guard, not a CPSC limit; chain successive windows for a longer backfill.
  • Some free-text fields (e.g. retailer names) embed date ranges or prices as CPSC published them — passed through as-is, no regex extraction.
  • Covers CPSC's Recall resource only — the separate CPSRMS incident-report dataset is out of scope.

FAQ

Do I need an API key?
No. SaferProducts.gov serves this data keylessly — no auth, no API key, no login.
Why are both dates required?
An open-ended query silently returns a full calendar year of recalls. Requiring both bounds keeps every run small and predictable — the window, not <code>maxResults</code>, controls how much data is fetched.
How far back can one run go?
Up to 31 days per run. For a longer history, run the Actor again with the next window — recall data is immutable, so results never change once published.

Ready to run it?

Open the listing on Apify, paste the input above, and watch rows land. If it ever breaks, it is our problem before it is yours.

Related Actors

Teams that run this also run