The public drug data, already connected
Labels, NDCs, recalls, shortages, ratings and RxNorm from DailyMed and FDA, joined and served with the source and date on every response.
Code lookup
Start from any code
An NDC in any layout, a GTIN or scan, an RxCUI, a UNII, a DailyMed set ID or an application number.
NDCproduct0003-0894-21
NDC, 11-digitproduct00003089421
GS1 scanproduct(01)00300030894212(17)270228(10)HN0063
RxCUIdrug1364430
UNIIdrug3Z9Y7UWC1J
DailyMed set IDproductse9481622-7cc6-418a-acb6-c5450daae9b0
ApplicationproductsNDA202155
ELIQUIS
apixaban · TABLET, FILM COATED
labelerE.R. Squibb & Sons, L.L.C.
product_ndc0003-0894
listing_statusactive_listing
NDC example · productCode lookup
Source data connected in a single API call
Identity, ingredients, packages, labels, rating, recalls and shortages, joined, each with its date.
Response
{ "data": { "code": "0169-2800-15", "outcome": "product", "product": { "product_name": "Saxenda", "generic_name": "liraglutide", "dosage_form": { "name": "INJECTION, SOLUTION" }, "ingredients": [ { "name": "LIRAGLUTIDE", "role": "active", "strength": { "value": "6", "unit": "mg", "denominator_value": "1", "denominator_unit": "mL" } }, … 6 more ], "labels": [ { "set_id": "3946d389-0926-4f77-a708-0acb8153b143", "version": 22 } ], "rating": { "orange_book": { "application": "NDA206321", "te_codes": [ "AP2" ] } }, "excipients": { "has": [ { "category": "propylene_glycol" } ] }, "safety": { "recalls": [ { "recall_number": "D-0618-2021", "classification": "Class II", "enforcement_status_as_published": "Terminated" } ], "shortages": [ { "package_ndc": "0169-2800-15", "national_shortage_status": "Current", "updated_date": "2026-09-22" }, … 1 more ] }, "safety_label_changes": { "changes": [ { "changed_date": "2026-02-25", "sections": [ "17 PCI/PI/MG …" ] } ] } }, "package": { "package_ndc": "0169-2800-15", "description": "5 SYRINGE, PLASTIC in 1 CARTON > 3 mL in 1 SYRINGE, PLASTIC", "billing_unit": "ML" } }, "meta": { "sources": [ { "id": "dailymed_spl", "data_as_of": "2026-10-23" }, … 9 more ] }}
Stock check
Check what you hold
Send NDCs and lots. Get recall and shortage matches, then rated substitutes.
Request
{ "items": [ { "ndc": "0003-0894-21", "lot": "HN0063" } ] }Response
[ { "ndc": "0003-0894-21", "lot": "HN0063", "recalls": [ { "recall_number": "D-0959-2017", "classification": "Class I", "enforcement_status_as_published": "Terminated", "report_date": "2017-07-19", "lot_match": "matched" } ], "shortages": [] }]
Response
{ "alternatives": [ { "product": { "product_name": "LEVOTHYROXINE SODIUM", "labeler": "A-S Medication Solutions" }, "rating": { "orange_book": { "application": "ANDA211417", "te_codes": [ "AB1", "AB2", "AB3", "AB4" ] } }, "outcome": "equivalent" } ]}
Pill identifier
Identify a tablet by its imprint
Send the imprint, with color and shape if you have them. Get the product and its label.
Request
{ "imprint": "IP 109", "limit": 5 }Response
[ … 1 earlier match { "drug": "Hydrocodone bitartrate and acetaminophen", "strength": "hydrocodone bitartrate 5 mg and acetaminophen 325 mg", "dosage_form": "Tablet", "imprint": "IP;109", "colors": [ "white" ], "shape": "capsule", "scored": true, "companies": [ { "name": "Amneal Pharmaceuticals of New York LLC", "role": "labeler" }, … 9 more ], "labels": [ { "set_id": "221c6c53-35b8-4bd7-adfc-f8200b9f49c1", "labeler": "H.J. Harkins Company, Inc.", "dailymed_url": "https://dailymed.nlm.nih.gov/dailymed/lookup.cfm?setid=221c6c53-35b8-4bd7-adfc-f8200b9f49c1" }, … 11 more labels ] }, … 1 more match]
Start on the Free plan
Create a key and make your first request from the quickstart. Every plan reaches every endpoint.
Weighing it against building on openFDA yourself? Here is what that takes.