FDA Data Scraper avatar

FDA Data Scraper

Pricing

from $3.50 / 1,000 results

Go to Apify Store
FDA Data Scraper

FDA Data Scraper

Scrape FDA drug, device and food data from the official openFDA API β€” no login, no API key, no blocking. Drug recalls, adverse events (20M+), drug labels, device recalls and 510(k) clearances. Filter by firm, classification and date. Tens of thousands of records per run.

Pricing

from $3.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

1

Monthly active users

3 hours ago

Last modified

Share

πŸ’Š FDA Data Scraper β€” Drug & Device Recalls, Adverse Events & Labels via openFDA API

Scrape FDA drug, device and food data straight from the official openFDA API β€” drug recalls, drug adverse events (20M+ records), drug labels, device recalls, device adverse events (24M+ records), 510(k) clearances and food recalls. This FDA data scraper needs no login and no API key, and one run can return tens of thousands of structured records ready to export to JSON, CSV or Excel.

Because it reads the official openFDA API, results are reliable and don't break with website redesigns. Use openFDA's powerful search syntax to filter by recalling firm, classification, date range and more, and schedule the Actor to keep an always-current FDA enforcement and safety feed.

✨ What this Actor does / Key features

  • Official openFDA API β€” 100% reliable, never blocked, no fragile HTML parsing.
  • No API key, no login β€” just configure and run.
  • Nine FDA datasets β€” drug recalls, drug adverse events, drug labels, device recalls, device adverse events, device 510(k) clearances, food recalls, food adverse events and animal & veterinary adverse events.
  • Massive scale β€” 20M+ drug adverse events, 24M+ device adverse events; tens of thousands of records per run.
  • Powerful filtering β€” use openFDA search syntax to filter by recalling_firm, classification, report_date ranges and any other field.
  • Adjustable run size β€” set maxRecords to cap the run or 0 to pull everything available for the query.
  • Structured, export-ready output β€” flat JSON records, perfect for JSON, CSV, Excel, databases or BI tools.
  • Built for scheduling β€” recalls and adverse events update constantly; run on a schedule for a fresh feed.

πŸ” Input

FieldTypeDescription
datasetstring (enum)Which openFDA dataset to scrape: drug/enforcement (drug recalls), drug/event (drug adverse events, 20M+), drug/label (drug labels), device/recall, device/event (device adverse events, 24M+), device/510k (510(k) clearances), food/enforcement (food recalls), food/event (food adverse events), animalandveterinary/event. Default drug/enforcement.
searchQuerystringOptional openFDA search filter, e.g. classification:"Class I", recalling_firm:pfizer, or report_date:[20260101+TO+20261231]. Leave empty for all records.
maxRecordsintegerMaximum records to save. 0 = all available for the query (up to ~26,000 per query β€” narrow with searchQuery for more). Minimum 0.

πŸš€ Example input

{
"dataset": "drug/enforcement",
"searchQuery": "classification:\"Class I\"",
"maxRecords": 10000
}

Pull all device recalls for a specific firm:

{
"dataset": "device/recall",
"searchQuery": "recalling_firm:medtronic",
"maxRecords": 0
}

πŸ“¦ Output

Each item in the dataset is one FDA record. Output is flat, structured JSON. The fields below are the common enforcement/recall fields surfaced across datasets; the exact fields available depend on the chosen dataset.

FieldDescription
_datasetThe openFDA dataset this record came from (e.g. drug/enforcement).
recalling_firmName of the firm that initiated the recall.
product_descriptionDescription of the recalled or reported product.
reason_for_recallStated reason for the recall.
classificationFDA recall classification (Class I, II or III).
statusRecall status (e.g. Ongoing, Completed, Terminated).
cityCity of the recalling firm.
stateState of the recalling firm.
countryCountry of the recalling firm.
recall_numberFDA's unique recall identifier.
report_dateDate the recall was reported.
recall_initiation_dateDate the recall was initiated.
product_typeProduct type (Drugs, Devices, Food, etc.).
scrapedAtISO timestamp of when the record was scraped.

Example output record

{
"_dataset": "drug/enforcement",
"recalling_firm": "Example Pharma Inc.",
"product_description": "Example Drug 10mg Tablets",
"reason_for_recall": "Failed dissolution specifications",
"classification": "Class I",
"status": "Ongoing",
"city": "Trenton",
"state": "NJ",
"country": "United States",
"recall_number": "D-1234-2026",
"report_date": "20260115",
"recall_initiation_date": "20260108",
"product_type": "Drugs",
"scrapedAt": "2026-05-15T08:30:00.000Z"
}

πŸ’‘ Use cases

  • Product-liability & drug-injury law firms β€” monitor recalls and adverse events at scale to identify cases.
  • Pharma & medical-device safety teams β€” track competitor recalls and adverse-event reports.
  • Compliance & regulatory teams β€” maintain an always-current FDA enforcement feed for your product categories.
  • Health-tech companies & researchers β€” build research datasets from FDA's open data.
  • Insurers & risk analysts β€” quantify recall frequency and severity by firm, product type and classification.
  • Journalists & watchdogs β€” surface Class I recalls and safety trends as they're reported.

❓ Frequently Asked Questions

Do I need an FDA or openFDA API key? No. The Actor uses the public openFDA API, which is accessible without an API key, account or login.

Is it legal to scrape FDA data? Yes β€” openFDA is the FDA's official open-data API, intended for public programmatic access. You are responsible for how you use and present the data.

Which datasets can I scrape? Nine: drug recalls, drug adverse events (20M+), drug labels, device recalls, device adverse events (24M+), device 510(k) clearances, food recalls, food adverse events, and animal & veterinary adverse events.

How much data can I get in one run? Tens of thousands of records. openFDA caps a single query at roughly 26,000 records β€” to extract more, split your work with narrower searchQuery filters (e.g. by date range or firm) across multiple runs.

How do I filter the results? Use the searchQuery field with openFDA's search syntax. Examples: classification:"Class I", recalling_firm:pfizer, report_date:[20260101+TO+20261231]. Leave it empty to pull everything.

How fast is it and does it get blocked? It's fast and reliable β€” because it uses the official API there are no captchas or anti-bot blocks. Cost depends only on the Apify compute used.

Can I schedule it and what formats are supported? Yes. Schedule it on Apify to keep recalls and adverse events continuously up to date. Results export to JSON, CSV, Excel or XML, or via the Apify API.

⏰ Scheduling & integration

Schedule this Actor on Apify to run daily for an always-fresh FDA recalls and adverse-events feed. Export results to JSON, CSV or Excel, pull them through the Apify API, or connect the dataset to Google Sheets, webhooks or your compliance and analytics pipelines.