# Drugs@FDA Approvals Scraper (`parseforge/openfda-drugsfda-scraper`) Actor

Export Drugs@FDA approval records from openFDA. Search 29k+ NDA, ANDA, and BLA applications by application number, sponsor, or product. Pull application details, sponsor, submissions history, products, dosage forms, routes, and marketing status.

- **URL**: https://apify.com/parseforge/openfda-drugsfda-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Business, Other, Education
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $15.00 / 1,000 result items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 📋 Drugs@FDA Approvals Scraper

> 🚀 **Export the official FDA drug-approval catalog in seconds.** Pull **24,000+ NDA, ANDA, and BLA applications** filtered by application number, sponsor, product, type, or marketing status. No login, no daily quota juggling, no schema guesswork.

> 🕒 **Last updated:** 2026-05-22 · **📊 20 fields** per record · **📋 24,000+ applications** · **🏢 4,000+ sponsors** · **🧪 NDA, ANDA, BLA**

The **Drugs@FDA Approvals Scraper** exports the Drugs@FDA approval catalog and returns **20 fields per record**, including application number, sponsor, application type, product list, dosage forms, routes, marketing statuses, full submission history, and the original approval date. Drugs@FDA is the official record of every drug that has been submitted to the FDA for marketing approval.

The catalog covers **every NDA (New Drug Application), ANDA (Abbreviated NDA / generic), and BLA (Biologics License Application)** published by the FDA. This Actor turns the live catalog into a downloadable dataset as CSV, Excel, JSON, or XML in under five minutes. Filtering happens at source, so you skip the paging and field-name spelunking entirely.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Pharma competitive-intelligence teams, generics-tracking analysts, regulatory affairs, market access, life-sciences investors, biotech business development, health policy researchers | Approval-history dashboards, sponsor portfolios, generic-launch trackers, therapeutic-area pipelines, regulatory submission histories, market-status monitoring |

---

### 📋 What the Drugs@FDA Approvals Scraper does

Five filtering workflows in a single run:

- 🆔 **Application filter.** Pull one application by exact number, e.g. `NDA022345`, `ANDA076439`, `BLA125514`.
- 🏢 **Sponsor filter.** Substring match on sponsor company name, e.g. Pfizer, Merck, Genentech.
- 🏷️ **Product filter.** Filter by brand name, e.g. Lipitor, Humira, Keytruda.
- 🗂️ **Application-type filter.** NDA, ANDA, or BLA only.
- 🟢 **Marketing-status filter.** Prescription, OTC, Discontinued, Tentative Approval, or For Further Manufacturing Use.

Each record includes the application number, sponsor name, application type, list of brand names, list of active ingredients, dosage forms, routes, marketing statuses, therapeutic equivalence codes, full product array, full submission history with dates and statuses, plus the original approval date.

> 💡 **Why it matters:** the approval catalog is the canonical timeline of every marketed drug in the U.S. Building your own parser means handling decades of submission format drift and stitching products to applications. This Actor skips that work and keeps the dataset fresh on every run.

---

### 🎬 Full Demo

_🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded approval-catalog feed._

---

### ⚙️ Input

<table>
<thead>
<tr><th>Input</th><th>Type</th><th>Default</th><th>Behavior</th></tr>
</thead>
<tbody>
<tr><td><code>maxItems</code></td><td>integer</td><td><code>10</code></td><td>Records to return. Free plan caps at 10, paid plan at 1,000,000.</td></tr>
<tr><td><code>applicationNumber</code></td><td>string</td><td><code>""</code></td><td>Exact application number, e.g. <code>NDA022345</code>.</td></tr>
<tr><td><code>sponsorName</code></td><td>string</td><td><code>""</code></td><td>Sponsor company name (substring).</td></tr>
<tr><td><code>productName</code></td><td>string</td><td><code>""</code></td><td>Product brand name, e.g. Lipitor, Humira.</td></tr>
<tr><td><code>applicationType</code></td><td>string</td><td><code>""</code></td><td>NDA, ANDA, or BLA. Empty = any.</td></tr>
<tr><td><code>marketingStatus</code></td><td>string</td><td><code>""</code></td><td>Prescription, Over-the-counter, Discontinued, Tentative Approval, For Further Manufacturing Use.</td></tr>
</tbody>
</table>

