Skip to main content
POST
Returns a US drug product’s listing from the US Food and Drug Administration’s National Drug Code Directory, by NDC or name: ingredients and strengths, labeller, dosage form, route, marketing category and package codes. An NDC lookup adds key sections of the current label, each cut to 2,000 characters. Label text is the manufacturer’s, not medical advice.

Authentication

Requires x402 payment in the payment-signature header.

Request Body

string
Dashed product or package NDC, for example 70247-019 or 50580-449-10.
string
Brand or generic name, matched as a phrase. 2 to 100 characters.
integer
Most products for a name search; ignored for NDC. From 1 to 10. Defaults to 5.

Response (200 OK)

Top-level envelope: success (boolean) and data (object). All fields below are nested under data.
string
Durable job ID for audit and lookup
string
Job status: completed
string
Always product_drug_label
object
The answer, described under Result below
object
Where the answer came from and when
string
The public body the data comes from. Always US Food and Drug Administration.
string
public when the data comes from a public body, commercial otherwise
string
When the lookup was made, as an ISO 8601 UTC time
string | null
When the source says the fact was last updated, or null when the source gives no date

Result

Nested under data.result.
boolean
Found.
number
Total.
object[]
Products.
string | null
Product ndc. null when the source gives no value.
string | null
Brand name. null when the source gives no value.
string | null
Generic name. null when the source gives no value.
string | null
Labeler. null when the source gives no value.
object[]
Active ingredients.
string | null
Name. null when the source gives no value.
string | null
Strength. null when the source gives no value.
string | null
Dosage form. null when the source gives no value.
string[]
Routes.
string | null
Product type. null when the source gives no value.
string | null
Marketing category. null when the source gives no value.
string | null
Application number. null when the source gives no value.
string | null
Marketing start. null when the source gives no value.
string | null
Marketing end. null when the source gives no value.
string | null
Listing expires. null when the source gives no value.
string | null
Dea schedule. null when the source gives no value.
string[]
Pharm classes.
string[]
Upcs.
string[]
Rxcuis.
string | null
Set id. null when the source gives no value.
object[]
Packages.
string | null
Package ndc. null when the source gives no value.
string | null
Description. null when the source gives no value.
string | null
Marketing start. null when the source gives no value.
string | null
Marketing end. null when the source gives no value.
boolean
Sample.
object | null
Label. null when the source gives no value.
string | null
Set id. null when the source gives no value.
string | null
Document id. null when the source gives no value.
number | null
Version. null when the source gives no value.
string | null
Effective date. null when the source gives no value.
object
Sections.
string | null
Boxed warning. null when the source gives no value.
string | null
Indications and usage. null when the source gives no value.
string | null
Dosage and administration. null when the source gives no value.
string | null
Contraindications. null when the source gives no value.
string | null
Warnings. null when the source gives no value.
string | null
Active ingredient. null when the source gives no value.
string | null
Purpose. null when the source gives no value.
string | null
Inactive ingredient. null when the source gives no value.
string[]
Cut sections.
See Pricing for this tool’s price. A wallet (x402) call receives it in the 402 quote before anything is charged; a call paid from prepaid credits is charged when the API accepts the request and answers 200.

Notes

  • Give the dashed product or package NDC. A package NDC returns its whole product. Undashed billing NDCs cannot be converted without knowing which segment was padded.
  • A name search returns products only; call again with an NDC for the label. Some listings have no linked label and return label: null.
  • The label is the source’s current version, which can lag the listing. For prices use Drug Acquisition Cost; for equivalents use Drug Equivalents.
  • The source says its unvalidated data must not guide medical care.
  • Results return inline. The finished job stays available at /v1/requests/{request_id}