⚠️ CPSC Product Recalls & Safety Tracker avatar

⚠️ CPSC Product Recalls & Safety Tracker

Pricing

from $20.00 / 1,000 results

Go to Apify Store
⚠️ CPSC Product Recalls & Safety Tracker

⚠️ CPSC Product Recalls & Safety Tracker

CPSC consumer product recalls (saferproducts.gov): recalled products, hazards, remedies, manufacturers, injuries, and dates. For retailers, product-safety/QA, insurers, and class-action researchers.

Pricing

from $20.00 / 1,000 results

Rating

0.0

(0)

Developer

NexGenData

NexGenData

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Pay-per-result US consumer-product recall data straight from the official CPSC / saferproducts.gov feed — $0.10 per recall record. No commercial recall-monitoring subscription, no per-seat compliance-platform contract.

Every consumer-product recall in the United States — from cribs and space heaters to lithium-battery power banks, kids' apparel with drawstring hazards, contaminated cosmetics, and tip-over-prone dressers — is announced by the U.S. Consumer Product Safety Commission (CPSC) and published through saferproducts.gov. This actor reads the official CPSC recalls publication, parses each recall into clean structured JSON, and lets you filter by date range or keyword so you can monitor exactly the categories, brands, and hazards that matter to you.

CPSC recalls are a high-value safety and compliance signal. A single recall can trigger product-liability exposure, retailer pull-from-shelf obligations, insurance claims, regulatory follow-up, and press coverage in the same week. Yet the teams who need that signal earliest are least served by the raw source: the official site is built for a human reading one recall at a time, not for a pipeline that must ingest, filter, dedupe, and route hundreds of records into a database, spreadsheet, alerting workflow, or model.

This actor closes that gap. It turns the official CPSC recalls feed into a queryable, schedulable dataset where every structured detail the CPSC publishes — products, hazards, remedies, manufacturers, injury statements, the consumer-contact block, and the canonical recall URL — is broken out into discrete fields you can act on programmatically. You pay only for the records you pull, with no platform contract and no minimum.

Why use this

  • It is the official source. Records come directly from the CPSC's saferproducts.gov recalls publication — the authoritative US government register of consumer-product recalls — not a third party's re-keyed or paraphrased copy.
  • It is fully structured. Each recall is broken out into discrete arrays for products, productTypes, hazards, remedies, manufacturers, injuries, and consumerContact, plus stable identifiers, so you can route, filter, and dedupe without scraping or parsing free text yourself.
  • It is filterable. Pass a recallDateStart / recallDateEnd window and an optional keyword to pull exactly the slice you need — a date range for a back-load, a brand name for ongoing brand monitoring, or a hazard term like "lithium" or "tip-over."
  • It is pay-per-result. At $0.10 per recall record there is no subscription, no seat licensing, and no annual minimum. A one-time historical pull and a daily five-record monitor cost the same per record.
  • It is schedulable. Run it on Apify's scheduler every day or every hour and feed new recalls straight into Slack, a webhook, a warehouse, or your own compliance system.
  • It is portable. Output is plain JSON/CSV/Excel via the Apify dataset API, so it drops into any stack — Python, JavaScript, a no-code automation, or a BI tool — without a vendor SDK.

What you get

Each item in the dataset is one CPSC recall, with these real fields:

FieldDescription
recallIdCPSC's internal numeric identifier for the recall — a stable primary key for deduping and joining.
recallNumberThe published CPSC recall number (e.g. "26565"), the human-facing reference used in CPSC press releases.
recallDateISO datetime the recall was issued (e.g. "2026-06-18T00:00:00").
titleThe full official recall headline, including product, hazard, and importer/firm.
descriptionThe CPSC's product description — what the item is, affected model/serial/UPC ranges, and identifying details.
urlCanonical cpsc.gov recall page for the record, for citation and human follow-up.
productsArray of the specific products covered by the recall.
productTypesArray of CPSC product-type/category labels (may be empty for some records).
hazardsArray describing the hazard(s) that prompted the recall (fire, burn, fall, laceration, lead, choking, etc.).
remediesArray of the remedy offered to consumers (refund, repair, replacement, stop-use instructions).
manufacturersArray of the manufacturing/importing firms named in the recall.
injuriesArray of injury/incident statements as published by CPSC (reported incidents, injuries, or none reported).
consumerContactThe official consumer-contact block — how affected owners should reach the firm.
lastPublishDateWhen the recall record was last published/updated by CPSC, so you can detect amendments.

Because the structured arrays are separated from the free-text title and description, you can build a hazard taxonomy, filter by manufacturer, flag any recall with a non-empty injuries array, or join records across runs on recallId — without re-parsing the headline.

