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.
{ "safetyReportId": "10003532", "reportType": "Report from study", "serious": true, "seriousnessReasons": ["Hospitalization"], "receiveDate": "2014-03-12", "receiptDate": "2015-06-02", "primarySourceCountry": "GB", "occurCountry": "GB", "qualification": "1" }
每次运行都返回干净、带类型的记录,可直接用于你的 CRM、表格或数据库。
- 每个结果对应一条干净记录,已去重并规范化
- JSON、CSV 或 Excel 的稳定结构,也可通过 Apify API 读取
- 在云端按用量付费,无需安装或维护
一条真实的示例记录,正是你收到的结构。
| Safety Report Id | Report Type | Serious | Seriousness Reasons |
|---|---|---|---|
| 10003532 | Report from study | true | ["Hospitalization"] |
| 10003540 | Report from study | true | ["Other"] |
| 10003548 | Report from study | false | |
| 10003551 | Report from study | true | ["Other"] |
| 10003651 | Report from study | true | ["Hospitalization"] |
{ "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 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.