DailyMed Drug Labels & NDC Codes Scraper avatar

DailyMed Drug Labels & NDC Codes Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
DailyMed Drug Labels & NDC Codes Scraper

DailyMed Drug Labels & NDC Codes Scraper

Extract FDA drug labeling data and NDC codes from DailyMed. Filter by drug name, manufacturer, NDC, and product type. No API key required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Compute Edge

Compute Edge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

14 days ago

Last modified

Categories

Share

Extract FDA drug labeling data from DailyMed, including product names, manufacturers, NDC codes, and published dates. This Actor scrapes the complete DailyMed structured product labels (SPL) database with optional filtering by drug name, manufacturer, or name type (human or animal drugs). Perfect for pharmaceutical research, drug compliance tracking, healthcare analytics, and regulatory intelligence.

What This Actor Does

This Actor provides a complete interface to the DailyMed API (maintained by the National Library of Medicine), which houses FDA-approved drug labeling data for over 120,000 drugs.

Key Features

  • 120,000+ drug labels — Complete DailyMed structured product labels database
  • Flexible filtering — Search by drug name, manufacturer, NDC code, or name type (human/animal)
  • NDC code enrichment — Automatically fetch all National Drug Codes (NDC) for each drug
  • No authentication required — Public FDA data, free to scrape
  • Batch processing — Efficient extraction with configurable result limits
  • Rich output — Includes published dates, SPL versions, and direct links to full labels
  • Error resilience — Handles NDC fetch failures gracefully without stopping the run

Output Fields

Each record includes:

FieldDescriptionExample
setidUnique DailyMed identifier104b5f5b-2a5e-4d3f-8e2c-...
productNameDrug product nameMETFORMIN HYDROCHLORIDE TABLET
labelerManufacturer/company nameREMEDYREPACK INC.
titleFull title (name + labeler)METFORMIN HYDROCHLORIDE TABLET [REMEDYREPACK INC.]
splVersionStructured Product Label version1
publishedDateWhen the label was publishedJun 18, 2026
nameTypeDrug type (human or animal)human
ndcCodesArray of NDC codes for this drug["0228-3095-11", "0228-3095-16"]
ndcCountNumber of NDC codes2
dailymedUrlDirect link to the drug's full label on DailyMedhttps://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=104b5f5b-...

How to scrape DailyMed drug labels

Step 1: Start the Actor

  1. Click the Start button in the Apify Store
  2. Configure the input parameters (see Input Parameters section below)
  3. Leave all parameters blank (except maxResults) for a comprehensive scrape of all drugs

Step 2: Choose Your Search Strategy

Option A: Get all drugs (default)

  • Leave all filter fields blank
  • Set maxResults to 100–1000 depending on how much data you need
  • This returns the most recently published labels first

Option B: Search by drug name

  • Enter a drug name (e.g., "metformin", "aspirin", "omeprazole")
  • Matching is case-insensitive and partial (so "metf" will find "METFORMIN")
  • Leave other filters blank

Option C: Search by manufacturer

  • Enter a company name (e.g., "Pfizer", "Johnson", "Merck")
  • Matching is case-insensitive and partial
  • Combine with drug name for more specific results

Option D: Search by NDC code

  • Enter an NDC code (e.g., "0228-3095-11")
  • NDC (National Drug Code) is the FDA's unique identifier for drugs
  • Leave other filters blank

Option E: Filter by drug type

  • Select "human" for medications intended for people
  • Select "animal" for veterinary drugs
  • Leave blank to return both

Step 3: Download Results

Results appear as JSON in the Dataset tab after the run completes. You can export as CSV, JSON, or Excel.

Input Parameters

ParameterTypeDefaultDescription
drugNamestring(blank)Filter by drug name (partial match, case-insensitive). Example: "metformin"
manufacturerstring(blank)Filter by manufacturer/labeler name (partial match). Example: "Pfizer"
ndcstring(blank)Filter by NDC code. Example: "0228-3095-11"
nameTypeenum(all)Filter by drug type: "" (all), "human" (people), or "animal" (veterinary)
includeNdcbooleantrueIf enabled, fetch NDC codes for each drug. Adds runtime but provides complete drug code data.
maxResultsinteger100Maximum number of drug labels to extract. Min 1, max 2000.

Output Examples

Example 1: Search for Metformin

Input:

{
"drugName": "metformin",
"maxResults": 5
}

Output (5 records):

