FDA Drug Approvals Scraper avatar

FDA Drug Approvals Scraper

Pricing

from $19.00 / 1,000 results

Go to Apify Store
FDA Drug Approvals Scraper

FDA Drug Approvals Scraper

Scrapes FDA drug approval records from the openFDA Drugs@FDA endpoint. Each row returns the application number, sponsor, active ingredients, and approval date.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

Acquisition Automation Co.

Acquisition Automation Co.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Share

Acquisition Automation Co. Search less. Close more.

πŸ’Š FDA Drug Approvals Scraper

Export the FDA's Drugs@FDA record as flat rows: application number, sponsor, brand and generic name, dosage form, strength, marketing status and the status date of every submission. No API key, no registration, no login.

In a generics or specialty pharma deal, the asset being sold is the application. An ANDA or an NDA is what carries the right to market the product, and its submission history is what tells you whether the sponsor has kept it alive. The FDA publishes all of it through the openFDA Drugs@FDA endpoint, one JSON page at a time, nested several levels deep. This Actor flattens it into one row per product submission and writes it to a dataset you can open in a spreadsheet.

Who uses itWhat they use the record for
πŸ’Ό Buyers of pharma and generics businessesListing the seller's applications, and seeing which products are Prescription and which are Discontinued
🏭 Contract manufacturers and their acquirersMatching a manufacturer name to the applications it appears on
πŸ”¬ Licensing and business development teamsFinding every sponsor holding an application for a given ingredient
πŸ“Š Analysts and researchersBuilding a dated submission history for a molecule or a company

πŸ“‹ What it does

πŸ’‘ Why it matters: an asset schedule that lists "12 ANDAs" is a claim. The application numbers, their marketing status and their submission history are a public record you can check against it.

  • πŸ”Ž Queries openFDA directly. search takes the same query syntax the endpoint uses, for example submissions.submission_type:ORIG.
  • 🧾 One row per product submission, so an application with several products and several supplements flattens into rows you can group and count.
  • 🏒 Sponsor and manufacturer names side by side, which is how you connect a target company to the applications it holds.
  • πŸ’Š Product detail: brand name, generic name, substance, route, dosage form and strength.
  • 🚦 Marketing status on every row, for example Prescription or Discontinued.
  • πŸ’Ύ Exports to CSV, Excel, JSON or XML, from the run page or the API.

πŸ“Š Output

Every product submission is one flat row with 22 fields. null means the FDA publishes no value for that field on that record; the openfda fields in particular are absent for many older applications.

FieldTypeDescription
πŸ†” applicationNumberstringFDA application number, for example ANDA078902 or NDA017864
🏒 sponsorNamestringThe sponsor as Drugs@FDA records it, for example MYLAN
🏷 openfdaBrandNamestringBrand name from the openFDA block
πŸ§ͺ openfdaGenericNamestringGeneric name from the openFDA block
🏭 openfdaManufacturerNamestringManufacturer name from the openFDA block
πŸ“¦ openfdaProductTypestringProduct type, for example HUMAN PRESCRIPTION DRUG
πŸ’‰ openfdaRoutestringRoute of administration, for example ORAL
βš—οΈ openfdaSubstanceNamestringActive substance name
πŸ”’ productNumberstringProduct number inside the application, for example 004
πŸ’Š dosageFormstringDosage form, for example TABLET or SOLUTION
πŸ“ strengthstringStrength as published
🚦 marketingStatusstringMarketing status, for example Prescription or Discontinued
πŸ“„ submissionTypestringSubmission type, for example ORIG or SUPPL
πŸ”– submissionNumberstringSequence number of the submission
βœ… submissionStatusstringSubmission status code, for example AP for approved
πŸ“… submissionStatusDatestringDate that status was set, as YYYYMMDD
πŸ—‚ submissionClassCodestringSubmission class code, for example LABELING or MANUF (CMC)
πŸ“ submissionClassDescriptionstringThe same class in words, for example Manufacturing (CMC)
πŸ“š submissionsCountintegerHow many submissions the parent application has in total
πŸ“¦ productsCountintegerHow many products the parent application covers
πŸ•’ scrapedAtstringISO timestamp of collection
⚠️ errorstringnull on a normal row

Example rows

