Scrapers.lat logo scrapers.lat
Business

openFDA Drug Adverse Events & Recalls Scraper

Scrape FDA drug adverse event reports (FAERS) and drug recall actions from the official openFDA API. Get safety report ID, patient reactions, drugs, seriousness, recall class, reason and recalling firm. Export to JSON, CSV or Excel.

24 fields per record JSON · CSV · Excel · API Pay per use
openfda-drug-events-scraper.json 200 OK
{
  "safetyReportId": "10003532",
  "reportType": "Report from study",
  "serious": true,
  "seriousnessReasons": ["Hospitalization"],
  "receiveDate": "2014-03-12",
  "receiptDate": "2015-06-02",
  "primarySourceCountry": "GB",
  "occurCountry": "GB",
  "qualification": "1"
}
What you get

Every run returns clean, typed records, ready for your CRM, spreadsheet or database.

  • One clean record per result, deduped and normalized
  • Stable schema in JSON, CSV or Excel, or read it via the Apify API
  • Pay per use in the cloud, nothing to install or maintain
Fields it returns
Safety Report IdReport TypeSeriousSeriousness ReasonsReceive DateReceipt DatePrimary Source CountryOccur CountryQualificationPatient SexPatient AgeReactionsReaction CountDrugs
Sample output

A real example record, exactly the shape you receive.

Safety Report IdReport TypeSeriousSeriousness Reasons
10003532Report from studytrue["Hospitalization"]
10003540Report from studytrue["Other"]
10003548Report from studyfalse
10003551Report from studytrue["Other"]
10003651Report from studytrue["Hospitalization"]
GET /openfda-drug-events-scraper
{
  "safetyReportId": "10003532",
  "reportType": "Report from study",
  "serious": true,
  "seriousnessReasons": ["Hospitalization"],
  "receiveDate": "2014-03-12",
  "receiptDate": "2015-06-02",
  "primarySourceCountry": "GB",
  "occurCountry": "GB",
  "qualification": "1"
}

Frequently asked questions

What data does this scraper cover?

It covers two openFDA drug datasets for the United States: the FAERS adverse event reports (patient reactions, drugs and seriousness) and the drug enforcement database of recalls. You pick which one with the Dataset input.

How many records can I pull in one run?

openFDA paginates with a skip offset up to 25000 records per query, so a single search can return up to that many. For larger pulls, narrow the search keyword or the date range to split the work.

How does the search work?

Type a simple keyword and it is matched to the drug product name for events or the recall reason for recalls. You can also paste a raw openFDA expression that already names a field, such as patient.reaction.reactionmeddrapt:"Nausea" or reason_for_recall:contamination.

Can I filter by date?

Yes. Set Date From and Date To in YYYY-MM-DD format. For events this filters the FDA receive date, and for recalls the report date.

What happens to missing fields?

Fields that openFDA does not provide for a given record are returned as null. The scraper never invents values, so an empty field means the source did not report it.

Ready when you are.

Run the scraper live on Apify right now, or have us build one tailored to exactly what you need.