FDA  Drug Labels Scraper avatar

FDA Drug Labels Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
FDA  Drug Labels Scraper

FDA Drug Labels Scraper

Extract FDA drug label data -- indications, dosages, warnings, black box alerts, drug interactions, and more. Search by drug name, active ingredient, manufacturer, or browse the full openFDA database. No API key required.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

mick_

mick_

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Share

FDA Drug Labels Scraper

Extract FDA drug labeling data from openFDA -- indications, dosage, warnings, interactions, and more. No API key required.

Search and retrieve structured drug label information from the FDA's openFDA database. Get comprehensive labeling data for prescription drugs, OTC medications, biologics, and more.


What does it do?

FDA Drug Labels Scraper queries the openFDA Drug Labeling API and returns structured data about FDA-approved drug labels. It extracts labeling sections including indications, dosage, contraindications, warnings, adverse reactions, drug interactions, and pharmacology into clean, normalized JSON. Returns consistent output -- ready for analysis, pharma pipelines, or consumption by AI agents via MCP.

๐Ÿ‘ฅ Who Uses This

๐Ÿ’Š Pharma Competitive Intelligence Teams

You need to know what's on a competitor's label โ€” which indications they've claimed, what warnings they carry, what dosage regimens are approved. FDA drug labels are the ground truth for what a drug is officially approved to do. This actor pulls the full structured label so you can compare across products without manual PDF review.

{
"mode": "search_labels",
"query": "GLP-1 obesity",
"productType": "HUMAN PRESCRIPTION DRUG",
"maxResults": 50
}

Use the indications_and_usage, warnings_and_precautions, and contraindications fields for head-to-head label comparisons. Combine with FDA Adverse Events for a full safety profile picture.


๐Ÿ”ฌ Pharmacovigilance and Drug Safety Teams

You're monitoring boxed warnings, contraindications, and adverse reactions in drug labels โ€” either for your own products or for safety surveillance across a therapeutic area. Label text changes are regulatory events worth tracking.

{
"mode": "search_labels",
"query": "metformin",
"productType": "HUMAN PRESCRIPTION DRUG",
"maxResults": 100
}

Pull boxed_warning, warnings, adverse_reactions, and drug_interactions fields. Schedule runs to detect label updates over time โ€” a new boxed warning or contraindication is a material change for any downstream user of that data.


๐Ÿ—๏ธ Healthcare App and Platform Developers

You're building a drug interaction checker, a clinical decision support tool, a patient information app, or a formulary management system. FDA label data is authoritative, public domain, and structured โ€” ideal as a backend data source without licensing fees.

{
"mode": "get_label",
"applicationNumber": "NDA021977"
}

The drug_interactions, dosage_and_administration, contraindications, and warnings_and_precautions fields map directly to the display sections most clinical apps need. No licensing, no subscription โ€” FDA data is public domain.


๐Ÿ“‹ Regulatory Affairs and Medical Writers

You need to reference competitor labels for regulatory submissions, prepare label comparisons for advisory committees, or track how labels in your therapeutic area evolve over time. Pulling 50 labels by indication keyword takes seconds instead of hours on DailyMed.

{
"mode": "search_labels",
"query": "PCSK9 inhibitor hyperlipidemia",
"productType": "HUMAN PRESCRIPTION DRUG",
"maxResults": 20
}

Export to CSV for tabular comparison of warnings, contraindications, and dosing across approved products in a class.


๐Ÿค– AI/LLM Engineers and Medical AI Builders

You're grounding a medical AI assistant in authoritative drug information โ€” not hallucinated text, but the actual FDA-approved label. Drug label data as a RAG source or MCP tool gives your agent access to dosing, interactions, and warnings at query time.

MCP tool config:

{
"mcpServers": {
"fda-drug-labels": {
"url": "https://mcp.apify.com?tools=labrat011/fda-drug-labels-scraper",
"headers": {
"Authorization": "Bearer <APIFY_TOKEN>"
}
}
}
}

Combine with Clinical Trials Scraper and PubMed Scraper in the same MCP config to give your agent the full FDA + literature + trial data stack.



Input

Choose a scraping mode and provide your search filters.

Mode 1: Search Labels

Search for drug labels by keyword, drug name, active ingredient, or manufacturer.

{
"mode": "search_labels",
"query": "diabetes",
"productType": "HUMAN PRESCRIPTION DRUG",
"maxResults": 100
}

Search by active ingredient:

{
"mode": "search_labels",
"activeIngredient": "metformin",
"maxResults": 50
}

Mode 2: Get Label

Look up a specific drug label by its Set ID.

{
"mode": "get_label",
"setId": "7f5c842e-2f3a-4b1c-9d8e-1234567890ab"
}

Mode 3: Search by Drug

Search labels by drug/brand name or active ingredient.

{
"mode": "search_by_drug",
"drugName": "Lipitor",
"maxResults": 10
}
{
"mode": "search_by_drug",
"activeIngredient": "atorvastatin",
"maxResults": 25
}

Mode 4: Search by Manufacturer

Find all drug labels from a specific manufacturer.

{
"mode": "search_by_manufacturer",
"manufacturer": "Pfizer",
"maxResults": 100
}

Output

Each drug label record includes:

FieldDescription
set_idFDA Set ID (unique identifier)
brand_nameBrand/trade name
generic_nameGeneric drug name
manufacturer_nameManufacturer or labeler
product_typeType (prescription, OTC, etc.)
routeRoutes of administration
substance_nameActive ingredients
product_ndcNDC codes
indications_and_usageApproved indications
dosage_and_administrationDosing instructions
contraindicationsWhen not to use
warnings_and_cautionsSafety warnings
boxed_warningBlack box warnings
adverse_reactionsSide effects
drug_interactionsInteraction information
clinical_pharmacologyHow the drug works
mechanism_of_actionMechanism details
pharmacokineticsAbsorption, distribution, metabolism
pregnancyPregnancy information
label_urlLink to full label on DailyMed

