FDA Scraper - Recalls, Adverse Events & Device Data
Pricing
from $2.20 / 1,000 recall scrapeds
FDA Scraper - Recalls, Adverse Events & Device Data
Scrape the U.S. FDA (openFDA): drug, device & food recalls, adverse events (FAERS/MAUDE/CAERS), 510(k) & PMA device clearances, drug labels/approvals/NDC, and medical-device manufacturer leads. Keyless, no browser, monitor mode + analytics.
Pricing
from $2.20 / 1,000 recall scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
FDA Scraper — Recalls, Adverse Events, Device Clearances & Manufacturer Leads (openFDA)
Extract complete U.S. FDA regulatory data from the official openFDA API in one actor: drug, device & food recalls, adverse-event reports (FAERS, MAUDE, CAERS), 510(k) clearances & PMA approvals, device classification & UDI, drug labels, Drugs@FDA approvals & the NDC directory — plus ready-to-contact medical-device manufacturer leads (firm, contact name, phone, address) and built-in analytics.
Most FDA scrapers do one thing — drug recalls or device recalls or 510(k)s. This one covers all of openFDA with a single input, ships the richest normalized record in the category, adds a risk score to every recall and a lead score to every manufacturer, and supports a monitor mode for recall & safety alerts.
No login, no API key required, no browser — fast JSON extraction straight from the FDA's own API.
Why this FDA scraper?
| Capability | Typical FDA scrapers | This actor |
|---|---|---|
| Drug and device and food recalls | one only | ✅ all three |
| Adverse events: FAERS (drug) + MAUDE (device) + CAERS (food) | rarely | ✅ all three |
| 510(k), PMA, classification, UDI | one endpoint | ✅ all device endpoints |
| Drug labels, Drugs@FDA approvals, NDC directory | rarely | ✅ |
| Recall risk level (Class I/II/III → Critical/Serious/Low) | ❌ | ✅ |
| Device-manufacturer leads (contact + phone + address + lead score) | ❌ | ✅ |
| Full openFDA harmonization block (RxCUI, UNII, pharm class, FEI…) | partial | ✅ |
| Analytics (top firms, recalls by state, top reactions) | ❌ | ✅ |
| Monitor mode — only new/changed records | ❌ | ✅ |
| API key required | sometimes | ❌ keyless |
Use cases
- Recall & safety monitoring — schedule daily/weekly runs with monitor mode to catch new Class I drug, device or food recalls the moment the FDA posts them; push to Slack, email or your CRM.
- Pharmacovigilance & post-market surveillance — pull FAERS/MAUDE/CAERS adverse-event reports for a drug, device or food product; aggregate top reactions and seriousness.
- Regulatory & competitive intelligence — track competitors' 510(k) clearances and PMA approvals, new drug approvals (Drugs@FDA), label changes and NDC listings.
- Product-liability & mass-tort legal research — find recalls, adverse events and clearances for a specific device or drug, with firms, dates and risk levels.
- Medical-device manufacturer lead generation — turn the FDA establishment registry into a B2B prospecting list: firm name, contact person, phone, full address, product codes and a 0–100 lead score.
- Market analytics — one-click counts: recalls by classification or state, top recalling firms, most-reported adverse reactions, devices by product code.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the FDA Scraper, pick a What to scrape type (e.g. Drug recalls), add a keyword or filters, and click Start.
- Watch results stream into the dataset table — switch the view (Recalls, Manufacturer leads, Device clearances, Adverse events, Drug products, Analytics) to see the right columns.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results via the Apify API.
Input
{"searchType": "deviceRecalls","keyword": "infusion pump","classification": "Class I","recallStatus": "Ongoing","dateFrom": "2024-01-01","maxResults": 200,"monitorMode": true}
Key fields:
- searchType —
drugRecalls,deviceRecalls,foodRecalls,drugAdverseEvents(FAERS),deviceAdverseEvents(MAUDE),foodAdverseEvents(CAERS),device510k,devicePMA,deviceClassification,deviceEstablishments(manufacturer leads),deviceUDI,drugLabels,drugApprovals,drugNDC, orcustom. - keyword — free-text search across the most relevant fields (product / brand / generic / device name, recall reason, reaction).
- brandName / genericName / firmName — precise matches.
- classification / recallStatus — recall filters (Class I/II/III; Ongoing/Completed/Terminated).
- seriousOnly — adverse-event datasets: keep only serious reports (death, life-threatening, hospitalization).
- state / country / productCode — geo and device-product-code filters.
- dateFrom / dateTo —
YYYY-MM-DD, mapped to the right date field per dataset. - searchQuery — optional raw openFDA query AND-ed with the filters.
- searchUrls — paste full
api.fda.govURLs to run them as-is. - outputMode —
records(default) oranalytics; with analytics set countField (e.g.classification,state,recalling_firm,patient.reaction.reactionmeddrapt). - monitorMode / monitorKey — only output new/changed records across runs.
- apiKey — optional free openFDA key for higher limits (the actor is keyless by default).
Output
One record per FDA entry, tagged with a type. Example — a device recall:
{"type": "recall","dataset": "device","endpoint": "enforcement","recallNumber": "Z-1234-2025","status": "Ongoing","isOngoing": true,"classification": "Class I","riskLevel": 3,"riskLabel": "Critical — reasonable probability of serious harm or death","productDescription": "Volumetric Infusion Pump, model X100","reasonForRecall": "Software error may cause under-infusion of medication.","recallingFirm": "Acme Medical Devices, Inc.","firmAddress": "1 Industrial Way, Boston, MA 02101, United States","city": "Boston","state": "MA","country": "United States","recallInitiationDate": "2025-02-10","reportDate": "2025-03-01","daysToClassify": 19,"openfda": { "device_name": "Infusion Pump", "medical_specialty_description": "General Hospital", "regulation_number": "880.5725", "device_class": "2" },"scrapedAt": "2026-06-17T12:00:00.000Z"}
A medical-device manufacturer lead (searchType: "deviceEstablishments"):
{"type": "establishment","firmName": "GLOBUS MEDICAL, INC.","contactName": "DANIEL S PAUL","contactPhone": "x-610-9301800-1680","address": "2560 General Armistead Ave, AUDUBON, PA, 19403, US","city": "AUDUBON","state": "PA","country": "US","establishmentTypes": ["Manufacture Medical Device"],"isImporter": false,"registrationNumber": "3004142400","feiNumber": "3004142400","productCount": 4,"deviceNames": ["Spinal Vertebral Body Replacement Device"],"leadScore": 84,"scrapedAt": "2026-06-17T12:00:00.000Z"}
Fields are null only when the FDA record genuinely doesn't contain them — never because the scraper skipped them.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it hourly/daily/weekly with monitor mode to track new recalls, approvals or adverse events; perfect for safety alerts and lead pipelines.
- Webhooks — trigger downstream actions (CRM import, Slack alert, email sequence) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/fda-scraper').call({searchType: 'drugRecalls',classification: 'Class I',recallStatus: 'Ongoing',monitorMode: true,maxResults: 500,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} FDA records`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new recalls or manufacturer leads straight into your CRM.
- Slack — get notified when a monitored search finds a new Class I recall.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find ongoing Class I device recalls for infusion pumps this year" and let it run this scraper for you.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
More scrapers from scrapesage
Build a complete healthcare, regulatory & lead-gen stack:
- Healthgrades Scraper — doctors, specialties, reviews & provider leads.
- WebMD Scraper — physicians, insurance accepted & provider leads.
- FindLaw Scraper — attorney & law-firm leads (mass-tort / product-liability prospecting).
- Insurance Agent Scraper — multi-carrier insurance agent leads.
- SAM.gov Scraper — U.S. federal entities, contracts & opportunities.
Tips
- Deep result sets: openFDA caps pagination at ~25,000 records per query. To exhaust a large dataset, narrow with
dateFrom/dateTowindows or a keyword and run in batches. - Recurring monitoring: combine Schedules with
monitorModeso each run outputs only the new/changed records — ideal for daily recall alerts. - Analytics first: run
outputMode: "analytics"withcountFieldto see the shape of the data (top firms, states, reactions) before pulling full records. - Higher limits: the actor is keyless and rotates proxy sessions to spread the per-IP limit; for very large jobs add a free
apiKey.
FAQ
Do I need an FDA or openFDA API key? No. The actor works keyless. Add an optional free key only for very high-volume jobs.
What datasets are covered? Drug (enforcement/recalls, FAERS events, labels, Drugs@FDA approvals, NDC), Device (enforcement/recalls, MAUDE events, 510(k), PMA, classification, registration & listing, UDI), and Food (enforcement/recalls, CAERS events). The custom type exposes any other openFDA endpoint.
How fresh is the data? It's the FDA's own openFDA API — as current as the FDA publishes (recall and event datasets typically update weekly).
Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically every run via the Google Drive integration.
How do I monitor new recalls automatically? Turn on monitorMode, create a Schedule, and optionally add a webhook or Zapier zap.
Where do manufacturer contact details come from? From the FDA's public device registration & listing database (official correspondent + firm address). This is public regulatory data.
Is this data official? Yes — it comes directly from the FDA's openFDA API. Note the FDA's disclaimer: openFDA data is not for making medical decisions and should not be assumed to be error-free.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.