**Example: every Pfizer NDA on the market.**

```json
{
    "maxItems": 200,
    "sponsorName": "Pfizer",
    "applicationType": "NDA",
    "marketingStatus": "Prescription"
}
````

**Example: full approval history for Humira.**

```json
{
    "maxItems": 50,
    "productName": "Humira"
}
```

> ⚠️ **Good to Know:** discontinued products remain in the catalog with their original approval history intact. Use the `marketingStatus` filter to scope to live products only.

***

### 📊 Output

Each application record contains **20 fields**. Download the dataset as CSV, Excel, JSON, or XML.

#### 🧾 Schema

| Field | Type | Example |
|---|---|---|
| 🆔 `applicationNumber` | string | `"NDA022345"` |
| 🏢 `sponsorName` | string | `"PFIZER INC"` |
| 🗂️ `applicationType` | string | `"NDA"` |
| 🏷️ `brandNames` | array | `["LIPITOR"]` |
| 🧪 `activeIngredients` | array | `["ATORVASTATIN CALCIUM"]` |
| 💉 `dosageForms` | array | `["TABLET, FILM COATED"]` |
| 🚪 `routes` | array | `["ORAL"]` |
| 🟢 `marketingStatuses` | array | `["Prescription"]` |
| 🔖 `teCodes` | array | null | `["AB"]` |
| 📦 `productCount` | number | `4` |
| 📜 `submissionCount` | number | `47` |
| 📅 `latestSubmissionDate` | string | `"20240118"` |
| 🆕 `latestSubmissionType` | string | `"SUPPL"` |
| ✅ `latestSubmissionStatus` | string | `"AP"` |
| 🎉 `originalApprovalDate` | string | `"19961217"` |
| 🔗 `openfda` | object | `{...}` |
| 📦 `products` | array | `[{"product_number": "001", ...}]` |
| 📜 `submissions` | array | `[{"submission_type": "ORIG", ...}]` |
| 🕒 `scrapedAt` | ISO 8601 | `"2026-05-22T00:00:00.000Z"` |
| ⚠️ `error` | string | null | `null` |

#### 📦 Sample records

<details>
<summary><strong>💊 Branded prescription NDA</strong></summary>

```json
{
    "applicationNumber": "NDA020702",
    "sponsorName": "PFIZER INC",
    "applicationType": "NDA",
    "brandNames": ["LIPITOR"],
    "activeIngredients": ["ATORVASTATIN CALCIUM"],
    "dosageForms": ["TABLET, FILM COATED"],
    "routes": ["ORAL"],
    "marketingStatuses": ["Prescription"],
    "productCount": 4,
    "submissionCount": 47,
    "originalApprovalDate": "19961217",
    "scrapedAt": "2026-05-22T00:00:00.000Z"
}
```

</details>

<details>
<summary><strong>🧬 Biologic BLA</strong></summary>

```json
{
    "applicationNumber": "BLA125514",
    "sponsorName": "MERCK SHARP DOHME",
    "applicationType": "BLA",
    "brandNames": ["KEYTRUDA"],
    "activeIngredients": ["PEMBROLIZUMAB"],
    "dosageForms": ["INJECTION, SOLUTION"],
    "routes": ["INTRAVENOUS"],
    "marketingStatuses": ["Prescription"],
    "originalApprovalDate": "20140904",
    "scrapedAt": "2026-05-22T00:00:00.000Z"
}
```

</details>

<details>
<summary><strong>🔁 Generic ANDA</strong></summary>

```json
{
    "applicationNumber": "ANDA076439",
    "sponsorName": "TEVA PHARMS USA",
    "applicationType": "ANDA",
    "brandNames": ["METFORMIN HYDROCHLORIDE"],
    "activeIngredients": ["METFORMIN HYDROCHLORIDE"],
    "dosageForms": ["TABLET"],
    "routes": ["ORAL"],
    "marketingStatuses": ["Prescription"],
    "teCodes": ["AB"],
    "originalApprovalDate": "20020816",
    "scrapedAt": "2026-05-22T00:00:00.000Z"
}
```

</details>

***

### ✨ Why choose this Actor

| | Capability |
|---|---|
| 📋 | **Full approval catalog.** 24,000+ NDA, ANDA, and BLA applications with sponsor, products, and history. |
| 🎯 | **Multi-dimensional filtering.** Application, sponsor, product, type, and marketing status compose freely in one run. |
| 📜 | **Submission history.** Every original and supplemental submission with date and status on every record. |
| 🔖 | **Therapeutic equivalence codes.** TE codes available for generic-substitution analysis. |
| ⚡ | **Fast.** 10 applications in under 5 seconds, 10,000 in under five minutes. |
| 🔁 | **Always fresh.** Every run pulls the live catalog published by the FDA. |
| 🚫 | **No authentication.** Works with the public openFDA dataset. No token or quota required from you. |

> 📊 Approval data is the foundation of every modern pipeline tracker, generics watchlist, and competitive-intelligence dashboard.

***

### 📈 How it compares to alternatives

| Approach | Cost | Coverage | Refresh | Filters | Setup |
|---|---|---|---|---|---|
| **⭐ Drugs@FDA Approvals Scraper** *(this Actor)* | $5 free credit, then pay-per-use | **24,000+** applications | **Live per run** | application, sponsor, product, type, status | ⚡ 2 min |
| Commercial pipeline suites | $50k+/year per seat | Curated, scored | Daily | Many | ⏳ Weeks |
| Manual Drugs@FDA downloads | Free | Bulk only | Periodic | Local parsing | 🐢 Days |
| Building your own ingestion | Engineering cost | Brittle | Breaks on schema drift | Custom | 🕒 Weeks |

Pick this Actor when you want clean structured approval records, server-side filters, and zero pipeline maintenance.

***

### 🚀 How to use

1. 📝 **Sign up.** [Create a free account with $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp) (takes 2 minutes).
2. 🌐 **Open the Actor.** Go to the Drugs@FDA Approvals Scraper page on the Apify Store.
3. 🎯 **Set input.** Pick a sponsor, application type, or product name, and set `maxItems`.
4. 🚀 **Run it.** Click **Start** and let the Actor collect your data.
5. 📥 **Download.** Grab your results in the **Dataset** tab as CSV, Excel, JSON, or XML.

> ⏱️ Total time from signup to downloaded dataset: **3-5 minutes.** No coding required.

***

### 💼 Business use cases

<table>
<tr>
<td width="50%" valign="top">

#### 🔍 Competitive intelligence

- Track every approval by a competitor sponsor
- Map therapeutic-area pipelines per company
- Identify recently approved supplements
- Build watchlists by application type

</td>
<td width="50%" valign="top">

#### 🧪 Generics tracking

- Watch for new ANDAs in a target molecule
- Monitor therapeutic-equivalence code assignments
- Compare originator vs generic approval timelines
- Flag tentative approvals waiting on patent expiry

</td>
</tr>
<tr>
<td width="50%" valign="top">

#### ⚖️ Regulatory affairs

- Pre-IND benchmarking on similar approved products
- Submission-history reference for response strategy
- Track supplemental approval cadence
- Build sponsor case-history libraries

</td>
<td width="50%" valign="top">

#### 💼 Market access and investors

- Pipeline due diligence for biotech deals
- Newly launched biologics watchlist
- Market-status changes across a portfolio
- Investor-letter content on approval cycles

</td>
</tr>
</table>

***

### 🔌 Automating Drugs@FDA Approvals Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

- 🟢 **Node.js.** Install the `apify-client` NPM package.
- 🐍 **Python.** Use the `apify-client` PyPI package.
- 📚 See the [Apify API documentation](https://docs.apify.com/api/v2) for full details.

The [Apify Schedules feature](https://docs.apify.com/platform/schedules) lets you trigger this Actor on any cron interval. Weekly or monthly refreshes keep downstream pipeline dashboards in sync automatically.

***

### 🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.

<table>
<tr>
<td width="50%">

#### 🎓 Research and academia

- Regulatory-science studies on submission cycles
- Pharmacy coursework on drug-approval history
- Theses on biosimilar adoption
- Health-policy research on accelerated approvals

</td>
<td width="50%">

#### 🎨 Personal and creative

- Personal trackers for specific therapeutic areas
- Public dashboards of recent approvals
- Blog content on landmark approval anniversaries
- Side-projects that visualize sponsor portfolios

</td>
</tr>
<tr>
<td width="50%">

#### 🤝 Non-profit and civic

- Patient-advocacy resources on approval status
- Investigative reporting on supplemental approvals
- Public-health monitoring of drug availability
- Civic transparency on FDA decision timelines

</td>
<td width="50%">

#### 🧪 Experimentation

- Train classifiers on approval-letter patterns
- Build LLM agents that summarize sponsor histories
- Prototype anomaly detection on submission gaps
- Validate regulatory-NLP pipelines against real data

</td>
</tr>
</table>

***

### 🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:

- 💬 [**ChatGPT**](https://chat.openai.com/?q=How%20do%20I%20use%20the%20Drugs%40FDA%20Approvals%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🧠 [**Claude**](https://claude.ai/new?q=How%20do%20I%20use%20the%20Drugs%40FDA%20Approvals%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🔍 [**Perplexity**](https://perplexity.ai/search?q=How%20do%20I%20use%20the%20Drugs%40FDA%20Approvals%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)
- 🅒 [**Copilot**](https://copilot.microsoft.com/?q=How%20do%20I%20use%20the%20Drugs%40FDA%20Approvals%20Scraper%20by%20ParseForge%20on%20Apify%3F%20Show%20me%20input%20examples%2C%20output%20fields%2C%20common%20use%20cases%2C%20and%20how%20to%20integrate%20it%20into%20a%20workflow.)

***

### ❓ Frequently Asked Questions

#### 🧩 How does it work?

Set an application number, sponsor, product, type, or marketing status in the input form, click Start, and the Actor queries the official FDA approval catalog and emits a clean structured record per application. No browser automation, no captchas, no setup.

#### 📏 How accurate is the data?

The dataset is sourced directly from the FDA Drugs@FDA catalog. Records reflect what has been formally accepted by the agency. Treat records as the canonical regulatory truth.

#### 🔁 How often is the dataset refreshed?

The FDA refreshes the catalog on an ongoing basis. Every run of this Actor fetches the latest data, so your output reflects current records as of run time.

#### 🆔 Which application types are supported?

NDAs (New Drug Applications), ANDAs (Abbreviated New Drug Applications, i.e. generics), and BLAs (Biologics License Applications). Filter to one with the `applicationType` input or leave blank for all.

#### 📅 Does it include the original approval date?

Yes. The `originalApprovalDate` field is parsed from the earliest approved original submission for each application.

#### ⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to run this Actor on any cron interval (weekly, monthly) and keep a downstream pipeline tracker in sync.

#### ⚖️ Is this data legal to use?

Yes. Drugs@FDA is published by the U.S. FDA under a permissive open-data policy. Review downstream regulatory requirements for your specific use case.

#### 💼 Can I use this data commercially?

Yes. Open FDA records are publicly available for commercial reuse. You are responsible for any downstream regulatory or labeling obligations.

#### 💳 Do I need a paid Apify plan to use this Actor?

No. The free Apify plan is enough for testing and small runs (10 records per run). A paid plan lifts the limit and gives you access to scheduling, higher concurrency, and larger datasets.

#### 🔁 What happens if a run fails or gets interrupted?

Apify automatically retries transient errors. If a run still fails, you can inspect the log in the Runs tab, fix the input, and re-run. Partial datasets from failed runs are preserved so you never lose progress.

#### 🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or use the Tally form linked below.

***

### 🔌 Integrate with any app

Drugs@FDA Approvals Scraper connects to any cloud service via [Apify integrations](https://apify.com/integrations):

- [**Make**](https://docs.apify.com/platform/integrations/make) - Automate multi-step workflows
- [**Zapier**](https://docs.apify.com/platform/integrations/zapier) - Connect with 5,000+ apps
- [**Slack**](https://docs.apify.com/platform/integrations/slack) - Get new-approval alerts in your channels
- [**Airbyte**](https://docs.apify.com/platform/integrations/airbyte) - Pipe approval data into your warehouse
- [**GitHub**](https://docs.apify.com/platform/integrations/github) - Trigger runs from commits and releases
- [**Google Drive**](https://docs.apify.com/platform/integrations/drive) - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh approval data into your CI tools, or alert your team in Slack on new launches.

***

### 🔗 Recommended Actors

- [**💊 openFDA Drug NDC Directory Scraper**](https://apify.com/parseforge/openfda-drug-ndc-scraper) - Marketed drug products with NDC, ingredients, and labelers
- [**💊 openFDA Drug Adverse Events Scraper**](https://apify.com/parseforge/openfda-drug-events-scraper) - FAERS post-market safety reports
- [**🏥 openFDA Medical Device Events Scraper**](https://apify.com/parseforge/openfda-device-event-scraper) - MAUDE post-market device adverse events
- [**🧪 ClinicalTrials.gov Scraper**](https://apify.com/parseforge/clinicaltrials-gov-scraper) - Clinical trial registrations and results
- [**🩺 Florida MQA License Scraper**](https://apify.com/parseforge/florida-mqa-scraper) - U.S. healthcare practitioner license records

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge) for more healthcare and life-sciences scrapers.

***

**🆘 Need Help?** [**Open our contact form**](https://tally.so/r/BzdKgA) to request a new scraper, propose a custom data project, or report an issue.

***

> **⚠️ Disclaimer:** this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the U.S. Food and Drug Administration. All trademarks mentioned are the property of their respective owners. Only publicly available openFDA records are collected.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `applicationNumber` (type: `string`):

Exact application number, e.g. NDA022345, ANDA076439, BLA125514.

## `sponsorName` (type: `string`):

Sponsor company name (substring), e.g. Pfizer, Merck, Genentech.

## `productName` (type: `string`):

Product brand name, e.g. Lipitor, Humira, Keytruda.

## `applicationType` (type: `string`):

Filter by FDA application type.

## `marketingStatus` (type: `string`):

Filter by product marketing status.

## Actor input object example

```json
{
  "maxItems": 10
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/openfda-drugsfda-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "maxItems": 10 }