Example output

{
"schema_version": "1.0",
"type": "drug_label",
"set_id": "7f5c842e-2f3a-4b1c-9d8e-1234567890ab",
"brand_name": "LIPITOR",
"generic_name": "ATORVASTATIN CALCIUM",
"manufacturer_name": "Pfizer Laboratories Div Pfizer Inc",
"product_type": "HUMAN PRESCRIPTION DRUG",
"route": ["ORAL"],
"substance_name": ["ATORVASTATIN CALCIUM"],
"indications_and_usage": ["Therapy with LIPITOR should be a component of multiple-risk-factor intervention..."],
"contraindications": ["Active liver disease or unexplained persistent elevations of serum transaminases..."],
"boxed_warning": [],
"adverse_reactions": ["The following serious adverse reactions are discussed in greater detail..."],
"drug_interactions": ["Strong CYP3A4 Inhibitors: Atorvastatin is metabolized by CYP3A4..."],
"label_url": "https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=7f5c842e-2f3a-4b1c-9d8e-1234567890ab"
}

Filters

FilterDescriptionExample
queryGeneral search term"headache"
drugNameBrand name"Advil"
activeIngredientActive ingredient"ibuprofen"
manufacturerCompany name"Johnson & Johnson"
productTypeProduct category"HUMAN PRESCRIPTION DRUG"
routeAdministration route"ORAL", "INTRAVENOUS"

Product types

  • HUMAN PRESCRIPTION DRUG
  • HUMAN OTC DRUG
  • PLASMA DERIVATIVE
  • VACCINE
  • CELLULAR THERAPY
  • STANDARDIZED ALLERGENIC
  • NON-STANDARDIZED ALLERGENIC

Can I combine filters?

Yes. All filters are AND-combined. For example, search for oral prescription drugs containing metformin from a specific manufacturer.


Integrations

Apify API

curl "https://api.apify.com/v2/acts/labrat011~fda-drug-labels-scraper/runs" \
-X POST \
-H "Authorization: Bearer <APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"mode": "search_by_drug",
"drugName": "Humira",
"maxResults": 10
}'

Python

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("labrat011/fda-drug-labels-scraper").call(run_input={
"mode": "search_labels",
"activeIngredient": "adalimumab",
"maxResults": 25
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item['brand_name']}: {item['indications_and_usage'][0][:100]}...")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<APIFY_TOKEN>' });
const run = await client.actor('labrat011/fda-drug-labels-scraper').call({
mode: 'search_by_manufacturer',
manufacturer: 'AbbVie',
maxResults: 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => {
console.log(`${item.brand_name} - ${item.generic_name}`);
});

MCP Integration

This actor works as an MCP tool through Apify's hosted MCP server. No custom server needed.

  • Endpoint: https://mcp.apify.com?tools=labrat011/fda-drug-labels-scraper
  • Auth: Authorization: Bearer <APIFY_TOKEN>
  • Transport: Streamable HTTP
  • Works with: Claude Desktop, Cursor, VS Code, Windsurf, Warp, Gemini CLI

Example MCP config (Claude Desktop / Cursor):

{
"mcpServers": {
"fda-drug-labels-scraper": {
"url": "https://mcp.apify.com?tools=labrat011/fda-drug-labels-scraper",
"headers": {
"Authorization": "Bearer <APIFY_TOKEN>"
}
}
}
}

AI agents can use this actor to search drug labels, look up drug information, check interactions, and retrieve safety data -- all as a callable MCP tool.


Limits and pricing

  • Free tier: 25 results per run
  • Paid tier: Up to 1,000 results per run
  • Rate limiting: Built-in rate limiting respects openFDA API limits
  • No API key required: Uses the public openFDA API

FAQ

What data source does this use?

This actor queries the openFDA Drug Labeling API, which contains drug labels submitted to the FDA in Structured Product Labeling (SPL) format. The data is updated weekly.

Is the data up to date?

The openFDA database is updated weekly with new and revised drug labels. The effective_time field indicates when each label was last updated.

Can I search for OTC drugs?

Yes. Use productType: "HUMAN OTC DRUG" to filter for over-the-counter medications. OTC labels include additional fields like purpose, do_not_use, ask_doctor, and stop_use.

What's the difference between brand_name and generic_name?

brand_name is the trade name (e.g., "Advil"), while generic_name is the nonproprietary name (e.g., "ibuprofen"). Some labels may have multiple brand names for the same generic.

How do I find drug interactions?

The drug_interactions field contains interaction information from the label. Search for a specific drug and examine this field, or use the general query search with interaction-related terms.

Is this data official?

Yes. This data comes directly from the FDA's openFDA API, which contains official drug labeling submitted to the FDA. However, labels may not always reflect the most current information -- always verify critical information with official FDA sources.


ActorWhat it doesPairs well when...
FDA Adverse Events ScraperFAERS post-market safety reportsCross-reference label warnings with real-world adverse event signals
FDA Orange Book ScraperPatent, exclusivity, and generic dataCheck approval and patent status for labeled drugs
Clinical Trials ScraperClinicalTrials.gov study dataFind active trials for drugs or conditions in the label
PubMed Scraper35M+ biomedical abstracts from NCBIFind supporting literature for label claims and safety data
NPI Provider Contact FinderHealthcare provider directoryFind prescribers for drugs in a specific therapeutic area

Resources


License

This actor is provided under the MIT License. The underlying data is from the FDA and is in the public domain.