Use cases

  • Product-liability counsel. Build a defensible, timestamped record of recalls touching a client's products, competitors, or supply chain, with the official url for every citation and injuries text preserved verbatim.
  • Retail & e-commerce safety teams. Cross-reference incoming recalls against your active SKU catalog so you can pull affected listings, halt fulfillment, and notify customers before the recall hits the news.
  • Insurers & risk/actuarial teams. Track recall frequency and hazard mix by product category to inform product-liability underwriting, reserves, and claims triage.
  • Compliance & regulatory affairs. Maintain an audit-ready feed of recalls in your operating categories, with lastPublishDate to catch amendments and consumerContact to verify firm-side handling.
  • Consumer-safety researchers & academics. Assemble multi-year recall datasets — by hazard, product type, or manufacturer — for trend analysis without manually clicking through hundreds of pages.
  • Journalists & investigative reporters. Monitor by keyword (a brand, a material, a hazard) and get the official record, description, and source URL in seconds for fast, accurate reporting.
  • Brand & marketplace monitoring. Watch for your own brand, your private-label suppliers, or a competitor appearing in a recall, and route an alert the moment a matching record publishes.
  • No-code automation builders. Wire the dataset into Make, Zapier, or a webhook to push new recalls into Slack, email, or a Notion/Airtable safety log.

Sample output

{
"recallId": 10826,
"recallNumber": "26565",
"recallDate": "2026-06-18T00:00:00",
"title": "Arizer Solo III Portable Vaporizers Recalled Due to Fire and Burn Hazards; Risk of Serious Injury or Death; Imported by 7111495 Canada",
"description": "This recall involves the Arizer Solo III Intergalactic (Black), a portable electronic vaporizer powered by an internal lithium-ion battery. The unit features a rigid anodized aluminum housing. It includes a front-facing digital display for temperature and device settings, with a stainless steel heating chamber and removable glass components. The model number \"C0001-NB 130-LCUS\" is on a barcode sticker on the packaging. UPC 628078802274 is printed on the product packaging.",
"url": "https://www.cpsc.gov/Recalls/2026/Arizer-Solo-III-Portable-Vaporizers-Recalled-Due-to-Fire-and-Burn-Hazards-Risk-of-Serious-Injury-or-Death-Imported-by-7111495-Canada",
"products": [
"Arizer Solo III portable electronic vaporizers (Intergalactic/Black color only)"
],
"productTypes": [
""
],
"hazards": [
"The internal lithium-ion battery can overheat, posing fire and burn hazards and a risk of serious injury or death."
],
"remedies": [
"Consumers should immediately stop using the recalled vaporizers and contact the firm for a remedy."
],
"manufacturers": [
"7111495 Canada"
],
"injuries": [
"No injuries reported."
],
"consumerContact": "Contact the firm by phone or through its website for instructions on the available remedy.",
"lastPublishDate": "2026-06-18T00:00:00"
}

Note: CPSC's source text is free-form, so some fields (for example productTypes) can be empty and some descriptions include raw model/serial fragments exactly as CPSC published them. The actor preserves the official text faithfully rather than rewriting it.

Input parameters

ParameterTypeRequiredDefaultDescription
recallDateStartstringNo2020-01-01Earliest recall date to include, as YYYY-MM-DD.
recallDateEndstringNoLatest recall date to include, as YYYY-MM-DD. Leave blank for "up to today."
keywordstringNoFilter recalls whose title or description contains this term (e.g. a brand, material, or hazard).
maxResultsintegerNo2000Maximum number of recall records to return in the run.

All parameters are optional. With no input, the actor returns recalls from the default start date up to the latest published, capped at maxResults.

How to use it

Python (apify-client)

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
"recallDateStart": "2026-01-01",
"recallDateEnd": "2026-06-25",
"keyword": "lithium",
"maxResults": 500,
}
run = client.actor("YOUR_USERNAME/cpsc-product-recalls").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["recallNumber"], "-", item["title"])

cURL (run-sync-get-dataset-items)

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~cpsc-product-recalls/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"recallDateStart": "2026-01-01",
"recallDateEnd": "2026-06-25",
"keyword": "lithium",
"maxResults": 500
}'

The run-sync-get-dataset-items endpoint runs the actor and returns the dataset items in the same HTTP response — ideal for quick pulls and webhook-driven automations.

Pricing

This actor uses pay-per-result pricing: $0.10 per recall record returned to your dataset. You pay for the records you actually get — nothing else. No subscription, no seats, no monthly minimum.

Worked examples:

What you pullRecordsCost
A single day's new recalls5$0.50
A keyword-filtered brand watch30$3.00
A quarter of recalls in your categories120$12.00
A focused historical back-load300$30.00
A large multi-year research dataset2,000$200.00