{
"applicationNumber": "ANDA078902",
"sponsorName": "MYLAN",
"openfdaBrandName": "PAROXETINE",
"openfdaGenericName": "PAROXETINE HYDROCHLORIDE HEMIHYDRATE",
"openfdaManufacturerName": "Mylan Pharmaceuticals Inc.",
"openfdaProductType": "HUMAN PRESCRIPTION DRUG",
"openfdaRoute": "ORAL",
"openfdaSubstanceName": "PAROXETINE HYDROCHLORIDE",
"productNumber": "004",
"dosageForm": "TABLET",
"strength": "PAROXETINE HYDROCHLORIDE EQ 40MG BASE",
"marketingStatus": "Prescription",
"submissionType": "SUPPL",
"submissionNumber": "7",
"submissionStatus": "AP",
"submissionStatusDate": "20100325",
"submissionClassCode": "LABELING",
"submissionClassDescription": "Labeling",
"submissionsCount": 12,
"productsCount": 4,
"scrapedAt": "2026-09-14T16:31:15.682Z",
"error": null
}
{
"applicationNumber": "NDA017864",
"sponsorName": "BAXTER HLTHCARE",
"openfdaBrandName": null,
"openfdaGenericName": null,
"openfdaManufacturerName": null,
"openfdaProductType": null,
"openfdaRoute": null,
"openfdaSubstanceName": null,
"productNumber": "001",
"dosageForm": "SOLUTION",
"strength": "SODIUM CHLORIDE 450MG/100ML",
"marketingStatus": "Discontinued",
"submissionType": "SUPPL",
"submissionNumber": "39",
"submissionStatus": "AP",
"submissionStatusDate": "19940218",
"submissionClassCode": "MANUF (CMC)",
"submissionClassDescription": "Manufacturing (CMC)",
"submissionsCount": 37,
"productsCount": 1,
"scrapedAt": "2026-09-14T16:31:15.682Z",
"error": null
}

✨ Why choose this Actor

What you get
The FDA's own recordData comes from the openFDA Drugs@FDA endpoint, not from a drug database that resells it.
Flat instead of nestedThe endpoint nests products inside submissions inside applications. Here it is one row, 22 columns.
No credentialsopenFDA is public. No API key, no account, no quota to negotiate.
The same fields every runAppend several searches into one dataset without cleaning columns.
You pay per rowNo subscription. A search that returns nothing costs nothing.

πŸš€ How to use it

  1. Create a free Apify account. New accounts start with $5 of credit.
  2. Open the Actor and select Try for free.
  3. Leave search empty for a general pull, or write an openFDA query to narrow it.
  4. Set maxItems to cap the run.
  5. Select Start, then export from the Dataset tab as CSV, Excel, JSON or XML.

A first run:

{
"maxItems": 10
}

Original applications only, in volume:

{
"search": "submissions.submission_type:ORIG",
"maxItems": 500
}

One sponsor's record:

{
"search": "sponsor_name:MYLAN",
"maxItems": 500
}

βš™οΈ Input

FieldRequiredDescription
searchNoopenFDA search query, for example submissions.submission_type:ORIG. Empty returns a general pull
maxItemsNoMaximum rows per run. Free plan is limited to 10 as a preview, paid plans up to 1,000,000

πŸ’° Pricing

Pay per result. No subscription, and no Apify platform usage on top.

Apify planFreeBronzeSilverGoldPlatinumDiamond
Per row$0.021$0.02033$0.01967$0.019$0.019$0.019
Rows collectedCost on the Free plan
100$2.10
1,000$21.00
10,000$210.00

Free plan runs return up to 10 rows as a preview. Any paid Apify plan lifts that to 1,000,000 per run.

πŸ”Œ Integrate with any app

The dataset is available through the Apify API as soon as the run finishes. Use run-sync-get-dataset-items for a one-shot call, webhooks to trigger what happens next, or the Make, Zapier, Airbyte and LangChain integrations listed on the Actor page.

πŸ€– Use with an AI agent

Give an agent live access to Drugs@FDA over the Model Context Protocol:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=acquistion-automation/fda-drug-approvals-scraper"

Then ask it in plain language which applications a sponsor holds and have it read the rows back.

❓ Frequently asked questions

Why do I get several rows for the same application number? Because the row is a product submission, not an application. An application with four products and twelve submissions produces many rows. submissionsCount and productsCount tell you the size of the parent application on each row, so you can check you pulled all of it.

What does submissionStatusDate mean? It is the date the submission reached the status in submissionStatus, written as YYYYMMDD. For a row with submissionStatus of AP and submissionType of ORIG, that is the original approval date. On a SUPPL row it is the date that supplement was approved, not the date the drug first reached the market.

Why are the openfda fields empty on some rows? The openFDA block is matched from product labelling, and older or discontinued applications often have none. The Drugs@FDA fields on those rows, such as sponsorName, dosageForm and strength, are still populated.

What query syntax does search take? The openFDA syntax, field:value, with the field paths openFDA uses, for example sponsor_name:MYLAN or submissions.submission_type:ORIG. Leaving it empty returns a general pull.

Does this cover biologics, devices or supplements? No. Drugs@FDA covers drug applications. Biologics licensed under a BLA, medical devices and dietary supplements sit in other FDA datasets.

What can I export? CSV, Excel, JSON and XML from the run page, or JSON straight from the API.

πŸ”— More from Acquisition Automation Co.

About Acquisition Automation Co.

We build automation for people buying businesses. The repetitive part of an acquisition search, checking listings, pulling public records, tracking owners and assets, is work a machine should do, so the buyer's time goes into judging deals instead of collecting them.

We add new Actors regularly. If there is a source you need and do not see here, tell us.

πŸ†˜ Support

Open an issue in the Issues tab of this Actor with your run ID, the input you used, and what you expected to get back.

⚠️ Disclaimer

This Actor is independent and is not affiliated with, endorsed by, or sponsored by the U.S. Food and Drug Administration or any government agency. It collects only publicly available data. You are responsible for using that data in compliance with the source's terms of service and applicable law. Nothing here is medical, legal or investment advice.