FDA Recalls Scraper: Drug, Device & Food
Pricing
$3.00 / 1,000 recall scrapeds
FDA Recalls Scraper: Drug, Device & Food
Scrape FDA drug, device & food recall and enforcement reports as clean JSON. Filter by classification, status, firm, state & date. Free tier, no API key. Works in Claude, ChatGPT & any MCP agent.
Pricing
$3.00 / 1,000 recall scrapeds
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Share
π FDA Recalls API Scraper: Drug, Device & Food Enforcement Data
Overview
FDA Recalls API Scraper pulls drug, medical device, and food recall and enforcement reports straight from openFDA. Filter by product type, free-text product term, recalling firm, hazard classification (Class I / II / III), status (ongoing, completed, terminated), US state, and report date range. Get back clean structured JSON with recall number, product description, reason for recall, firm, classification, status, and dates. No API key, free tier included.
It's the fastest way to build a regulatory monitoring feed, run pharmacovigilance queries, or feed a compliance dashboard with authoritative FDA enforcement data.
Reliability posture: blocked, empty, or failed runs are never charged. You only pay for a recall record that was actually delivered.
β No API key required | β Free tier | β Three datasets in one | β MCP-ready for AI agents
Features
Three FDA datasets. Choose drug, device, or food enforcement reports in a single input. Rich filters. Product term, firm, classification, status, state, and date range. Class I focus. Filter to Class I only to catch the most serious recalls. Newest first. Results returned newest recall first for monitoring pipelines. High volume. Up to 25,000 records per run.
How it works
The actor talks to the official openFDA enforcement endpoints (/drug/enforcement, /device/enforcement, /food/enforcement), which are the authoritative source for FDA recall reports. Your filters are converted into openFDA's Lucene-style query syntax and posted with pagination handled automatically until the maxResults budget is reached.
Every record is normalised to a flat schema with the same field names across drugs, devices, and food, so downstream code can process all three product types identically.
π§Ύ Input configuration
{"productType": "drug","searchTerm": "metformin","classification": "Class I","status": "Ongoing","state": "CA","dateFrom": "2025-01-01","dateTo": "2026-06-30","maxResults": 200}
π€ Output format
{"recall_number": "D-1448-2014","product_type": "Drugs","classification": "Class I","status": "Terminated","recalling_firm": "Shamrock Medical Solutions Group LLC","product_description": "metFORMIN ER Tablets, 500 mg, Rx, Packaged and labeled as metFORMIN Immediate Release (IR), Repackaged By: Shamrock Medical Solutions Lewis Center, Ohio, Mfr: Amneal/Interpharm, Hauppauge, NY NDC 53746-178-01","reason_for_recall": "Labeling: Label Mix up; product labeled did not indicated Extended Release","distribution_pattern": "Product was shipped to the following states: CO, MA, OH, TX & WY.","product_quantity": "88/5 mg tablets","voluntary_mandated": "Voluntary: Firm initiated","initial_firm_notification": "Telephone","city": "Lewis Center","state": "OH","country": "United States","report_date": "20140730","recall_initiation_date": "20110927","center_classification_date": "20140723","code_info": "Lot #: 00267J Use By: 7/28/2012 NDC: 53746-178-01","event_id": "64611","scraped_at": "2026-07-15T04:14:53.900Z"}
Every recall record contains these fields:
| Field | Description |
|---|---|
π recall_number | FDA recall number |
π·οΈ product_type | Drugs, Devices, or Food |
π¨ classification | Class I (most serious), II, or III |
π status | Ongoing, Completed, Terminated |
π’ recalling_firm | Name of the firm issuing the recall |
π product_description | Product name, form, strength, packaging |
β οΈ reason_for_recall | Reason the FDA cites for the enforcement action |
π code_info | Lot numbers, NDCs, expiration dates |
π distribution_pattern | Where the product was distributed |
π¦ product_quantity | Quantity of product covered by the recall |
β
voluntary_mandated | Whether the recall was firm initiated or FDA mandated |
βοΈ initial_firm_notification | How the firm first notified the public or distributors |
ποΈ city | Recalling firm city |
πΊοΈ state | Recalling firm US state |
π
report_date | Date the recall was reported (YYYYMMDD) |
π
recall_initiation_date | Date the firm initiated the recall (YYYYMMDD) |
π
center_classification_date | Date FDA classified the recall |
π event_id | openFDA internal event identifier |
π scraped_at | ISO timestamp of when the record was captured |
πΌ Common use cases
Pharmacovigilance & drug safety Pull every ongoing Class I drug recall and cross-reference against active prescriptions. Set up a daily alert on new recalls matching a product portfolio.
Medical device compliance Monitor device enforcement for a competitor set, category, or manufacturer. Track how quickly firms move recalls from Ongoing to Completed.
Food safety & retail Watch food recalls by state or firm for a grocery, restaurant, or e-commerce operation. Filter to Class I only for imminent-hazard alerts.
Regulatory research & journalism Pull historical recalls by category or firm for investigative work. Build a searchable in-house corpus of FDA enforcement reports.
π Getting started
- Open the actor and pick a
productType(drug, device, or food). - Add a free-text
searchTerm(e.g.metformin,insulin pump,infant formula) or leave empty for all. - Optionally filter by firm, classification, status, state, and date range.
- Set
maxResultsto control cost. - Click Start. Results stream to the dataset newest recall first.
FAQ
Where does the data come from? Directly from the openFDA enforcement endpoints, which mirror the official FDA enforcement reports. This is the same source that FDA publishes on fda.gov.
How often is it updated? openFDA refreshes enforcement data on FDA's cadence, which is typically several times per week. Each run fetches live at request time.
How much does it cost? Pay per recall returned, pay as you go. No subscription, no monthly minimum.
Can I use it in an AI agent? Yes. It's exposed as an MCP tool. See below.
Use in Claude, ChatGPT & any MCP agent
https://mcp.apify.com/?tools=themineworks/fda-recalls-scraper
Or call it programmatically with the Apify client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('themineworks/fda-recalls-scraper').call({productType: 'drug',searchTerm: 'metformin',classification: 'Class I',maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
π οΈ Complete your regulatory intel pipeline
Got the recalls. Now build the wider picture:
- FDA 510(k) Scraper: pull device clearances for the same firm or category.
- NPI Registry Scraper: cross-reference to the healthcare providers affected.
- PubMed NCBI Scraper: pull published research on the drug or device.
Typical flow: fda-recalls surfaces the enforcement, fda-510k gives clearance history, pubmed pulls the underlying safety literature.
Questions or need a custom field set? Reach out through the Apify profile.