DailyMed FDA Drug Labels Scraper avatar

DailyMed FDA Drug Labels Scraper

Pricing

from $3.75 / 1,000 result items

Go to Apify Store
DailyMed FDA Drug Labels Scraper

DailyMed FDA Drug Labels Scraper

Scrapes FDA drug labels from the DailyMed database. Search by drug name, active ingredient, NDC code, or manufacturer, and get structured SPL data for each matching label.

Pricing

from $3.75 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

ParseForge

DailyMed FDA Drug Labels Scraper

Scrape FDA drug labels from DailyMed by drug name, active ingredient, NDC, or manufacturer, up to a million per run. Each label returns the full structured SPL data, including indications, dosage, warnings, and packaging. No API key. Export to CSV, JSON, Excel, or XML.

DailyMed is the official NIH site for FDA-approved drug labeling, but downloading labels one by one is slow and manual. This Actor searches the public database by brand name, generic name, active ingredient, NDC code, or manufacturer, and returns each matching label as a structured row. It handles the pagination and parsing so you get clean, consistent data for every result.

Who uses itWhat they scrape DailyMed for
Pharmacovigilance analystsMonitoring label changes for safety signal detection across drug classes.
Pharmacy benefit managersExtracting NDC codes and packaging details for formulary management.
Clinical researchersGathering structured indications and dosage data for systematic reviews.
Healthcare data engineersBuilding a local, queryable database of current FDA-approved labeling.

What it does

This Actor collects FDA drug labels from the DailyMed database and returns each one as a flat, structured row with the full SPL label content.

  • ๐Ÿ” Drug name search: Find labels by brand name, generic name, or partial match (e.g. ibuprofen, Lipitor, metformin).
  • ๐Ÿงช Active ingredient filter: Narrow results to a specific substance, such as atorvastatin or lisinopril.
  • ๐Ÿ“ฆ NDC code lookup: Retrieve the exact label for a National Drug Code like 0093-1019-01.
  • ๐Ÿญ Manufacturer filter: Limit results to a specific labeler, such as Pfizer, Mylan, or Teva.
  • โš ๏ธ DEA schedule filter: Restrict to controlled substances by schedule (C1 through C5).
  • ๐Ÿ“‹ Marketing status filter: Filter by FDA application type, including NDA, ANDA, OTC monograph, and unapproved drugs.
  • ๐Ÿ“… Publication date filter: Only collect labels published or updated on or after a given date.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with DailyMed data

๐Ÿ“ˆ Monitor label changes for pharmacovigilance.

A drug safety team runs the Actor weekly with a publishedSince filter to detect new boxed warnings, updated adverse reactions, or revised indications across a portfolio of drugs.

๐Ÿ’Š Build a pharmacy formulary database.

A PBM extracts NDC codes, packaging configurations, and marketing status for every label from a set of manufacturers to populate their internal formulary system.

๐Ÿ”ฌ Gather structured data for clinical research.

A researcher searches by active ingredient to collect indications, dosage forms, and contraindications for all approved products containing a specific substance.

๐Ÿ›๏ธ Support regulatory compliance workflows.

A compliance officer filters by ANDA marketing status and manufacturer to audit generic drug labeling against the reference listed drug.

Why choose this scraper

What you get
No API keyReads the public DailyMed search and label pages directly, no registration or authentication required.
Structured SPL dataReturns the full Structured Product Labeling content in a flat, consistent schema.
Flexible searchCombine drug name, ingredient, NDC, manufacturer, schedule, and marketing status filters.
ScalableCollect up to a million labels per run, with automatic pagination and error handling.

How it compares

This Actor offers flexible search by drug name, ingredient, NDC, and manufacturer with DEA schedule and marketing status filters, while competitors vary in their filtering and data coverage.

