Recall Exposure Matcher – Check Your Catalog Against CPSC & FDA
Pricing
from $0.20 / 1,000 results
Recall Exposure Matcher – Check Your Catalog Against CPSC & FDA
Automate recall exposure monitoring for your product catalog. Cross-references your SKUs, UPCs, and brand names against CPSC and openFDA (food, drug, device) databases using exact and fuzzy matching. Outputs row-by-row safety compliance reports to flag affected inventory instantly.
Pricing
from $0.20 / 1,000 results
Rating
0.0
(0)
Developer
Parviz Abbasov
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Every "recall monitor" on the market hands you a firehose of every recall published this week and expects you to figure out if any of it affects you. This one flips that around: give it your own product catalog, and it tells you — product by product — whether you're exposed.
Built for e-commerce sellers, marketplace merchants, distributors, and retail compliance teams who need a direct answer to "do I need to pull anything from my shelves or listings?", not another feed to manually cross-reference.
How it works
- You give the Actor your product catalog: SKU, name, brand, and (ideally) UPC.
- The Actor pulls recent recalls from the official CPSC (SaferProducts.gov) and openFDA (food/drug/device) databases.
- Each of your products is checked against every fetched recall:
- High confidence — your product's UPC exactly matches a UPC on a CPSC recall.
- Medium confidence — your product's brand matches a recalling company and a real word from your product name appears in that recall's product description. Both conditions have to hold — brand overlap alone, or name overlap alone, isn't enough. This keeps false alarms down.
- No match — nothing found in either source within your lookback window.
- You get one output row per your product, not per recall — a direct answer, with links back to the official source for any hit.
Input
| Field | Type | Default | Description |
|---|---|---|---|
products | array | 3 example products | sku, name, brand, upc (optional but recommended). |
sources | array | all four | Which of CPSC / FDA-Food / FDA-Drug / FDA-Device to check. |
lookbackDays | integer | 730 | How far back to search. A recall from 3 years ago is still relevant if the product is still in your inventory — raise this for a full audit. |
maxRecallsPerSource | integer | 2000 | Safety cap on records fetched per source. |
Output
{"sku": "DEMO-001","productName": "Portable Space Heater 1500W","brand": "Example Home Co","upc": "012345678905","matchFound": true,"confidence": "high","matchedRecalls": [{"source": "cpsc","recallNumber": "24-001","title": "Recall of XYZ Space Heaters","date": "2024-01-10","reason": "Fire hazard","url": "https://www.saferproducts.gov/..."}],"checkedAt": "2026-09-11T10:00:00.000Z"}
Every product you submit gets a row, including the ones with matchFound: false — a documented "checked, clear" record is itself useful for a compliance audit trail.
Why UPC matters
Providing a UPC lets the Actor do an exact match against CPSC's recall data — the strongest possible signal. Without a UPC, matching falls back to brand + keyword text matching, which is clearly labeled as medium confidence and should be manually verified before you act on it. FDA food/drug/device recalls generally don't publish UPCs at all, so FDA matches are always text-based regardless of whether you supply a UPC.
Pricing
Pay-per-event:
- A small flat fee per run.
- Per product where a recall match is found — the outcome you're actually looking for.
- Per product checked and confirmed clear — priced lower, since it's still real work done, just a different (lower-urgency) outcome.
Limitations
- Covers CPSC (general consumer products) and openFDA (food, drug, device). It does not cover NHTSA (vehicle) recalls in this version.
mediumconfidence matches are text-based and can occasionally be wrong — verify against the source link before acting on anything without a UPC-basedhighconfidence match.- CPSC's raw API response has some inconsistency in exactly how UPCs are nested per record; this Actor handles the common variants defensively, but if you notice a UPC that should have matched and didn't, please report it.
- FDA recall records are matched on brand/description text only — lot numbers and NDC codes are not checked in this version.
API usage example
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("YOUR_USERNAME/recall-exposure-matcher").call(run_input={"products": [{"sku": "SKU-100", "name": "Kids Bike Helmet", "brand": "Acme Sports", "upc": "012345678905"},],})for item in client.dataset(run["defaultDatasetId"]).iterate_items():status = "MATCH FOUND" if item["matchFound"] else "clear"print(item["sku"], "-", status)