FDA Recalls Scraper: Drug, Device & Food avatar

FDA Recalls Scraper: Drug, Device & Food

Pricing

$3.00 / 1,000 recall scrapeds

Go to Apify Store
FDA Recalls Scraper: Drug, Device & Food

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

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

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:

FieldDescription
πŸ†” recall_numberFDA recall number
🏷️ product_typeDrugs, Devices, or Food
🚨 classificationClass I (most serious), II, or III
πŸ“Œ statusOngoing, Completed, Terminated
🏒 recalling_firmName of the firm issuing the recall
πŸ’Š product_descriptionProduct name, form, strength, packaging
⚠️ reason_for_recallReason the FDA cites for the enforcement action
πŸ”– code_infoLot numbers, NDCs, expiration dates
🌎 distribution_patternWhere the product was distributed
πŸ“¦ product_quantityQuantity of product covered by the recall
βœ… voluntary_mandatedWhether the recall was firm initiated or FDA mandated
☎️ initial_firm_notificationHow the firm first notified the public or distributors
πŸ™οΈ cityRecalling firm city
πŸ—ΊοΈ stateRecalling firm US state
πŸ“… report_dateDate the recall was reported (YYYYMMDD)
πŸ“… recall_initiation_dateDate the firm initiated the recall (YYYYMMDD)
πŸ“… center_classification_dateDate FDA classified the recall
πŸ†” event_idopenFDA internal event identifier
πŸ•’ scraped_atISO 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

  1. Open the actor and pick a productType (drug, device, or food).
  2. Add a free-text searchTerm (e.g. metformin, insulin pump, infant formula) or leave empty for all.
  3. Optionally filter by firm, classification, status, state, and date range.
  4. Set maxResults to control cost.
  5. 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:

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.