For example, a 300-recall historical pull costs 300 × $0.10 = $30.00. Use maxResults to cap spend precisely, and use a tight recallDateStart/recallDateEnd window on scheduled runs so you only pay for genuinely new records.

How this compares

This actorStericycle / commercial recall-monitoringUL & enterprise compliance platformsManual saferproducts.gov browsing
Pricing$0.10 per record, pay-per-useAnnual contract / subscriptionEnterprise license, per-seatFree, but labor-intensive
SourceOfficial CPSC / saferproducts.govAggregated, often multi-sourceAggregated + advisory layerOfficial, one page at a time
OutputStructured JSON/CSV/ExcelDashboard / reportDashboard / portalUnstructured web pages
AutomationAPI + scheduler + webhooksVendor-definedVendor-definedNone
Time to integrateMinutesProcurement cycleProcurement cycleManual every time
Minimum commitmentNoneTypically annualTypically annualNone

Commercial recall-monitoring and enterprise compliance platforms add advisory services, multi-agency coverage, and workflow tooling — but they come with procurement cycles, annual commitments, and per-seat pricing. Manual browsing of saferproducts.gov is free but doesn't scale. This actor sits in between: the same official CPSC data, delivered structured and on demand, for a per-record price that scales from a five-record daily watch to a multi-year back-load.

FAQ

How fresh is the data? The actor reads the CPSC's live recalls publication at run time, so a scheduled run picks up recalls as soon as they appear in the official feed. Schedule it daily (or hourly) to catch new recalls quickly.

How far back does the recall history go? You control the window with recallDateStart / recallDateEnd. The default start is 2020-01-01, but you can set an earlier start to pull older recalls, subject to what CPSC publishes in its recalls feed and your maxResults cap.

Can I filter by hazard or brand? Yes. Use the keyword parameter to match a term in the recall title or description — a brand name, a material such as "lithium," or a hazard such as "tip-over" or "burn." For more granular filtering, pull a date range and filter the structured hazards, manufacturers, or productTypes arrays in your own code.

Is injury data included? Yes. Each record includes an injuries array carrying CPSC's published injury/incident statement (for example reported incidents and injuries, or "no injuries reported"), preserved as CPSC wrote it.

Is the source text cleaned or rewritten? No. The actor faithfully preserves CPSC's official text. Some fields may be empty (for example productTypes), and some descriptions include raw model/serial/UPC fragments exactly as published. Use recallId to dedupe and the structured arrays for filtering.

Can I run it on a schedule and get only new recalls? Yes. Run it on Apify's scheduler with a rolling date window (e.g. the last 7 days) and dedupe against recallId in your destination so you only ingest records you haven't seen.

What output formats are supported? Results land in an Apify dataset, exportable as JSON, CSV, or Excel via the dataset API or the run-sync endpoint shown above.

Is there a cap on how many recalls I can pull? The per-run cap is controlled by maxResults (default 2,000). For larger back-loads, split the work into multiple date-windowed runs.

Schema stability & versioning

The output fields listed in What you get form the stable contract for this actor: recallId, recallNumber, recallDate, title, description, url, products, productTypes, hazards, remedies, manufacturers, injuries, consumerContact, and lastPublishDate. Existing fields will not be renamed or removed without a version bump and changelog note. New fields may be added over time as CPSC exposes more structure; additive changes are non-breaking, so build your integration to ignore unknown fields. Because CPSC's underlying text is free-form, treat array fields as variable-length (including possibly empty) and always key your dedupe/joins on recallId.

This actor returns public information published by the U.S. Consumer Product Safety Commission via saferproducts.gov / cpsc.gov. The data is provided for informational purposes to support safety, compliance, research, and reporting workflows. It is not legal advice. CPSC is the authoritative source: for any action with legal, regulatory, or safety consequences, verify against the official recall page (the url field) and the CPSC directly. NexGenData is an independent publisher and is not affiliated with, endorsed by, or sponsored by the CPSC or any government agency. Use of this actor is subject to Apify's terms; users are responsible for ensuring their use of recall data complies with applicable laws and the source's terms.

If recall and safety data is part of your workflow, these NexGenData actors pair well:

  • FDA Recalls Tracker — structured FDA enforcement and recall data for food, drugs, devices, and cosmetics.
  • NHTSA Recalls Tracker — official US vehicle and equipment recalls and safety campaigns.
  • Environmental & ESG MCP — environmental, sustainability, and ESG signals for risk and compliance teams.

Combine CPSC consumer-product recalls with FDA and NHTSA feeds for full-spectrum US recall coverage across consumer goods, regulated products, and vehicles.