openFDA Recalls Scraper: Food, Drug, Device & 510(k)
Pricing
from $5.00 / 1,000 results
openFDA Recalls Scraper: Food, Drug, Device & 510(k)
Pull FDA food, drug and device recalls plus 510(k) clearances, filtered by keyword, recall class, state and date window, at a fixed price per result.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
M Usama
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does openFDA Recalls Scraper do?
It returns FDA food recalls, drug recalls, medical device recalls and 510(k) device clearances as clean, consistent records. Each record carries the recall number, class, status, report date, recalling firm, product description, reason for recall and state, plus extra detail such as distribution pattern, lot codes, root cause and brand names where the FDA publishes them. Filters for keyword, recall class, state and date window keep runs small, and pricing is per result.
Data source
The official public openFDA API (api.fda.gov): the food and drug enforcement reports, the device recall database and the device 510(k) database, which the FDA refreshes weekly.
Why use it?
- Monitor recalls that touch your products, suppliers, brands or competitors, and push new ones to Slack or a sheet on a schedule.
- Find recalling firms and 510(k) applicants by state or product area for regulatory consulting, insurance, legal or supplier risk outreach.
- Research recall trends by class, root cause or product type without writing API queries.
- Replaces manual searching on fda.gov and hand paging through the raw API.
How to use it
- Open the Actor and set the filters.
- Click Start. Download results as JSON, CSV or Excel, or read them through the API.
- Add a Schedule and an Integration (Slack, Google Sheets, webhook) to get new records automatically.
Input
| Field | Description |
|---|---|
datasets | Any of foodRecalls, drugRecalls, deviceRecalls, device510k. Default: the three recall datasets. |
keywords | Match any term in product description, reason, firm and brand (device name and applicant for 510(k)). Empty means no keyword filter. |
classification | Class I, Class II or Class III. Applies to food and drug recalls only. |
state | Two letter US state code of the recalling firm or applicant. |
daysBack | Only records reported or decided in the last N days. Default 365. |
maxResults | Hard stop for the run, split evenly across the chosen datasets. You are billed per result, so this caps the cost. |
proxyConfiguration | Optional. The API is public and normally needs no proxy. |
Example input:
{"datasets": ["foodRecalls", "drugRecalls"],"keywords": ["listeria", "salmonella"],"classification": "Class I","daysBack": 365,"maxResults": 100}
Output
Every record has an id, a dataset and the fields below. Example food recall (trimmed):
{"id": "food:H-0939-2026:98993","dataset": "foodRecalls","recallNumber": "H-0939-2026","classification": "Class I","status": "Ongoing","reportDate": "2026-06-17","recallingFirm": "HH FRESH TRADING CORP","productDescription": "HH Fresh Trading Corp. (branded) ENOKI MUSHROOM; Premium Quality; Net WT 150g","reasonForRecall": "Imported Enoki Mushrooms tested positive for Listeria Monocytogenes.","state": "CA","eventId": "98993","recallInitiationDate": "2026-05-11","voluntaryMandated": "Voluntary: Firm initiated","scrapedAt": "2026-10-05T08:35:00.802Z"}
| Field | Meaning |
|---|---|
id | Stable key, safe for deduplication between runs |
dataset | Which source the record came from |
recallNumber / kNumber | FDA recall number, or 510(k) number for clearances |
classification, status | Recall class and status (food and drug classes; all recalls have status) |
reportDate / decisionDate | ISO date the recall was posted or the 510(k) was decided |
recallingFirm / applicant | Company behind the recall or the clearance |
productDescription / deviceName | What was recalled or cleared |
reasonForRecall | Plain text reason |
state, city | Location of the firm |
rootCause, action, productCode, kNumbers | Device recalls only |
decision, clearanceType, deviceClass, regulationNumber, advisoryCommittee | 510(k) only |
Pricing
Pay per event: a small fee when a run starts, then a fixed price per result returned. You only pay for records that pass your filters. Set maxResults to cap any run.
Limitations
- Drug label, adverse event and other openFDA endpoints are not included. Recalls and 510(k) only.
- The API returns at most 25,000 records per query, so use
daysBack,stateorkeywordsto narrow very large pulls. - Recall class is not available for device recalls, and the
classificationfilter is ignored for them. - The FDA notes that openFDA data is unvalidated and must not be used for medical decisions.
FAQ
Is this legal? The Actor reads public data the FDA publishes through its open API for anyone without a login. You are responsible for how you use the data.
Something is missing or broken? Open an issue in the Issues tab; response time is usually under a day.