/v1/codes/{code}The same lookup by query fields is at GET /v1/codes/lookup.
One code in, what it names out. Accepted codes: an NDC in any layout, a GTIN or GS1 scanner text, an RxCUI, a UNII, a label set ID, or an NDA, ANDA or BLA number with its prefix, such as BLA125559 or NDA 020702 (a bare number is read as an RxCUI). A code that could be several types is tried as each.
codestringRequiredat most 512 charactersAn NDC in any layout, a GTIN or GS1 scanner text, an RxCUI, a UNII, a label set ID, or an NDA, ANDA or BLA number with its prefix, such as BLA125559 or NDA 020702 (a bare number is read as an RxCUI). Send scanner text that won’t fit in a URL path to GET /v1/codes/lookup?code=…. A code is 1 to 512 characters; spaces, tabs and line breaks at either end are ignored, and a blank code is 400. An NDC may carry an NDC prefix, spaces, dots or typographic dashes between its parts, zero padding (12 digits, or a 9-digit product) or dropped leading zeros. Send an NDC with its hyphens when you have them: unhyphenated 8, 10 and 11 digit forms can fit several layouts and be ambiguous (409). Spaces inside scanner text are data, so send it as scanned.
AuthorizationstringRequiredBearer token with your API key. Keep the key server-side.
Idempotency-KeystringOptionalMakes a retry count once. 8 to 128 letters, digits and . _ : / + -, starting with a letter or digit. For 24 hours the key is bound to your workspace and the exact request; reusing it for different work is refused with 409.
Values go in the query string; repeat a field to send several values.
includestring or array of stringOptionalat least 1 item · at most 10 itemsNarrows a one-product answer to the sections you name; repeat it or join names with commas, in any case. packages: the packages and their billing units. ingredients: the ingredients with classes, kit parts and excipient flags. labels: the labels. rating: the FDA rating. safety: recalls, shortages, REMS programs and recent safety labeling changes. Sections you don’t name are not read, and meta.sources lists only what was read. It applies only when the code resolves to one product and is ignored for every other answer. With no include you get the full profile.
limitintegerOptionalDefaults to 20min 1 · max 100Products per page when an RxCUI, label set ID or application number names several, at most 100. Ignored for other answers.
cursorstringOptionalat most 4096 charactersThe cursor from the previous page of this same lookup’s products.
One object. Optional fields are left out when empty; a few return null for unknown, as their sentences say. Dates are YYYY-MM-DD and times ISO 8601 UTC.
codestringRequiredThe code exactly as you sent it, untrimmed.
code_typestringRequiredWhat the code is: ndc, barcode, rxcui, unii, set_id or application.
outcomestringRequiredproduct: one product. products: several. drug: an ingredient RxCUI or active UNII. A brand RxCUI whose branded drugs have products answers products, with its ingredient drug. ingredient_of: a brand or product RxCUI no listed product carries, answered with its ingredient drug. rxnorm_ndc: an NDC DailyMed no longer lists but RxNorm does. ingredient_ndc: an NDC neither lists, tied to an ingredient (not a product) by Entropy’s reference data. excipient: a UNII used only as an inactive ingredient. redirected: a retired RxCUI with one successor, answered with the successor. A code that names nothing, several things, a retired RxCUI with no single successor, or something that is not a drug is an error (404, 409 with candidates, 410, 422), not an outcome.
productProductProfileOptionalThe product’s full profile when the code names one product: identity, ingredients and strengths, packages, labels, listing status, excipient flags, FDA rating, recalls, shortages, REMS and recent safety labeling changes.
packageProductPackageOptionalThe package the code names, when it is a package NDC, or a GTIN or scan that names one package of the product. Absent for a product NDC.
barcodeBarcodeReadOptionalWhat the scan carried: GTIN, lot, serial and expiry, and whether the package is the scanned one or the one its NDC names. A ]C0 scan carries the NDC alone, so only the package scope is present. An expiry day of 00 means the last day of that month, and the two-digit year falls within 49 years before to 50 years after the current year.
drugDrugLookupResultOptionalThe drug result as DRUG-LOOKUP returns it, without the profile. Call DRUG-LOOKUP for the profile.
rxnormRxNormConceptOptionalFor an NDC DailyMed no longer lists but RxNorm does: the RxNorm concept (or RxCUI) it names.
ingredient_ndcIngredientNdcOptionalFor an NDC neither DailyMed nor RxNorm lists: the ingredient it belongs to. It names no product or package, so strength, form, labeler and package are not known.
productsarray of ProductSummaryOptionalProduct summaries when the code names several products. For an RxCUI, set ID or application number, one page of them: FDA-listed products first, makers before repackagers. For a shared package NDC, up to 25.
more_productsbooleanOptionalTrue when more products than those shown carry the code. For a paged list, meta.page.next_cursor gets the next page.
searchSearchHintOptionalWhere to ask instead: the MARKETED-PRODUCT-SEARCH filter and value that list the products containing an excipient.
Errors and limits lists every code and the limits behind them.