FeatureParseForgeDailyMed Drug Label Scraper - FDA SPL, NDC & Labeler DataDailyMed Drug Label ScraperDailyMed Drug Label Scraper (FDA/NLM)
Search by drug nameYesYesYesYes
Search by NDC codeYesYesYesNot listed
Filter by active ingredientYesNot listedYesNot listed
Filter by manufacturerYesYesNot listedNot listed
Filter by DEA scheduleYesNot listedNot listedNot listed
Filter by marketing statusYesNot listedNot listedNot listed
Filter by publication dateYesNot listedNot listedNot listed

Configure the run

Drive the Actor with a drug name, active ingredient, NDC code, or manufacturer, alone or in combination, and filters run as each label is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10,
"drugName": "ibuprofen"
}

A larger pull:

{
"maxItems": 200,
"drugName": "ibuprofen"
}

Pricing

Pay-per-result: $0.005 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$0.50
1,000 results$5.00
10,000 results$50.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

  1. Create a free Apify account with $5 in credit.
  2. Open the DailyMed FDA Drug Labels Scraper.
  3. Set your inputs and any filters, then click Start.
  4. 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 DailyMed 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/dailymed-fda-labels-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 search terms are spelled correctly. Try broadening your search by removing optional filters like ingredient, NDC, or manufacturer. A drug name alone should return results if it exists in DailyMed.

Why are some labels missing fields?

Not all labels contain every SPL section. Some older or simpler labels may lack certain sections like boxed warnings or clinical pharmacology. This reflects the actual data submitted by the manufacturer.

The run is taking a long time. Is that normal?

Yes, especially with a high maxItems value. DailyMed's search pages can be slow to paginate. Try reducing maxItems or adding filters to narrow the result set.

I got an error about the publishedSince date format.

The publishedSince field requires the YYYY-MM-DD format exactly. For example, use 2024-01-15, not 1/15/2024 or January 15 2024.

Why does my NDC search return multiple labels?

A single NDC code can appear in multiple label versions or across different SPL document sets. The Actor returns all matching labels. Use additional filters like publishedSince to narrow results.

FAQ

QuestionAnswer
What is DailyMed?DailyMed is the official website of the U.S. National Library of Medicine that provides the most current FDA-approved drug labeling (package inserts) submitted by manufacturers.
Do I need an API key or FDA account?No. This Actor reads the public DailyMed website directly. No registration, API key, or authentication is required.
What data does each label row contain?Each row returns the full Structured Product Labeling (SPL) content, including indications, dosage and administration, contraindications, warnings, adverse reactions, drug interactions, and packaging information.
Can I search by generic drug name?Yes. The drugName field accepts brand names, generic names, or partial matches. Searching for 'metformin' returns all labels with metformin in the name.
How do I filter by active ingredient?Use the ingredient field to specify an active substance like 'atorvastatin calcium'. This filters labels to only those containing that ingredient.
Can I look up a specific NDC code?Yes. Enter the full NDC code (e.g. 0093-1019-01) in the ndc field to retrieve the exact label for that packaged product.
What is the DEA schedule filter for?It restricts results to controlled substances by their schedule classification, from Schedule I through Schedule V. Leave it on 'Any' to include all schedules.
What does the marketing status filter do?It filters labels by their FDA application type, such as New Drug Application (NDA), Abbreviated NDA for generics, OTC monograph, or unapproved drugs.
How do I get only recently updated labels?Set the publishedSince field to a date in YYYY-MM-DD format. The Actor will only return labels published or revised on or after that date.
How many labels can I scrape in one run?You can set maxItems up to 1,000,000 labels per run. The Actor handles pagination automatically.
What output formats are supported?You can export your dataset to CSV, JSON, Excel, or XML directly from the Apify platform.
Is this legal to use?DailyMed is a public U.S. government website. This Actor accesses publicly available data. You are responsible for complying with the site's terms of service for your use case.
  • fda-drug-approvals-scraper: Use this to scrape FDA drug approval records, including application numbers, approval dates, and review classifications, instead of the full label text.

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. National Library of Medicine. 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.