Drugs@FDA Approvals Scraper
parseforge/openfda-drugsfda-scraper
BusinessOtherEducation
Scrapes drug approval records from the FDA's Drugs@FDA database. Filter by application number, sponsor name, or product name and get each drug as a flat row with marketing status, active ingredients, and approval history.
- Total users
- 2
- Monthly active
- 1
- Total runs
- 107
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 9 days ago
Overview
Drugs@FDA Approvals Scraper
Scrape drug approval records from the FDA's Drugs@FDA database, filtered by application number, sponsor, or product name. Each record includes the active ingredients, marketing status, dosage form, and approval history. No API key or registration required. Export to CSV, JSON, Excel, or XML.
The FDA's official API requires navigating multiple endpoints and understanding complex data models to get a simple list of approved drugs. This Actor reads the public Drugs@FDA database directly, letting you search by application number, sponsor company, or brand name, and returns each matching drug in one consistent, flat row. It is built for pharmaceutical competitive intelligence, regulatory tracking, and market research teams who need structured approval data without writing code.
| Who uses it | What they scrape Drugs@FDA for |
|---|---|
| Pharma competitive intelligence analysts | Monitor competitor drug approvals and track new market entrants by sponsor name. |
| Regulatory affairs professionals | Track application status changes and approval histories for specific drug products. |
| Market researchers | Build datasets of approved drugs by therapeutic area or marketing status for market sizing. |
| Generic drug manufacturers | Identify ANDA approvals and discontinued products to find market opportunities. |
What it does
This Actor collects drug approval records from the FDA's Drugs@FDA database and returns each one as a flat row with application details, product names, and marketing status.
- ๐ Application number search: Look up a specific drug by its NDA, ANDA, or BLA number for precise regulatory tracking.
- ๐ข Sponsor name filter: Pull all approved products from a single company like Pfizer, Merck, or Genentech.
- ๐ Product name filter: Search by brand name such as Lipitor, Humira, or Keytruda to get its full approval record.
- ๐ Application type filter: Narrow results to NDAs, ANDAs, or BLAs to focus on new drugs, generics, or biologics.
- ๐ท๏ธ Marketing status filter: Filter by Prescription, Over-the-counter, Discontinued, or Tentative Approval status.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with Drugs@FDA data
๐ Track competitor drug approvals.
A pharma competitive intelligence team runs the Actor weekly with a sponsor name filter to catch every new approval from a rival company and update their market landscape dashboard.
๐ Build a generic drug opportunity list.
A generic manufacturer filters by ANDA application type and Discontinued marketing status to find branded drugs that have lost market exclusivity and have no active generic competition.
๐ฌ Research biologic approval trends.
A market research firm collects all BLA approvals over the past five years to analyze the growth of biologic drugs versus traditional small-molecule NDAs.
๐ Monitor prescription-to-OTC switches.
A consumer health company filters by Over-the-counter marketing status to identify drugs that recently switched from prescription to OTC and assess new market entry opportunities.
Why choose this scraper
| What you get | |
|---|---|
| No API key needed | Reads the public Drugs@FDA database directly with no registration or authentication. |
| Fixed flat schema | Every drug returns the same fields so your dataset is clean and analysis-ready. |
| Up to 1M records | Collect up to a million drug records in a single run for large-scale market analysis. |
| Flexible exports | Download results as CSV, JSON, Excel, or XML for your existing workflows. |
How it compares
This Actor focuses exclusively on the Drugs@FDA approval database, while the competitor below combines FDA approvals with clinical trials and device clearances from multiple sources.
| Feature | ParseForge | Clinical Trials & FDA Pipeline Intelligence Scraper |
|---|---|---|
| Drugs@FDA approval records | Yes | Yes |
| Filter by application number | Yes | Not listed |
| Filter by sponsor name | Yes | Not listed |
| Filter by product brand name | Yes | Not listed |
| Filter by marketing status | Yes | Not listed |
| Clinical trial data | Not listed | Yes |
| 510(k) and PMA device clearances | Not listed | Yes |
Configure the run
Drive the Actor with an application number, sponsor name, or product name, alone or in combination, and filters run as each record is read so only matches reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{
"maxItems": 10
}
A larger pull:
{
"maxItems": 200
}
Pricing
Pay-per-result: $0.02 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $2.00 |
| 1,000 results | $20.00 |
| 10,000 results | $200.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the Drugs@FDA Approvals Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to Drugs@FDA through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/openfda-drugsfda-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your filter values are spelled correctly. The sponsor name and product name filters match substrings, but they are case-sensitive. Try broadening your search by removing some filters or using a shorter substring.
The Actor is running slowly.
The FDA website may rate-limit requests. Try reducing the maxItems value or adding more specific filters to narrow the search. Running during US off-peak hours can also improve speed.
I got an error about an invalid application number.
Application numbers must follow the format NDA, ANDA, or BLA followed by six digits, such as NDA022345. Check that your application number matches this pattern and that the drug exists in Drugs@FDA.
Some fields are empty in my results.
Not every drug record in Drugs@FDA has all fields populated. Older applications or certain application types may have less complete data. This is expected behavior from the source database.
The Actor stopped before reaching my maxItems limit.
The Actor stops when there are no more matching records in Drugs@FDA. Your filter combination may return fewer results than your maxItems setting. Try broadening your filters to collect more records.
FAQ
| Question | Answer |
|---|---|
| What is Drugs@FDA? | Drugs@FDA is the FDA's public database of approved drug products, including prescription and over-the-counter drugs, biologics, and generics. It contains application numbers, sponsor names, active ingredients, dosage forms, and marketing status for every approved drug in the United States. |
| Do I need an FDA API key to use this Actor? | No. This Actor reads the public Drugs@FDA database directly and does not require any API key, registration, or authentication with the FDA. |
| What is the difference between NDA, ANDA, and BLA? | NDA stands for New Drug Application and covers new brand-name drugs. ANDA is an Abbreviated New Drug Application for generic drugs. BLA is a Biologics License Application for biologic products like vaccines and monoclonal antibodies. |
| Can I search for a specific drug by its brand name? | Yes. Use the Product Name filter to search by brand name such as Lipitor, Humira, or Keytruda. The Actor will return the full approval record for that product. |
| How do I find all drugs from one pharmaceutical company? | Enter the company name in the Sponsor Name field. The Actor matches substrings, so entering 'Pfizer' will return all drugs where Pfizer is listed as the sponsor. |
| What marketing statuses are available? | The Actor supports filtering by Prescription, Over-the-counter, Discontinued, Tentative Approval, and For Further Manufacturing Use. You can also select All Statuses to return everything. |
| How many records can I collect in one run? | You can set the maximum up to 1,000,000 drugs per run. The Actor will stop when it reaches your limit or when there are no more matching records. |
| What export formats are supported? | Your dataset can be exported as CSV, JSON, Excel, or XML directly from the Apify platform. |
| Does this Actor include clinical trial data? | No. This Actor scrapes the Drugs@FDA approval database only. For clinical trial data, consider a separate ClinicalTrials.gov scraper. |
| Can I get the approval history for a drug? | Yes. Each record includes the application's approval date and history, so you can see when a drug was first approved and any subsequent changes. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by U.S. Food and Drug Administration. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| maxItems | integer | Maximum number of drugs to collect per run. | 10 |
| applicationNumber | string | Exact application number, e.g. NDA022345, ANDA076439, BLA125514. | not set |
| sponsorName | string | Sponsor company name (substring), e.g. Pfizer, Merck, Genentech. | not set |
| productName | string | Product brand name, e.g. Lipitor, Humira, Keytruda. | not set |
| applicationType | string (4 options) | Filter by FDA application type. | not set |
| marketingStatus | string (6 options) | Filter by product marketing status. | not set |
Pricing
from $15.00 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| Result Item | Charged once per result collected. | $0.015 to $0.02 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~openfda-drugsfda-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
