Product Recall & Safety API API
The Product Recall API returns FDA product-safety recalls as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary search endpoint returns normalized enforcement records with a severity score, and you can pull a recall_detail, recalls by company, the latest recalls, stats and categories, and batch. It is built for compliance, marketplace safety and consumer apps that need recall data without parsing raw FDA feeds. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/recall/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "listeria",
"category": "food",
"limit": 3
}
}{
"ok": true,
"meta": {
"api": "recall",
"endpoint": "search",
"mode": "live",
"latency_ms": 1143.9,
"record_count": 3,
"bytes": 4182,
"cache_hit": false,
"sources": "openFDA-RES + EU-Safety-Gate",
"categories_searched": [
"food"
],
"total": 7469,
"skip": 0,
"limit": 3,
"has_more": true,
"next_skip": 3
},
"data": {
"recalls": [
{
"source": "openFDA",
"category": "food",
"recall_number": "H-[redacted-phone]",
"event_id": "98993",
"status": "Ongoing",
"classification": "Class I",
"severity_score": 80,
"recalling_firm": "HH FRESH TRADING CORP",
"product_description": "HH Fresh Trading Corp. (branded) ENOKI MUSHROOM; Premium Quality; Net WT/ Poids Net 150g(5.29oz) Distributed by HH Fresh Trading Exported by JIA YANG INTERNATIONAL ENTERPRISES CO., LTD. Produced by Green Farm (Taiwan) UPC: [redacted-phone]",
"product_quantity": "120 cases",
"reason_for_recall": "Imported Enoki Mushrooms tested positive for Listeria Monocytogenes.",
"code_info": "No lot codes",
"product_type": "Food",
"voluntary_mandated": "Voluntary: Firm initiated",
"initial_firm_notification": "Telephone",
"distribution_pattern": "Product was distributed to a single customer located in Texas. Product was further distributed as samples were collected in Florida.",
"city": "Los Angeles",
"state": "CA",
"country": "United States",
"recall_initiation_date": "20260511",
"center_classification_date": "20260610",
"report_date": "20260617",
"termination_date": null,
"more_code_info": null,
"brand_name": null,
"generic_name": null,
"manufacturer_name": null,
"product_ndc": null,
"substance_name": null,
"device_name": null,
"medical_specialty_description": null,
"openfda": null
},
{
"source": "openFDA",
"category": "food",
"recall_number": "H-[redacted-phone]",
"event_id": "99001",
"status": "Ongoing",
"classification": "Class I",
"severity_score": 80,
"recalling_firm": "IQ PRODUCE, LLC",
"product_description": "Enoki Mushroom, Net Weight 150g; Product of Korea; Distributed by IQ Produce UPC: [redacted-phone]",
"product_quantity": "319 units",
"reason_for_recall": "Imported Enoki Mushrooms samples collected by Florida Department of Health tested positive for Listeria Monocytogenes.",
"code_info": "Lot UI775",
"product_type": "Food",
"voluntary_mandated": "Voluntary: Firm initiated",
"initial_firm_notification": "Two or more of the following: Email, Fax, Letter, Press Release, Telephone, Visit",
"distribution_pattern": "Product was distributed to 3 California customers.",
"city": "Vernon",
"state": "CA",
"country": "United States",
"recall_initiation_date": "20260514",
"center_classification_date": "20260602",
"report_date": "20260610",
"termination_date": null,
"more_code_info": "",
"brand_name": null,
"generic_name": null,
"manufacturer_name": null,
"product_ndc": null,
"substance_name": null,
"device_name": null,
"medical_specialty_description": null,
"openfda": null
},
{
"source": "openFDA",
"category": "food",
"recall_number": "H-[redacted-phone]",
"event_id": "98725",
"status": "Ongoing",
"classification": "Class I",
"severity_score": 90,
"recalling_firm": "HEMU TRADING INC",
"product_description": "Black label with blue lettering. FOOD Korean Food, ENOKI MUSHROOM, 150g clear plastic package; Product of Korea, Keep Refrigerated. Distributed by Hemu Trading Inc. UPC: [redacted-phone]",
"product_quantity": "1056 cases (34 packs/case)",
"reason_for_recall": "product tested positive for Listeria Monocytogenes.",
"code_info": "Lot code:215",
"product_type": "Food",
"voluntary_mandated": "Voluntary: Firm initiated",
"initial_firm_notification": "Two or more of the following: Email, Fax, Letter, Press Release, Telephone, Visit",
"distribution_pattern": "5 direct account consignees located in CA, FL and MD.",
"city": "Los Angeles",
"state": "CA",
"country": "United States",
"recall_initiation_date": "20260402",
"center_classification_date": "20260430",
"report_date": "20260506",
"termination_date": null,
"more_code_info": "",
"brand_name": null,
"generic_name": null,
"manufacturer_name": null,
"product_ndc": null,
"substance_name": null,
"device_name": null,
"medical_specialty_description": null,
"openfda": null
}
],
"categories_searched": [
"food"
],
"total": 7469,
"skip": 0,
"limit": 3,
"has_more": true,
"next_skip": 3
}
}What the Product Recall & Safety API API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search FDA recalls by keyword, category, classification, status, company, and date range with skip/limit pagination. Pass category=all (default) to span food+drug+device. | Ops teams call search to search FDA recalls by keyword, category, classification, status, company, and date range with…. | query, category, classification, status, company, ... |
| recall_detail | Full detail for one recall by its FDA recall_number (category auto-detected from prefix). | Developer tools call recall_detail to get full detail for one recall by its FDA recall_number (category auto-detected from prefix).. | recall_number, category |
| by_company | All recalls for a recalling firm / manufacturer, newest first, paginated. | Validation workflows call by_company to get all recalls for a recalling firm / manufacturer, newest first, paginated.. | company, category, classification, status, date_from, ... |
| latest | Most recent recalls across all categories (or one), within the last N days. | Data-quality teams call latest to get most recent recalls across all categories (or one), within the last N days.. | category, classification, days, limit, skip, ... |
| batch | Run multiple keyword searches in one call (compliance-watch over a product list). | Ops teams call batch to get run multiple keyword searches in one call (compliance-watch over a product list).. | queries, category, classification, limit |
| stats | Aggregate recall counts grouped by a field (classification/status/firm/state/type). | Developer tools call stats to get aggregate recall counts grouped by a field (classification/status/firm/state/type).. | category, field, query, date_from, date_to |
| categories | The recall taxonomy: FDA categories + EU Safety Gate product-category & risk-type enums + EU country list (reference data for filters). | Validation workflows call categories to get the recall taxonomy. | none |
| eu_recall | One EU Safety Gate (RAPEX) recall/alert by notification id — product, risk, measure, traceability, reacting countries. | Data-quality teams call eu_recall to get one EU Safety Gate (RAPEX) recall/alert by notification id. | id, language |
| eu_recalls | Search/list EU Safety Gate alerts (the EU analogue of `search`): pages over recent weekly reports (open-data XML) and filters by query, product category, country and risk type, with skip/limit pagination. Each alert carries product, barcode, brand, risk, measures, notifying country and country of origin. | Ops teams call eu_recalls to get search/list EU Safety Gate alerts (the EU analogue of `search`). | query, category, country, risk_type, weeks, ... |
| eu_latest | The newest EU Safety Gate weekly report fully expanded into its ~80-100 product alerts (newest-published recalls across the EU/EEA). | Developer tools call eu_latest to get the newest EU Safety Gate weekly report fully expanded into its ~80-100 product alerts (newes…. | limit |
Call search from your stack
curl -X POST https://api.reefapi.com/recall/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"listeria","category":"food","limit":3}'import requests
r = requests.post(
"https://api.reefapi.com/recall/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "listeria",
"category": "food",
"limit": 3
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/recall/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "listeria",
"category": "food",
"limit": 3
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.recall.search with {"query":"listeria","category":"food","limit":3}.Who uses this API and why
- Marketplaces call by_company to flag products from a brand with active recalls.
- Compliance teams monitor latest recalls for their categories.
- Consumer apps use search and recall_detail to warn users.
Questions developers ask before integrating
What is the Product Recall & Safety API API?
Product Recall & Safety API API is a ReefAPI endpoint group for product recall & safety api It returns live JSON through POST requests under /recall/v1.
Is the Product Recall & Safety API API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Product Recall & Safety API calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Product Recall & Safety API login or account?
No login to Product Recall & Safety API is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Product Recall & Safety API data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Product Recall & Safety API API use?
Product Recall & Safety API actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Product Recall & Safety API from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call recall actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Product Recall & Safety API API a Product Recall & Safety API scraper?
It is the managed alternative to a DIY Product Recall & Safety API scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same product recall & safety api back as clean JSON.
Why does my Product Recall & Safety API scraper keep getting blocked?
Most Product Recall & Safety API scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.