FDA Drug NDC & Labeler Directory Scraper avatar

FDA Drug NDC & Labeler Directory Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
FDA Drug NDC & Labeler Directory Scraper

FDA Drug NDC & Labeler Directory Scraper

Search the FDA's public National Drug Code (NDC) Directory (openFDA) by labeler/company name, brand name, generic name, or product NDC. Returns real drug listings with labeler (manufacturer) company name, address info via openFDA, dosage form, route, marketing category, and active ingredients.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Search the FDA's public National Drug Code (NDC) Directory (openFDA) by labeler/manufacturer company name, brand name, generic (active ingredient) name, or an exact product NDC code. Returns real, current drug listing data — labeler company, dosage form, route of administration, marketing category, active ingredients, packaging, and more. HTTP-only via the public api.fda.gov REST API. No auth, no login, no proxy required.

What this actor does

  • Six search modes: search by labeler/company, by brand name, by generic name, look up one exact product NDC, look up every NDC listing filed under one FDA application number (NDA/ANDA/BLA), or look up one exact package NDC
  • Filters: product type, marketing category (ANDA/NDA/BLA/OTC monograph/etc.), route of administration (all 70 FDA routes), dosage form (140+ FDA forms), pharmacologic class, DEA controlled-substance schedule (CI–CV), finished-products-only
  • Sorting: by marketing start date or listing expiration date, ascending or descending
  • Rich company data: labeler/manufacturer name, application number, active ingredients with strengths, packaging descriptions and package NDCs, pharmacologic classes
  • Empty fields are omitted — every record only contains fields openFDA actually populated

Output per listing

  • productNdc — the FDA National Drug Code
  • brandName, brandNameBase, genericName
  • labelerName, manufacturerName
  • dosageForm, route, productType, marketingCategory
  • marketingStartDate, marketingEndDate, listingExpirationDate
  • applicationNumber, finished, deaSchedule (only present for DEA-controlled substances)
  • activeIngredients[], pharmClasses[], packageDescriptions[], packageNdcs[]
  • rxcui, unii, upc — cross-reference identifiers where available
  • productId, splId, splSetId — FDA Structured Product Labeling identifiers where available
  • sourceUrl — direct openFDA API query URL for the record
  • recordType: "ndcListing", scrapedAt

Input

FieldTypeDefaultDescription
modeselectsearchByLabelersearchByLabeler / searchByBrand / searchByGeneric / byProductNdc / byApplicationNumber / byPackageNdc
labelerNamestringCompany name (required for mode=searchByLabeler; suggested value pfizer)
brandNamestringBrand name (mode=searchByBrand)
genericNamestringGeneric/active-ingredient name (mode=searchByGeneric)
productNdcstringExact NDC code (mode=byProductNdc)
applicationNumberstringExact FDA application number, e.g. NDA213871 (mode=byApplicationNumber)
packageNdcstringExact package-level NDC code, e.g. 0069-0235-30 (mode=byPackageNdc)
productTypeselectFilter by FDA product type
marketingCategoryselectFilter by approval/marketing category
routeselectFilter by route of administration (all 70 FDA routes)
dosageFormstringFilter by FDA dosage form, e.g. TABLET, CREAM (case-insensitive, matches whole words within the form -- e.g. TABLET also matches TABLET, FILM COATED)
pharmClassstringFilter by pharmacologic class keyword, e.g. vaccine, Opioid (case-insensitive, matches whole words)
deaScheduleselectFilter by DEA controlled-substance schedule (CI–CV)
finishedOnlybooleanfalseOnly finished drug products
sortByselectSort by marketingStartDate or listingExpirationDate, ascending or descending. Default is openFDA's unsorted relevance order
maxItemsinteger50Hard cap on emitted records (1–1000)

Example: prescription drugs manufactured by Pfizer

{
"mode": "searchByLabeler",
"labelerName": "pfizer",
"productType": "HUMAN PRESCRIPTION DRUG",
"maxItems": 50
}

Example: lookup by exact NDC

{
"mode": "byProductNdc",
"productNdc": "0069-0235"
}

Example: lookup by FDA application number

{
"mode": "byApplicationNumber",
"applicationNumber": "NDA213871"
}

Example: lookup by exact package NDC

{
"mode": "byPackageNdc",
"packageNdc": "0069-0235-30"
}

Example: newest vaccines by pharmacologic class, sorted by marketing start date

{
"mode": "searchByGeneric",
"genericName": "influenza",
"pharmClass": "vaccine",
"sortBy": "marketingStartDate:desc",
"maxItems": 25
}

Use cases

  • Pharmacovigilance & compliance — pull every NDC listing filed by a manufacturer to audit label/marketing category status
  • Pharmacy & PBM systems — resolve NDC codes to brand/generic names, dosage form, and route for formulary management
  • Drug database enrichment — bulk-import active-ingredient and packaging data by generic name or pharmacologic class
  • Controlled-substance tracking — filter by DEA schedule to monitor scheduled-drug listings
  • Market research — track new drug approvals and marketing start dates for a therapeutic class over time

Data source

Data comes from the openFDA National Drug Code (NDC) Directory, a genuinely public, free, no-authentication REST API published by the U.S. Food & Drug Administration. This actor replaces an originally-planned state Secretary-of-State business search target that was found to be fully blocked by enterprise bot management (Akamai / Cloudflare Turnstile challenges) even under real headless-browser testing — openFDA offers an equivalent, reliably scrapable company/business directory search.

FAQs

Do I need an API key? No. openFDA's public endpoints work without any key for this actor's usage levels.

Can I search by company name partially? Yes — labeler/brand/generic name searches are full-text matches, so partial names work (e.g. pfizer matches Pfizer Inc., Pfizer Consumer Healthcare, etc.).

Why are some fields missing from a record? Only fields openFDA has actually populated for that listing are included — no null placeholders or "N/A" values are ever emitted.