# Run the Actor and wait for it to finish
run = client.actor("parseforge/openfda-drugsfda-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10
}' |
apify call parseforge/openfda-drugsfda-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/openfda-drugsfda-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Drugs@FDA Approvals Scraper",
        "description": "Export Drugs@FDA approval records from openFDA. Search 29k+ NDA, ANDA, and BLA applications by application number, sponsor, or product. Pull application details, sponsor, submissions history, products, dosage forms, routes, and marketing status.",
        "version": "1.0",
        "x-build-id": "z25CyWgrihpc6Vink"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~openfda-drugsfda-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-openfda-drugsfda-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~openfda-drugsfda-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-openfda-drugsfda-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~openfda-drugsfda-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-openfda-drugsfda-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "applicationNumber": {
                        "title": "Application Number",
                        "type": "string",
                        "description": "Exact application number, e.g. NDA022345, ANDA076439, BLA125514."
                    },
                    "sponsorName": {
                        "title": "Sponsor Name",
                        "type": "string",
                        "description": "Sponsor company name (substring), e.g. Pfizer, Merck, Genentech."
                    },
                    "productName": {
                        "title": "Product / Brand Name",
                        "type": "string",
                        "description": "Product brand name, e.g. Lipitor, Humira, Keytruda."
                    },
                    "applicationType": {
                        "title": "Application Type",
                        "enum": [
                            "",
                            "NDA",
                            "ANDA",
                            "BLA"
                        ],
                        "type": "string",
                        "description": "Filter by FDA application type."
                    },
                    "marketingStatus": {
                        "title": "Marketing Status",
                        "enum": [
                            "",
                            "Prescription",
                            "Over-the-counter",
                            "Discontinued",
                            "None (Tentative Approval)",
                            "For Further Manufacturing Use"
                        ],
                        "type": "string",
                        "description": "Filter by product marketing status."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
