CPSC Consumer Product Recall Delta Monitor
Pricing
Pay per usage
CPSC Consumer Product Recall Delta Monitor
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Valunex
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Monitors the public CPSC recalls REST API for a user-maintained watchlist of brand / product-category / retailer keywords and emits one dataset item (alert) per newly observed consumer product recall since the last run — "free when nothing changes" (unchanged replays emit nothing).
Who it is for
FBA and e-commerce sellers, consumer-product brands / CPG, retail compliance teams, product-liability insurers, and plaintiff/regulatory lawyers who need an early-warning signal for CPSC consumer product recalls (toys, appliances, electronics, furniture, children's products and more) without manually re-checking saferproducts.gov on a schedule. Run this Actor on a cadence and it only alerts on what is new.
What makes it different
Existing CPSC recall coverage on the Apify Store is one-shot, pay-per-event scraping: you re-pull and re-bill the full recall history on every poll. This Actor keeps a watchlist and remembers what it already reported (per-watchlist checkpoint in the Apify key-value store keyed by the stable CPSC RecallID), so repeat runs emit only genuinely new or amended recalls — free when nothing changes.
Data source
Public CPSC data only — no API key, no login, no proxies, no credentials:
- https://www.saferproducts.gov/RestWebServices/Recall?format=json (official CPSC Recalls REST service, documented at https://www.cpsc.gov/Recalls/CPSC-Recalls-Application-Program-Interface-API-Information)
All HTTP is server-side. Public domain US government data. No commercial inference (no LLMs) inside the product.
Pricing (Apify Store)
Listed as FREE. The Actor itself costs $0 per run and emits nothing when there are no new recalls ("free when nothing changes"). Pay-per-event pricing (a per-run start fee plus a per-alert dataset-item fee) only applies after the owner sets up payout billing in Apify Console (Actor pricing step + primary event step) — see POLICY #3: publish free now, enable monetization only at payout time when the owner completes KYC.
Input
See actor/.actor/input_schema.json. All fields optional; the default input watches no keywords (monitors all CPSC recalls) over the last 30 days:
{"watchlist": [],"sinceDays": 30,"maxResults": 25}
Example watching specific brands and retailers:
{"watchlist": ["Bodum", "DREO", "Target", "space heater"],"sinceDays": 30,"maxResults": 25}
watchlist: array of keyword strings (max 50). A recall matches when any keyword appears in its title, description, products, retailers or hazards, case-insensitively. Leave empty to monitor all CPSC recalls.sinceDays(1-365, default 30): bounds how far back runs look; the first run establishes a baseline of all recalls currently in the window.maxResults(1-200, default 25): cap on alerts emitted in a single run.
Output
One dataset item per new or amended recall:
{"recallID": 11041,"recallNumber": "27055","recallDate": "2026-10-29T00:00:00","lastPublishDate": "2026-10-29T00:00:00","title": "Bodum USA Recalls 5.9 Million French Press Coffee Makers ...","description": "This recall involves Bodum ... French Press coffee makers ...","url": "https://cpsc.gov/Recalls/2027/Bodum-USA-Recalls-...","consumerContact": "Bodum USA toll-free at 888-879-8213 ...","products": [{"Name": "Bodum French Press coffee makers ...","Type": "Unpowered Coffee Makers or Teapots","CategoryID": "585","NumberOfUnits": "5.9 million"}],"retailers": [{ "Name": "Sold At:\\nTarget, Walmart, ...", "CompanyID": "" }],"manufacturers": [],"importers": [{ "Name": "Bodum USA, Inc., of New York, New York", "CompanyID": "" }],"hazards": [{ "Name": "The carafe can unexpectedly break during use ...", "HazardType": "", "HazardTypeID": "" }],"remedies": [{ "Name": "Consumers should stop using metal spoons ...", ... }],"remedyOptions": [ { "Option": "Repair" } ],"manufacturerCountries": [ { "Country": "Portugal" }, { "Country": "Thailand" } ],"soldAtLabel": null,"newSinceLastRun": true,"changeType": "new","watchlistMatched": "Bodum","source": "https://www.saferproducts.gov/RestWebServices/Recall"}
changeType is "new" for a previously unseen RecallID and "amended" for a
known RecallID whose published content changed. Every optional field is null
when it could not be parsed — the Actor never guesses.
Checkpoint / delta behaviour
State (a content fingerprint per RecallID plus the newest recall date seen) is
kept per watchlist configuration in the Actor key-value store. The first run
for a watchlist emits all currently known recalls in the sinceDays window as
the baseline. Repeat runs only emit recalls newer than the lookback window
that have not been seen before, or previously seen RecallIDs whose content
changed. Resetting the store re-emits the baseline.
Limits
- Max 50 watchlist keywords, 200 alerts per run, 365-day lookback.
- One full feed fetch per run (no credentials, no proxies).
- Checkpoints persist per watchlist configuration in the Actor key-value store.
Verification
Run pytest actor/tests before release (builder acceptance criterion).
Default input { "sinceDays": 30 } must return more than 0 dataset items in
under 5 minutes against live saferproducts.gov.