FDA OpenFDA Scraper avatar

FDA OpenFDA Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
FDA OpenFDA Scraper

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

Professional Edge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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

FeatureDescription
8 FDA DatasetsDrug adverse events, drug approvals, drug recalls, drug labels, device 510(k) clearances, device adverse events, device recalls, and food recalls
44M+ RecordsAccess the full breadth of FDA public data
OpenFDA Query SyntaxUse powerful search queries to filter by brand name, manufacturer, date range, and more
Automatic PaginationHandles multi-page results up to the OpenFDA skip limit (26,000 offset)
Rate Limit HandlingBuilt-in 300ms delay between requests with automatic retry on rate limits
No API Key RequiredUses the free public OpenFDA API (240 requests/minute)
Structured JSON OutputEach record is pushed as a clean JSON object ready for analysis or RAG pipelines

Available Datasets

DatasetEndpointRecordsUse Case
Drug Adverse Eventsdrug_event20M+Side effect and safety reports (FAERS)
Drug Approvalsdrug_approval28K+NDA/ANDA approval history
Drug Recallsdrug_recall17K+Drug enforcement and recall actions
Drug Labelsdrug_label255K+Drug labeling, indications, warnings
Device 510(k) Clearancesdevice_510k174K+Medical device market clearances
Device Adverse Eventsdevice_event24M+Medical device incident reports (MAUDE)
Device Recallsdevice_recall57K+Medical device recall actions
Food Recallsfood_recall28K+Food enforcement and recall actions

How to Scrape FDA Data with OpenFDA

  1. Go to the Actor page on the Apify Store and click "Start".
  2. Select a Data Type from the dropdown (e.g., "Drug Approvals").
  3. 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.
  4. Set Max Results to control how many records to retrieve (default: 100, max: 26,000).
  5. Click "Start" and wait for results.
  6. 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 ComponentAmount
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 skip parameter 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.

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.