Guide · Product safety data

Product recall API: EU Safety Gate, CPSC and FDA recalls in code

Three official public feeds publish the product recalls that sellers, marketplaces and safety teams often check: the European Commission's EU Safety Gate alerts for dangerous non-food products, the US Consumer Product Safety Commission (CPSC) recalls, and FDA recall enforcement reports for food, drugs and medical devices. All three can be read in code without an API key, but each has its own format, dates and risk scale.

The three feeds

Source What it covers How you read it Risk scale
EU Safety Gate Dangerous non-food products in the EU/EEA Weekly-report XML, usually published on Fridays Serious risk or other risk levels
US CPSC Consumer product recalls in the US CPSC Recalls API on SaferProducts.gov, updated as recalls are announced Not graded
US FDA Food, drug and medical device recalls openFDA enforcement reports, added weekly Class I, II or III

Non-US food alerts are not in any of these three feeds.

CPSC recalls in Python, no key

This lists the CPSC recalls announced in the last 30 days:

import json, urllib.request
from datetime import date, timedelta
since = (date.today() - timedelta(days=30)).isoformat()
url = f"https://www.saferproducts.gov/RestWebServices/Recall?format=json&RecallDateStart={since}"
with urllib.request.urlopen(url, timeout=60) as r:
    recalls = json.load(r)
print(len(recalls), "CPSC recalls since", since)
for rc in recalls[:5]:
    print(rc["RecallDate"][:10], rc["RecallNumber"], rc["Title"][:70])

On 31 October 2026 it printed 43 recalls dated from 1 October. The EU and FDA feeds need different code: Safety Gate is one XML file per week and openFDA uses its own search syntax.

Things that trip people up

We built this

Disclosure: Your Evenings built and sells this. It's independent and isn't affiliated with or endorsed by the European Commission, CPSC or FDA. The Product Recall API on Apify Store reads all three feeds and returns one JSON schema: recall ID, dates, product, brand, models, batch numbers and barcodes where published, the hazard, a normalised risk level, the remedy and the official link. You can filter by keyword, brand or company, barcode and risk level. In monitor mode it remembers the recall IDs it has returned and gives you only new ones on later runs.

It costs $0.002 per recall returned, plus $0.01 for a monitor run that returns at least one new recall (base Apify prices; higher plans pay less). Rows that say a source had no matches or failed are free.

FAQ

Do I need an API key for CPSC or FDA recall data? No. The CPSC Recalls API on SaferProducts.gov, openFDA enforcement reports and the EU Safety Gate weekly XML can all be read without a key.

Does this cover non-US food recalls? No. EU Safety Gate covers non-food products. FDA covers US food, drug and device recalls. Non-US food alerts are not included.

Why do CPSC recalls have no risk level? CPSC doesn't grade its recalls, so the Actor marks CPSC rows as unknown. FDA classes and Safety Gate risk levels are mapped to one scale.

Can I search recalls by barcode? Yes. Barcodes are compared as digits, so a UPC-A code matches its EAN-13 form. Sources only include barcodes where they publish them.

Product names and logos belong to their owners. Your Evenings is not affiliated with or endorsed by them. Recall data from EU Safety Gate, the US CPSC and openFDA. Your Evenings is not affiliated with or endorsed by the European Commission, CPSC or FDA.