{
"setid": "104b5f5b-2a5e-4d3f-8e2c-0a8f1b2c3d4e",
"productName": "METFORMIN HYDROCHLORIDE TABLET",
"labeler": "REMEDYREPACK INC.",
"title": "METFORMIN HYDROCHLORIDE TABLET [REMEDYREPACK INC.]",
"splVersion": 1,
"publishedDate": "Jun 18, 2026",
"nameType": "human",
"ndcCodes": ["0228-3095-11", "0228-3095-16"],
"ndcCount": 2,
"dailymedUrl": "https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=104b5f5b-2a5e-4d3f-8e2c-0a8f1b2c3d4e"
}

Example 2: Search by manufacturer (Pfizer)

Input:

{
"manufacturer": "Pfizer",
"maxResults": 3
}

Output (3 Pfizer drugs):

[
{
"setid": "a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6",
"productName": "VIAGRA (SILDENAFIL CITRATE) TABLET",
"labeler": "Pfizer Laboratories",
"title": "VIAGRA (SILDENAFIL CITRATE) TABLET [Pfizer Laboratories]",
"splVersion": 2,
"publishedDate": "May 10, 2026",
"nameType": "human",
"ndcCodes": ["0069-4010-20", "0069-4010-30"],
"ndcCount": 2,
"dailymedUrl": "https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=a1b2c3d4-e5f6-7g8h-9i0j-k1l2m3n4o5p6"
},
{
"setid": "x9y8z7w6-v5u4-t3s2-r1q0-p9o8n7m6l5k4",
"productName": "LYRICA (PREGABALIN) CAPSULE",
"labeler": "Pfizer Laboratories",
"title": "LYRICA (PREGABALIN) CAPSULE [Pfizer Laboratories]",
"splVersion": 3,
"publishedDate": "Apr 22, 2026",
"nameType": "human",
"ndcCodes": ["0069-3720-30", "0069-3721-30"],
"ndcCount": 2,
"dailymedUrl": "https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=x9y8z7w6-v5u4-t3s2-r1q0-p9o8n7m6l5k4"
}
]

Example 3: Veterinary drugs only

Input:

{
"nameType": "animal",
"maxResults": 2
}

Output (2 veterinary drugs):

[
{
"setid": "b2c3d4e5-f6g7-h8i9-j0k1-l2m3n4o5p6q7",
"productName": "RIMADYL (CARPROFEN) CAPSULE",
"labeler": "Zoetis Inc.",
"title": "RIMADYL (CARPROFEN) CAPSULE [Zoetis Inc.]",
"splVersion": 1,
"publishedDate": "Mar 15, 2026",
"nameType": "animal",
"ndcCodes": ["0010-8815-06"],
"ndcCount": 1,
"dailymedUrl": "https://dailymed.nlm.nih.gov/dailymed/drugInfo.cfm?setid=b2c3d4e5-f6g7-h8i9-j0k1-l2m3n4o5p6q7"
}
]

Tutorials

Tutorial 1: Build a Drug Pricing Database

Goal: Extract all metformin products and their NDC codes to match against pricing databases.

  1. Set drugName to metformin
  2. Set maxResults to 500
  3. Enable includeNdc (default is true)
  4. Run the Actor
  5. Download results as CSV
  6. Use the ndcCodes array to match against pharmacy pricing databases (e.g., CMS, NADAC)

Use case: Healthcare analytics, drug cost tracking, insurance formulary management.


Tutorial 2: Compliance & Labeling Audits

Goal: Monitor recent label updates for a specific manufacturer to ensure compliance.

  1. Set manufacturer to your target (e.g., "Merck")
  2. Set maxResults to 200
  3. Run the Actor regularly (monthly or quarterly)
  4. Filter results by publishedDate to identify recent changes
  5. Review new labels in the DailyMed UI via dailymedUrl

Use case: Quality assurance, regulatory compliance, medical affairs tracking.


Tutorial 3: Veterinary Drug Research

Goal: Find all available veterinary medications to build a pet medication directory.

  1. Set nameType to animal
  2. Set maxResults to 1000
  3. Run the Actor
  4. Group results by labeler (manufacturer) to identify veterinary companies
  5. Export as JSON for integration into a healthcare app

Use case: Pet health apps, veterinary directories, animal care platforms.


Pricing

This Actor uses the public DailyMed API, which has no rate limits and no authentication required. You pay only for Apify compute time.

  • Compute cost: ~$0.0001–0.001 per run (depending on result volume)
  • Typical costs:
    • 100 drugs: ~$0.01–0.05
    • 500 drugs: ~$0.05–0.20
    • 1000 drugs (max): ~$0.10–0.50

