FDA Scraper - Recalls, Adverse Events & Device Data avatar

FDA Scraper - Recalls, Adverse Events & Device Data

Pricing

from $2.20 / 1,000 recall scrapeds

Go to Apify Store
FDA Scraper - Recalls, Adverse Events & Device Data

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

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

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?

CapabilityTypical FDA scrapersThis actor
Drug and device and food recallsone only✅ all three
Adverse events: FAERS (drug) + MAUDE (device) + CAERS (food)rarely✅ all three
510(k), PMA, classification, UDIone endpoint✅ all device endpoints
Drug labels, Drugs@FDA approvals, NDC directoryrarely
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 requiredsometimes❌ 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

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the FDA Scraper, pick a What to scrape type (e.g. Drug recalls), add a keyword or filters, and click Start.
  3. 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.
  4. 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:

  • searchTypedrugRecalls, deviceRecalls, foodRecalls, drugAdverseEvents (FAERS), deviceAdverseEvents (MAUDE), foodAdverseEvents (CAERS), device510k, devicePMA, deviceClassification, deviceEstablishments (manufacturer leads), deviceUDI, drugLabels, drugApprovals, drugNDC, or custom.
  • 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 / dateToYYYY-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.gov URLs to run them as-is.
  • outputModerecords (default) or analytics; 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:

Tips

  • Deep result sets: openFDA caps pagination at ~25,000 records per query. To exhaust a large dataset, narrow with dateFrom/dateTo windows or a keyword and run in batches.
  • Recurring monitoring: combine Schedules with monitorMode so each run outputs only the new/changed records — ideal for daily recall alerts.
  • Analytics first: run outputMode: "analytics" with countField to 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.