CPSC Product Recall Crawler - Consumer Safety Data
Pricing
Pay per event
CPSC Product Recall Crawler - Consumer Safety Data
Crawl 6,000+ consumer product recall records from the US CPSC. Extract product details, manufacturers, hazards, remedies, injuries, UPC codes, and images. Filter by date, recall number, and keyword.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
10 hours ago
Last modified
Categories
Share
Extract consumer product recall records from the CPSC Recall API at saferproducts.gov. Covers 6,000+ recalls from the US Consumer Product Safety Commission -- product details, manufacturers, hazards, remedies, injuries, UPC codes, and images. Filter by date range, recall number, or keyword.
CPSC Recall Crawler Features
- Extract recall records including product names, unit counts, model numbers, and UPC codes
- Filter by date range, specific recall number, or title/product keyword search
- Get full supply chain data -- manufacturers, retailers, importers, and distributors per recall
- Includes hazard descriptions, remedy instructions, injury reports, and product images
- Reads CPSC's public JSON API directly -- no HTML scraping, no authentication required
- No proxy needed -- this is a US government API with no rate limiting or bot detection
- Pay-per-event pricing at roughly $0.001 per record
Who Uses CPSC Recall Data and Why?
- Product compliance teams -- monitor new recalls in your product category, track manufacturer patterns, and flag supply chain risks
- E-commerce sellers -- check your catalog against active recalls before a recalled product ships to a customer
- Consumer safety researchers -- analyze recall trends by hazard type, manufacturer, or product category across years of data
- Insurance and legal professionals -- identify recalls involving injuries or specific manufacturers for claims and litigation support
- Supply chain managers -- screen manufacturers and importers against recall history before signing contracts
How CPSC Recall Crawler Works
- You provide search filters: a date range, a recall number, a keyword, or nothing at all (to pull all 6,000+ records).
- The crawler queries the CPSC Recall API at saferproducts.gov, which returns structured JSON with no pagination -- all matching records come back in one response.
- Each recall is transformed into a clean output record with normalized fields for products, manufacturers, hazards, remedies, injuries, UPC codes, and images.
Input
Basic: Get recent recalls
{"dateFrom": "2026-01-01","dateTo": "2026-03-31","maxItems": 100}
Search by product keyword
{"titleSearch": "battery","maxItems": 50}
Look up a specific recall
{"recallNumber": "26219"}
Pull all recalls (full database)
{"maxItems": 0}
Input Parameters
| Field | Type | Default | Description |
|---|---|---|---|
| dateFrom | string | "" | Return recalls from this date forward (YYYY-MM-DD). Leave empty for all. |
| dateTo | string | "" | Return recalls up to this date (YYYY-MM-DD). Leave empty for all. |
| recallNumber | string | "" | Search for a specific CPSC recall number. Leave empty for all. |
| titleSearch | string | "" | Search recall titles for a keyword (e.g., "battery", "crib", "heater"). |
| maxItems | integer | 100 | Maximum number of recall records to return. Set to 0 for all matching records. |
| proxyConfiguration | object | { useApifyProxy: false } | Proxy settings. CPSC is a government API and does not require proxies. |
CPSC Recall Crawler Output Fields
Example Output
{"recall_id": 26219,"recall_number": "26219","recall_date": "2026-01-15","title": "XYZ Corp Recalls Portable Space Heaters Due to Fire Hazard","description": "The space heaters can overheat, posing a fire hazard...","url": "https://www.cpsc.gov/Recalls/2026/xyz-corp-recalls-portable-space-heaters","consumer_contact": "XYZ Corp toll-free at 800-555-0100 or online at www.example.com","last_publish_date": "2026-01-15","products": ["Portable Space Heaters (About 50,000) Model: XH-200"],"manufacturers": ["XYZ Corp"],"retailers": ["Big Box Store", "Online Marketplace"],"importers": ["Global Imports LLC"],"distributors": [],"hazards": ["The space heaters can overheat, posing a fire and burn hazard to consumers."],"remedies": ["Consumers should stop using the recalled heaters and contact XYZ Corp for a free replacement."],"remedy_options": ["Replace"],"injuries": ["XYZ Corp has received 12 reports of overheating, including 3 reports of minor burns."],"images": ["https://www.cpsc.gov/s3fs-public/styles/recall_image/Recall-Image-12345.jpg"],"product_upcs": ["012345678901"],"manufacturer_countries": ["China"],"sold_at_label": "Big Box Store and Online Marketplace nationwide"}
Output Field Reference
| Field | Type | Description |
|---|---|---|
| recall_id | number | CPSC internal recall ID |
| recall_number | string | CPSC recall number (e.g., "26219") |
| recall_date | string | Date of recall announcement (YYYY-MM-DD) |
| title | string | Recall title/headline |
| description | string | Full recall description |
| url | string | CPSC recall page URL |
| consumer_contact | string | Consumer contact information for the recall |
| last_publish_date | string | Date the recall was last published or updated (YYYY-MM-DD) |
| products | string[] | Products involved -- name, number of units, and model info |
| manufacturers | string[] | Manufacturer company names |
| retailers | string[] | Retailer names |
| importers | string[] | Importer names |
| distributors | string[] | Distributor names |
| hazards | string[] | Hazard descriptions |
| remedies | string[] | Remedy descriptions and instructions |
| remedy_options | string[] | Consumer remedy options (e.g., Refund, Replace, Repair) |
| injuries | string[] | Reported injury descriptions |
| images | string[] | Product image URLs |
| product_upcs | string[] | Product UPC codes |
| manufacturer_countries | string[] | Countries where products were manufactured |
| sold_at_label | string | Where the product was sold |
FAQ
How many recalls does CPSC Recall Crawler cover? CPSC Recall Crawler pulls from the full CPSC Recall API -- over 6,000 consumer product recall records from 2000 to present, with 500-600 new recalls added each year.
Does it handle pagination? The CPSC API returns all matching records in a single response, so pagination is not needed. The crawler handles this automatically.
Do I need proxies to run this? No. The CPSC Recall API is a public US government service with no authentication, no rate limiting, and no bot detection. Proxies are disabled by default.
How fast does it run? Filtered queries (date range, keyword, recall number) complete in 5-15 seconds. A full database pull of all 6,000+ records takes 30-60 seconds. Memory usage is low -- 256MB is sufficient.
What does it cost to run? Roughly $0.001 per recall record. A full database pull of 6,000 records costs about $6. Filtered queries that return 50-100 records cost pennies.
Can I monitor for new recalls on a schedule? Yes. Set a date range filter (e.g., last 7 days) and run the crawler on an Apify schedule. New recalls appear several times per week.
What data can I get from CPSC product recalls? Each record includes the recall title, full description, products involved (with unit counts and model numbers), manufacturers, retailers, importers, distributors, hazard descriptions, remedy instructions, injury reports, product images, UPC codes, manufacturer countries, and where the product was sold.
Need More Features?
Need custom fields, filters, or a different data source? File an issue or get in touch.
Why Use CPSC Recall Crawler?
- Complete recall records -- Every field the CPSC publishes is captured: products, supply chain, hazards, remedies, injuries, UPCs, images, and manufacturer countries.
- Priced per record -- Roughly $0.001 per recall record. A full database export costs about the same as a cup of coffee.
- Built on the official API -- Reads CPSC's structured JSON endpoint directly, so output stays stable regardless of website redesigns.
- No proxy overhead -- Government API means no anti-bot measures, no proxy costs, no session management. Runs fast and cheap.