The DailyMed API itself is completely free — maintained by the National Library of Medicine (NLM), part of the NIH.

NDC enrichment cost: Enabling includeNdc requires ~1 additional API request per drug to fetch NDC codes. This increases runtime by ~30–50%, but provides complete drug code data needed for pharmacy integration.

Troubleshooting

No Results Found

Problem: The Actor runs but returns 0 records.

Solutions:

  1. Check your filter spelling (e.g., "metformin" works, "metformine" won't match anything)
  2. Try removing filters — run with empty drug name and manufacturer to get all drugs
  3. Verify the drug exists in DailyMed: https://dailymed.nlm.nih.gov/dailymed/
  4. Check the Actor log for API errors

Very Slow Run / High Cost

Problem: The Actor is taking too long, especially with NDC enrichment enabled.

Solutions:

  1. Reduce maxResults to 100–200 (default is good for most use cases)
  2. Disable includeNdc if you don't need NDC codes — this cuts runtime in half
  3. Use more specific filters (e.g., search by manufacturer instead of leaving blank)

Some Records Have Empty NDC Codes

Problem: ndcCodes array is empty for some drugs, even with includeNdc enabled.

Reason: Some older or less common drugs don't have NDC codes listed in DailyMed. This is normal and expected. The Actor logs warnings for failed NDC fetches but continues.

Solution: These drugs may have been discontinued or delisted. Check the dailymedUrl to see the full label.

FAQ

Q: What's the difference between setid and ndc?

A: setid (Set ID) is DailyMed's unique identifier for a specific drug label version. ndc (National Drug Code) is the FDA's identifier, and a single drug may have multiple NDCs for different dosages, package sizes, and manufacturers. This Actor returns both in the ndcCodes array.

Q: Can I search by multiple criteria at once?

A: Yes. You can combine filters. For example:

  • Drug name = "metformin" AND Manufacturer = "Pfizer" will find only Pfizer's metformin products
  • Drug name = "aspirin" AND nameType = "human" will exclude veterinary aspirin products

Q: Are these real FDA drug labels?

A: Yes, 100%. DailyMed is the official FDA resource for structured product labels. Every record comes directly from the FDA's Structured Product Labeling (SPL) system.

Q: Can I use this data for my app or website?

A: Yes, these are public FDA records. However, you must:

  1. Clearly attribute data to DailyMed/FDA
  2. Not misrepresent the data as medical advice
  3. Include a disclaimer that users should consult healthcare providers

Q: How often is DailyMed updated?

A: Manufacturers submit updated labels continuously. New labels typically appear within 1–7 days of FDA approval. Run the Actor regularly to stay current.

Q: What's the difference between title and productName?

A: title is the full label title including the manufacturer in brackets: "METFORMIN [REMEDYREPACK INC.]". productName extracts just the drug name: "METFORMIN". Use productName for cleaner display; use title if you need the full, canonical label name.

Q: Can I get results for a specific NDC code?

A: Yes. Set ndc to the NDC code you're looking for (e.g., "0228-3095-11"). This will return only labels associated with that NDC.

Other Scrapers

Looking for related pharmaceutical or health data?

  • FDA OpenFDA Scraper — Adverse event reports, drug enforcement, recalls
  • SEC Financial Statements Scraper — Pharma company filings, financials
  • Visit our profilehttps://apify.com/seatsignal for more health data actors

Disclaimer: This Actor extracts data from DailyMed (https://dailymed.nlm.nih.gov), which is maintained by the National Library of Medicine, part of the National Institutes of Health. All data is public domain (public sector information). By using this Actor, you agree to:

  1. Use the data only for lawful purposes
  2. Not misrepresent the data as medical advice — always direct users to consult healthcare providers or the full label at DailyMed
  3. Provide appropriate attribution to the FDA/DailyMed if publishing results
  4. Comply with any applicable data protection laws (GDPR, CCPA, etc.)

Support: If you encounter issues:

  1. Check the Actor log for error messages
  2. Verify DailyMed is accessible: https://dailymed.nlm.nih.gov/dailymed/
  3. Test the API manually: curl https://dailymed.nlm.nih.gov/dailymed/services/v2/spls.json?pagesize=10&page=1
  4. Contact Apify Community or open an issue on GitHub

Built for pharmaceutical researchers, healthcare developers, and regulatory professionals.