openFDA Drug Adverse Events Scraper
Pricing
from $18.00 / 1,000 result items
openFDA Drug Adverse Events Scraper
Export FAERS drug adverse-event reports from openFDA. Search 20M+ post-market safety records by drug name, reaction term (MedDRA), and received-date range. Pull report ID, patient demographics, drugs, reactions, outcomes, and source country.
Pricing
from $18.00 / 1,000 result items
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Share

💊 openFDA Drug Adverse Events Scraper
🚀 Export the official FDA drug-safety dataset in seconds. Pull 20,000,000+ post-market adverse-event reports filtered by drug name, reaction term, date range, or seriousness. No login, no daily quota juggling, no schema guesswork.
🕒 Last updated: 2026-05-22 · 📊 26 fields per record · 💊 20M+ reports · 🌍 200+ reporter countries · 🧪 every FAERS field
The openFDA Drug Adverse Events Scraper exports FAERS (FDA Adverse Event Reporting System) post-market safety reports and returns 26 fields per record, including report identifiers, patient demographics, full drug list, MedDRA reaction terms, outcomes, seriousness flags, and reporter geography. FAERS is the foundation of U.S. pharmacovigilance and is referenced by regulators, manufacturers, and safety researchers worldwide.
The catalog covers every FAERS submission published by the FDA, from the early 2000s to last week. This Actor turns the live safety feed into a downloadable dataset as CSV, Excel, JSON, or XML in under five minutes. Filtering happens at source, so you skip the paging and field-name spelunking entirely.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Pharmacovigilance teams, drug-safety researchers, regulatory affairs, medical-affairs analysts, academic epidemiologists, health journalists | Signal detection, post-market surveillance, comparator-drug benchmarks, literature reviews, dashboards for drug safety committees, investigative reporting on adverse events |
📋 What the openFDA Drug Adverse Events Scraper does
Four filtering workflows in a single run:
- 💊 Drug-name filter. Restrict to one medicinal product, e.g. ASPIRIN, METFORMIN, or LIPITOR.
- 🤕 Reaction-term filter. Limit to one MedDRA term, e.g. NAUSEA, RASH, or DEATH.
- 📅 Date-range filter. Bound the report received date with
YYYYMMDDfrom/to values. - ⚠️ Serious-only filter. Return only reports flagged for death, hospitalization, disability, life-threatening, congenital anomaly, or other serious outcomes.
Each record includes the safety report ID and version, three FAERS date fields, six seriousness flags, patient sex and age, the structured drugs array with indication and dose, MedDRA reactions, patient outcomes, reporter country, qualification, and report-source metadata.
💡 Why it matters: drug safety signals hide in the long tail. Building a parser yourself means handling 25+ years of submission format drift, MedDRA upgrades, and shifting field names. This Actor skips that work and keeps the dataset fresh on every run.
🎬 Full Demo
🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded drug-safety feed.
⚙️ Input
| Input | Type | Default | Behavior |
|---|---|---|---|
maxItems | integer | 10 | Records to return. Free plan caps at 10, paid plan at 1,000,000. |
drugName | string | "" | Medicinal product name, exact match. Empty = any drug. |
reactionTerm | string | "" | MedDRA-coded reaction term, exact match. |
dateFrom | string | "" | Lower bound on received date, format YYYYMMDD. |
dateTo | string | "" | Upper bound on received date, format YYYYMMDD. |
seriousOnly | boolean | false | When true, only reports flagged as serious are returned. |
Example: 500 serious reports for METFORMIN in 2024.
{"maxItems": 500,"drugName": "METFORMIN","dateFrom": "20240101","dateTo": "20241231","seriousOnly": true}
Example: every NAUSEA report for ASPIRIN over a five-year window.
{"maxItems": 1000,"drugName": "ASPIRIN","reactionTerm": "NAUSEA","dateFrom": "20200101","dateTo": "20241231"}
⚠️ Good to Know: FAERS submissions are voluntary. A report does not establish causation, only that an event was observed and submitted. Treat the dataset as a signal source, not a clinical conclusion.
📊 Output
Each report record contains 26 fields. Download the dataset as CSV, Excel, JSON, or XML.
🧾 Schema
| Field | Type | Example |
|---|---|---|
🆔 safetyReportId | string | "18234567-1" |
🔢 safetyReportVersion | string | null | "3" |
📅 receiveDate | string | "20240312" |
📅 receiptDate | string | "20240310" |
📅 transmissionDate | string | "20240314" |
⚠️ serious | string | "1" |
☠️ seriousnessDeath | string | null | "1" |
♿ seriousnessDisabling | string | null | null |
❓ seriousnessOther | string | null | "1" |
🌍 reporterCountry | string | null | "US" |
👤 reporterQualification | string | null | "1" |
🌐 occurCountry | string | null | "US" |
🌐 primarySourceCountry | string | null | "US" |
📋 reportType | string | null | "1" |
⏱️ fulfillExpediteCriteria | string | null | "1" |
👤 patientSex | string | null | "2" |
🎂 patientAge | number | null | 64 |
🕐 patientAgeUnit | string | null | "801" |
💊 drugs | array | [{"medicinalProduct": "METFORMIN", "drugIndication": "TYPE 2 DIABETES", ...}] |
🤕 reactions | array | [{"reactionMeddrapt": "NAUSEA", "reactionOutcome": "1"}] |
📊 outcomes | array | ["1", "6"] |
📤 sender | string | null | "FDA-PUBLIC USE" |
📥 receiver | string | null | "FDA" |
🏢 companyNumber | string | null | "US-PFIZER INC-2024009876" |
🕒 scrapedAt | ISO 8601 | "2026-05-22T00:00:00.000Z" |
⚠️ error | string | null | null |
📦 Sample records
✨ Why choose this Actor
| Capability | |
|---|---|
| 💊 | Full FAERS coverage. 20M+ post-market adverse-event reports across decades of submissions. |
| 🎯 | Multi-dimensional filtering. Drug, reaction, date range, and seriousness compose freely in a single run. |
| 🌍 | Global reporter geography. Country of reporter, occurrence, and primary source on every record. |
| 🧪 | MedDRA-coded reactions. Standardized reaction terms ready for cross-source joins. |
| ⚡ | Fast. 10 reports in under 5 seconds, 10,000 in under five minutes. |
| 🔁 | Always fresh. Every run pulls live FAERS data published by the FDA. |
| 🚫 | No authentication. Works with the public openFDA dataset. No token or quota required from you. |
📊 Adverse-event surveillance is the foundation of every modern pharmacovigilance program, drug-safety dashboard, and regulatory filing.
📈 How it compares to alternatives
| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| ⭐ openFDA Drug Adverse Events Scraper (this Actor) | $5 free credit, then pay-per-use | 20M+ reports worldwide | Live per run | drug, reaction, date, serious | ⚡ 2 min |
| Commercial pharmacovigilance suites | $50k+/year per seat | Global, plus signal scoring | Daily | Many | ⏳ Weeks |
| Manual FAERS quarterly downloads | Free | Bulk only, lagging | Quarterly | Local parsing | 🐢 Days |
| Building your own ingestion | Engineering cost | Brittle | Breaks on schema drift | Custom | 🕒 Weeks |
Pick this Actor when you want clean structured FAERS records, server-side filters, and no pipeline maintenance.
🚀 How to use
- 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
- 🌐 Open the Actor. Go to the openFDA Drug Adverse Events Scraper page on the Apify Store.
- 🎯 Set input. Pick a drug name, reaction term, or date range, and set
maxItems. - 🚀 Run it. Click Start and let the Actor collect your data.
- 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.
⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.
💼 Business use cases
🔌 Automating openFDA Drug Adverse Events Scraper
Control the scraper programmatically for scheduled runs and pipeline integrations:
- 🟢 Node.js. Install the
apify-clientNPM package. - 🐍 Python. Use the
apify-clientPyPI package. - 📚 See the Apify API documentation for full details.
The Apify Schedules feature lets you trigger this Actor on any cron interval. Daily or weekly refreshes keep downstream safety dashboards in sync automatically.
🌟 Beyond business use cases
Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
🤖 Ask an AI assistant about this scraper
Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:
- 💬 ChatGPT
- 🧠 Claude
- 🔍 Perplexity
- 🅒 Copilot
❓ Frequently Asked Questions
🧩 How does it work?
Set a drug name, reaction term, or date range in the input form, click Start, and the Actor queries the official FDA safety dataset and emits a clean structured record per safety report. No browser automation, no captchas, no setup.
📏 How accurate is the data?
The dataset is sourced directly from the FDA. Submission quality varies because reports come from clinicians, patients, and manufacturers around the world. Treat the records as raw signals, not adjudicated outcomes.
🔁 How often is the dataset refreshed?
The FDA refreshes the public dataset on an ongoing basis. Every run of this Actor fetches the latest data, so your output reflects current records as of run time.
📅 What date range is covered?
Records reach back over two decades. Use the dateFrom and dateTo inputs to scope any window down to the day.
⚠️ What does "serious" mean here?
The FDA flags a report as serious when it involves death, life-threatening event, hospitalization, disability, congenital anomaly, or other clinically significant outcome.
⏰ Can I schedule regular runs?
Yes. Use Apify Schedules to run this Actor on any cron interval (daily, weekly, monthly) and keep a downstream pharmacovigilance dashboard in sync.
⚖️ Is this data legal to use?
Yes. FAERS is published by the U.S. FDA under a permissive open-data policy. Review downstream regulatory requirements for your specific use case.
💼 Can I use this data commercially?
Yes. Open FDA safety records are publicly available for commercial reuse. You are responsible for any downstream regulatory or labeling obligations.
💳 Do I need a paid Apify plan to use this Actor?
No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit and gives you access to scheduling, higher concurrency, and larger datasets.
🔁 What happens if a run fails or gets interrupted?
Apify automatically retries transient errors. If a run still fails, you can inspect the log in the Runs tab, fix the input, and re-run. Partial datasets from failed runs are preserved so you never lose progress.
🆘 What if I need help?
Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.
🔌 Integrate with any app
openFDA Drug Adverse Events Scraper connects to any cloud service via Apify integrations:
- Make - Automate multi-step workflows
- Zapier - Connect with 5,000+ apps
- Slack - Get safety alerts in your channels
- Airbyte - Pipe safety data into your warehouse
- GitHub - Trigger runs from commits and releases
- Google Drive - Export datasets straight to Sheets
You can also use webhooks to trigger downstream actions when a run finishes. Push fresh adverse-event data into your pharmacovigilance system, or alert your team in Slack on new serious reports.
🔗 Recommended Actors
- 💊 openFDA Drug NDC Directory Scraper - Marketed drug products with NDC, ingredients, and labelers
- 📋 Drugs@FDA Approvals Scraper - NDA, ANDA, and BLA approval records
- 🏥 openFDA Medical Device Events Scraper - MAUDE post-market device adverse events
- 🧪 ClinicalTrials.gov Scraper - Clinical trial registrations and results
- 🩺 Florida MQA License Scraper - U.S. healthcare practitioner license records
💡 Pro Tip: browse the complete ParseForge collection for more healthcare and life-sciences scrapers.
🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.
⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Food and Drug Administration. All trademarks mentioned are the property of their respective owners. Only publicly available openFDA records are collected. Safety reports do not establish causation and should not be interpreted as clinical conclusions.