FDA OpenFDA Scraper
Pricing
from $3.00 / 1,000 results
FDA OpenFDA Scraper
Extract FDA drug approvals, adverse event reports, drug and device recalls, medical device 510(k) clearances, drug labels, and food recalls directly from the official OpenFDA.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(1)
Developer

Professional Edge
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
FDA Drug & Device Data Scraper (OpenFDA)
Extract FDA drug approvals, adverse event reports, drug and device recalls, medical device 510(k) clearances, drug labels, and food recalls directly from the official OpenFDA API. This Actor provides structured access to over 44 million records across 8 FDA datasets, making it the most comprehensive OpenFDA data extraction tool on the Apify Store.
Whether you are a pharmaceutical researcher, healthcare compliance officer, medical device manufacturer, or data analyst, this Actor lets you pull exactly the FDA data you need without writing a single line of code. The OpenFDA API is free and public, and this Actor handles all pagination, rate limiting, and error handling automatically.
Key Features
| Feature | Description |
|---|---|
| 8 FDA Datasets | Drug adverse events, drug approvals, drug recalls, drug labels, device 510(k) clearances, device adverse events, device recalls, and food recalls |
| 44M+ Records | Access the full breadth of FDA public data |
| OpenFDA Query Syntax | Use powerful search queries to filter by brand name, manufacturer, date range, and more |
| Automatic Pagination | Handles multi-page results up to the OpenFDA skip limit (26,000 offset) |
| Rate Limit Handling | Built-in 300ms delay between requests with automatic retry on rate limits |
| No API Key Required | Uses the free public OpenFDA API (240 requests/minute) |
| Structured JSON Output | Each record is pushed as a clean JSON object ready for analysis or RAG pipelines |
Available Datasets
| Dataset | Endpoint | Records | Use Case |
|---|---|---|---|
| Drug Adverse Events | drug_event | 20M+ | Side effect and safety reports (FAERS) |
| Drug Approvals | drug_approval | 28K+ | NDA/ANDA approval history |
| Drug Recalls | drug_recall | 17K+ | Drug enforcement and recall actions |
| Drug Labels | drug_label | 255K+ | Drug labeling, indications, warnings |
| Device 510(k) Clearances | device_510k | 174K+ | Medical device market clearances |
| Device Adverse Events | device_event | 24M+ | Medical device incident reports (MAUDE) |
| Device Recalls | device_recall | 57K+ | Medical device recall actions |
| Food Recalls | food_recall | 28K+ | Food enforcement and recall actions |
How to Scrape FDA Data with OpenFDA
- Go to the Actor page on the Apify Store and click "Start".
- Select a Data Type from the dropdown (e.g., "Drug Approvals").
- Enter a Search Query (optional). Use OpenFDA query syntax:
- Drug approvals by brand:
openfda.brand_name:"ibuprofen" - Drug events by drug:
patient.drug.openfda.brand_name:"aspirin" - Drug recalls by firm:
firm_name:"Pfizer" - Device 510(k) by product:
product_code:"DQO" - Leave empty to get all records.
- Drug approvals by brand:
- Set Max Results to control how many records to retrieve (default: 100, max: 26,000).
- Click "Start" and wait for results.
- Download your data in JSON, CSV, or Excel format from the Dataset tab.
Input Example
{"endpoint": "drug_approval","searchQuery": "","maxResults": 100}
Searching for Specific Drugs
{"endpoint": "drug_event","searchQuery": "patient.drug.openfda.brand_name:\"aspirin\"","maxResults": 500}
Getting Device 510(k) Clearances
{"endpoint": "device_510k","searchQuery": "openfda.medical_specialty_description:\"Cardiovascular\"","maxResults": 200}
Output Example
Drug Approval Record
{"submissions": [{"submission_type": "ORIG","submission_number": "1","submission_status": "AP","submission_status_date": "19820115","submission_class_code": "TYPE 1","submission_class_code_description": "Type 1 - New Molecular Entity"}],"application_number": "NDA018612","sponsor_name": "GLAXOSMITHKLINE","openfda": {"application_number": ["NDA018612"],"brand_name": ["ZANTAC"],"generic_name": ["RANITIDINE HYDROCHLORIDE"],"manufacturer_name": ["GlaxoSmithKline"],"route": ["ORAL"],"substance_name": ["RANITIDINE HYDROCHLORIDE"]},"products": [{"product_number": "001","brand_name": "ZANTAC","active_ingredients": [{"name": "RANITIDINE HYDROCHLORIDE","strength": "EQ 150MG BASE"}],"dosage_form": "TABLET","route": "ORAL","marketing_status": "Discontinued"}]}
Pricing
| Cost Component | Amount |
|---|---|
| Actor Start | $0.00005 |
| Per Result | $0.002 |
Example costs:
- 100 drug approvals: ~$0.20
- 1,000 adverse event reports: ~$2.00
- 10,000 device recalls: ~$20.00
Users also pay for Apify platform compute on top of Actor pricing.
OpenFDA Query Syntax Reference
OpenFDA uses a specific query syntax. Here are common patterns:
- Exact match:
field:"value"(e.g.,openfda.brand_name:"aspirin") - AND:
field1:"value1"+AND+field2:"value2" - OR:
field1:"value1"+OR+field2:"value2" - Date range:
field:[20200101+TO+20201231] - Exists:
_exists_:field - Wildcard: Not supported by OpenFDA
For full documentation, see OpenFDA API Reference.
Limitations
- Skip limit: OpenFDA caps the
skipparameter at 26,000. For datasets larger than 27,000 records matching your query, use more specific search queries to narrow results. - Rate limit: 240 requests/minute without an API key. The Actor includes built-in rate limiting (300ms between requests) and automatic retry with exponential backoff.
- Data freshness: OpenFDA data is updated periodically by the FDA. Check open.fda.gov for update schedules.
FAQ
Q: Do I need an FDA API key? A: No. This Actor uses the free public OpenFDA API which allows 240 requests per minute without authentication.
Q: Why am I getting fewer results than expected?
A: OpenFDA limits the skip parameter to 26,000. If your query matches more than ~27,000 records, try narrowing your search with more specific filters.
Q: What format is the output data? A: Each record is output as a JSON object matching the OpenFDA API response schema. You can download results as JSON, CSV, or Excel from the Apify Dataset tab.
Q: Can I search for specific drugs or devices?
A: Yes. Use the OpenFDA search query syntax in the "Search Query" field. For example, openfda.brand_name:"aspirin" for drug approvals, or patient.drug.openfda.brand_name:"aspirin" for adverse events.
Legal Disclaimer
This Actor accesses publicly available data from the OpenFDA API, which is a free public service provided by the U.S. Food and Drug Administration. The data is in the public domain and is not subject to copyright restrictions. This Actor does not bypass any authentication, access controls, or rate limits. Users are responsible for complying with the OpenFDA Terms of Service and for any use they make of the extracted data.
Support
For issues or feature requests, please open an issue on the Actor's page or contact the developer through the Apify Store.