Drugs API
HealthMAINTAINED1 token / call

Drugs API

135,000 FDA drug products by NDC, joined with 17,900 recall reports

The FDA's drug universe, self-hosted and joined: 135,164 products from the National Drug Code Directory plus 17,898 recall and enforcement reports, so a single product lookup tells you what a drug is AND whether it has been recalled. Every product carries brand and generic names, active ingredients with strengths, routes of administration, dosage form, DEA controlled-substance schedule (CII-CV), marketing category and FDA application number, full packaging with package NDCs, pharmacologic classes where openFDA provides them, and β€” with no UMLS licence required β€” RxNorm rxcui and UNII identifiers for interoperability with clinical systems. NDCs are accepted in every form callers actually hold: hyphenated product NDCs, hyphenless digits, package NDCs and 11-digit billing formats. Search by name, ingredient, labeler, route, dosage form, DEA schedule or pharmacologic class; browse recalls by Class I/II/III, status, state, firm or date; roll up dosage forms and controlled-substance schedules. Recall data refreshes daily from the FDA enforcement feed, and every response can be traced to the exact openFDA export date via the sources endpoint. Built for pharmacy tooling, formulary systems, e-commerce compliance and health-tech verification β€” registry data, not medical advice. Self-hosted dataset β€” no third-party calls at request time.

Every call needs an X-Api-Key header. A free key includes 500 tokens a month, no card required. 1 token per call, so the free plan covers about 500 calls a month.

No credit card requiredAccess to 125+ APIsCancel anytime
response.json
{
  "ok": true,
  "product_ndc": "58151-155",
  "brand_name": "Lipitor",
  "generic_name": "atorvastatin calcium",
  "labeler": "Viatris Specialty LLC",
  "product_type": "HUMAN PRESCRIPTION DRUG",
  "dosage_form": "TABLET, FILM COATED",
  "routes": [
    "ORAL"
  ],
  "dea_schedule": null,
  "active_ingredients": [
    {
      "name": "ATORVASTATIN CALCIUM TRIHYDRATE",
      "strength": "10 mg/1"
    }
  ],
  "brand_name_base": "Lipitor",
  "marketing_category": "NDA",
  "application_number": "NDA020702",
  "pharm_classes": {},
  "packaging": [
    {
      "package_ndc": "58151-155-77",
      "description": "90 TABLET, FILM COATED in 1 BOTTLE (58151-155-77)",
      "marketing_start_date": "20240501",
      "sample": false
    }
  ],
  "rxnorm_rxcui": [
    "259255",
    "262095",
    "617310",
    "617311",
    "617312",
    "617314",
    "617318",
    "617320"
  ],
  "unii": [
    "48A5M73Z4Q"
  ],
  "spl_set_id": "a60cc18b-0631-4cf0-b021-9f52224ece65",
  "marketing": {
    "start": "20240501",
    "end": null,
    "listing_expiration": "20271231"
  },
  "finished": true,
  "recalls": {
    "count": 0,
    "active": false,
    "reports": []
  }
}
Production Ready
Battle-tested infrastructure with a 99.9% uptime SLA. Rate limits are generous, responses are consistent.
Simple Integration
Standard REST + JSON. Works with any HTTP client. Copy-ready code snippets in 4 languages.
One Key, 125+ APIs
Your DataAndAPIs subscription unlocks every API on the platform β€” anime, finance, sports, and more.

Use cases for Drugs API

  • Resolve an NDC from a prescription, claim or inventory scan to brand name, generic name, strength and dosage form.

  • Flag recalled lots in a pharmacy or hospital inventory system by checking each product against enforcement reports.

  • Show patients plain information about a medication, including its active ingredients and DEA schedule.

  • Build a drug picker with search by name, ingredient, form or labeler for an EHR or telehealth product.

Drugs API endpoints

Every endpoint with its parameters and a real example response.

GETDEA Schedules

https://api-drugs.dataandapis.com/v1/drugs/schedules

This endpoint takes no parameters.

Example request

curl "https://api-drugs.dataandapis.com/v1/drugs/schedules" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 5,
  "schedules": [
    {
      "dea_schedule": "CI",
      "count": 12
    },
    {
      "dea_schedule": "CII",
      "count": 2240
    },
    {
      "dea_schedule": "CIII",
      "count": 947
    },
    {
      "dea_schedule": "CIV",
      "count": 2113
    },
    {
      "dea_schedule": "CV",
      "count": 936
    }
  ]
}

GETData Sources

https://api-drugs.dataandapis.com/v1/sources

This endpoint takes no parameters.

Example request

curl "https://api-drugs.dataandapis.com/v1/sources" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 2,
  "sources": [
    {
      "slug": "openfda-enforcement",
      "name": "FDA Drug Recall Enforcement Reports (openFDA bulk export)",
      "publisher": "US Food and Drug Administration",
      "licence": "US Government work - no copyright",
      "source_url": "https://open.fda.gov/apis/drug/enforcement/",
      "file_url": "https://download.open.fda.gov/drug/enforcement/drug-enforcement-0001-of-0001.json.zip",
      "cadence": "refreshed daily by scrapers/main-scraper (queue DRUGS-RECALLS)",
      "record_count": 17898,
      "export_date": "2026-08-27",
      "retrieved_at": "2026-08-29",
      "updated_at": "2026-08-29 06:06:16"
    },
    {
      "slug": "openfda-ndc",
      "name": "FDA National Drug Code Directory (openFDA bulk export)",
      "publisher": "US Food and Drug Administration",
      "licence": "US Government work - no copyright",
      "source_url": "https://open.fda.gov/apis/drug/ndc/",
      "file_url": "https://download.open.fda.gov/drug/ndc/drug-ndc-0001-of-0001.json.zip",
      "cadence": "openFDA re-exports daily; monthly re-seed recommended",
      "record_count": 135164,
      "export_date": "2026-08-28",
      "retrieved_at": "2026-08-29",
…
Show full response
{
  "ok": true,
  "count": 2,
  "sources": [
    {
      "slug": "openfda-enforcement",
      "name": "FDA Drug Recall Enforcement Reports (openFDA bulk export)",
      "publisher": "US Food and Drug Administration",
      "licence": "US Government work - no copyright",
      "source_url": "https://open.fda.gov/apis/drug/enforcement/",
      "file_url": "https://download.open.fda.gov/drug/enforcement/drug-enforcement-0001-of-0001.json.zip",
      "cadence": "refreshed daily by scrapers/main-scraper (queue DRUGS-RECALLS)",
      "record_count": 17898,
      "export_date": "2026-08-27",
      "retrieved_at": "2026-08-29",
      "updated_at": "2026-08-29 06:06:16"
    },
    {
      "slug": "openfda-ndc",
      "name": "FDA National Drug Code Directory (openFDA bulk export)",
      "publisher": "US Food and Drug Administration",
      "licence": "US Government work - no copyright",
      "source_url": "https://open.fda.gov/apis/drug/ndc/",
      "file_url": "https://download.open.fda.gov/drug/ndc/drug-ndc-0001-of-0001.json.zip",
      "cadence": "openFDA re-exports daily; monthly re-seed recommended",
      "record_count": 135164,
      "export_date": "2026-08-28",
      "retrieved_at": "2026-08-29",
      "updated_at": "2026-08-29 06:04:53"
    }
  ]
}

GETDosage Forms

https://api-drugs.dataandapis.com/v1/drugs/forms

This endpoint takes no parameters.

Example request

curl "https://api-drugs.dataandapis.com/v1/drugs/forms" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 8,
  "forms": [
    {
      "dosage_form": "TABLET",
      "count": 18606
    },
    {
      "dosage_form": "POWDER",
      "count": 15180
    },
    {
      "dosage_form": "TABLET, FILM COATED",
      "count": 11802
    },
    {
      "dosage_form": "LIQUID",
      "count": 10101
    },
    {
      "dosage_form": "PELLET",
      "count": 7439
    },
    {
      "dosage_form": "CAPSULE",
      "count": 6781
    },
…
Show full response
{
  "ok": true,
  "count": 8,
  "forms": [
    {
      "dosage_form": "TABLET",
      "count": 18606
    },
    {
      "dosage_form": "POWDER",
      "count": 15180
    },
    {
      "dosage_form": "TABLET, FILM COATED",
      "count": 11802
    },
    {
      "dosage_form": "LIQUID",
      "count": 10101
    },
    {
      "dosage_form": "PELLET",
      "count": 7439
    },
    {
      "dosage_form": "CAPSULE",
      "count": 6781
    },
    {
      "dosage_form": "CREAM",
      "count": 6747
    },
    {
      "dosage_form": "SOLUTION",
      "count": 5532
    }
  ]
}

GETGet Drug By NDC

https://api-drugs.dataandapis.com/v1/drugs/{ndc}

Path parameters

ParameterExample
ndc58151-155Required

Example request

curl "https://api-drugs.dataandapis.com/v1/drugs/58151-155" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "product_ndc": "58151-155",
  "brand_name": "Lipitor",
  "generic_name": "atorvastatin calcium",
  "labeler": "Viatris Specialty LLC",
  "product_type": "HUMAN PRESCRIPTION DRUG",
  "dosage_form": "TABLET, FILM COATED",
  "routes": [
    "ORAL"
  ],
  "dea_schedule": null,
  "active_ingredients": [
    {
      "name": "ATORVASTATIN CALCIUM TRIHYDRATE",
      "strength": "10 mg/1"
    }
  ],
  "brand_name_base": "Lipitor",
  "marketing_category": "NDA",
  "application_number": "NDA020702",
  "pharm_classes": {},
  "packaging": [
    {
      "package_ndc": "58151-155-77",
      "description": "90 TABLET, FILM COATED in 1 BOTTLE (58151-155-77)",
      "marketing_start_date": "20240501",
      "sample": false
…
Show full response
{
  "ok": true,
  "product_ndc": "58151-155",
  "brand_name": "Lipitor",
  "generic_name": "atorvastatin calcium",
  "labeler": "Viatris Specialty LLC",
  "product_type": "HUMAN PRESCRIPTION DRUG",
  "dosage_form": "TABLET, FILM COATED",
  "routes": [
    "ORAL"
  ],
  "dea_schedule": null,
  "active_ingredients": [
    {
      "name": "ATORVASTATIN CALCIUM TRIHYDRATE",
      "strength": "10 mg/1"
    }
  ],
  "brand_name_base": "Lipitor",
  "marketing_category": "NDA",
  "application_number": "NDA020702",
  "pharm_classes": {},
  "packaging": [
    {
      "package_ndc": "58151-155-77",
      "description": "90 TABLET, FILM COATED in 1 BOTTLE (58151-155-77)",
      "marketing_start_date": "20240501",
      "sample": false
    }
  ],
  "rxnorm_rxcui": [
    "259255",
    "262095",
    "617310",
    "617311",
    "617312",
    "617314",
    "617318",
    "617320"
  ],
  "unii": [
    "48A5M73Z4Q"
  ],
  "spl_set_id": "a60cc18b-0631-4cf0-b021-9f52224ece65",
  "marketing": {
    "start": "20240501",
    "end": null,
    "listing_expiration": "20271231"
  },
  "finished": true,
  "recalls": {
    "count": 0,
    "active": false,
    "reports": []
  }
}

GETRandom Drugs

https://api-drugs.dataandapis.com/v1/drugs/random

Query parameters

ParameterExample
amount3Optional

Example request

curl "https://api-drugs.dataandapis.com/v1/drugs/random?amount=3" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "count": 3,
  "results": [
    {
      "product_ndc": "58228-2010",
      "brand_name": "Burn Ease",
      "generic_name": "Burn Ease",
      "labeler": "ProStat First Aid LLC",
      "product_type": "HUMAN OTC DRUG",
      "dosage_form": "GEL",
      "routes": [
        "TOPICAL"
      ],
      "dea_schedule": null,
      "active_ingredients": [
        {
          "name": "LIDOCAINE HYDROCHLORIDE",
          "strength": "2 g/100g"
        }
      ]
    },
    {
      "product_ndc": "58228-2510",
      "brand_name": "Alcohol Wipes",
      "generic_name": "Alcohol Wipes",
      "labeler": "ProStat First Aid LLC",
      "product_type": "HUMAN OTC DRUG",
…
Show full response
{
  "ok": true,
  "count": 3,
  "results": [
    {
      "product_ndc": "58228-2010",
      "brand_name": "Burn Ease",
      "generic_name": "Burn Ease",
      "labeler": "ProStat First Aid LLC",
      "product_type": "HUMAN OTC DRUG",
      "dosage_form": "GEL",
      "routes": [
        "TOPICAL"
      ],
      "dea_schedule": null,
      "active_ingredients": [
        {
          "name": "LIDOCAINE HYDROCHLORIDE",
          "strength": "2 g/100g"
        }
      ]
    },
    {
      "product_ndc": "58228-2510",
      "brand_name": "Alcohol Wipes",
      "generic_name": "Alcohol Wipes",
      "labeler": "ProStat First Aid LLC",
      "product_type": "HUMAN OTC DRUG",
      "dosage_form": "SWAB",
      "routes": [
        "TOPICAL"
      ],
      "dea_schedule": null,
      "active_ingredients": [
        {
          "name": "ISOPROPYL ALCOHOL",
          "strength": ".7 mL/mL"
        }
      ]
    },
    {
      "product_ndc": "58228-6283",
      "brand_name": "Burn Ease 3.5g",
      "generic_name": "Burn Ease 3.5G",
      "labeler": "Front Line Safety",
      "product_type": "HUMAN OTC DRUG",
      "dosage_form": "GEL",
      "routes": [
        "TOPICAL"
      ],
      "dea_schedule": null,
      "active_ingredients": [
        {
          "name": "LIDOCAINE HYDROCHLORIDE",
          "strength": "2 g/100g"
        }
      ]
    }
  ]
}

GETSearch Drugs

https://api-drugs.dataandapis.com/v1/drugs

Query parameters

ParameterExample
brandLipitorOptional
classOptional
formOptional
genericatorvastatinOptional
ingredientatorvastatinOptional
labelerOptional
limit20Optional
page1Optional
qOptional
routeORALOptional
scheduleOptional
typePRESCRIPTIONOptional

Example request

curl "https://api-drugs.dataandapis.com/v1/drugs?brand=Lipitor&generic=atorvastatin&ingredient=atorvastatin&limit=20&page=1&route=ORAL&type=PRESCRIPTION" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "total": 4,
  "page": 1,
  "limit": 20,
  "count": 2,
  "results": [
    {
      "product_ndc": "58151-155",
      "brand_name": "Lipitor",
      "generic_name": "atorvastatin calcium",
      "labeler": "Viatris Specialty LLC",
      "product_type": "HUMAN PRESCRIPTION DRUG",
      "dosage_form": "TABLET, FILM COATED",
      "routes": [
        "ORAL"
      ],
      "dea_schedule": null,
      "active_ingredients": [
        {
          "name": "ATORVASTATIN CALCIUM TRIHYDRATE",
          "strength": "10 mg/1"
        }
      ]
    },
    {
      "product_ndc": "58151-156",
      "brand_name": "Lipitor",
…
Show full response
{
  "ok": true,
  "total": 4,
  "page": 1,
  "limit": 20,
  "count": 2,
  "results": [
    {
      "product_ndc": "58151-155",
      "brand_name": "Lipitor",
      "generic_name": "atorvastatin calcium",
      "labeler": "Viatris Specialty LLC",
      "product_type": "HUMAN PRESCRIPTION DRUG",
      "dosage_form": "TABLET, FILM COATED",
      "routes": [
        "ORAL"
      ],
      "dea_schedule": null,
      "active_ingredients": [
        {
          "name": "ATORVASTATIN CALCIUM TRIHYDRATE",
          "strength": "10 mg/1"
        }
      ]
    },
    {
      "product_ndc": "58151-156",
      "brand_name": "Lipitor",
      "generic_name": "atorvastatin calcium",
      "labeler": "Viatris Specialty LLC",
      "product_type": "HUMAN PRESCRIPTION DRUG",
      "dosage_form": "TABLET, FILM COATED",
      "routes": [
        "ORAL"
      ],
      "dea_schedule": null,
      "active_ingredients": [
        {
          "name": "ATORVASTATIN CALCIUM TRIHYDRATE",
          "strength": "20 mg/1"
        }
      ]
    }
  ]
}

GETSearch Recalls

https://api-drugs.dataandapis.com/v1/recalls

Query parameters

ParameterExample
classificationIOptional
firmOptional
limit20Optional
page1Optional
qsterilityOptional
sinceOptional
stateOptional
statusOptional

Example request

curl "https://api-drugs.dataandapis.com/v1/recalls?classification=I&limit=20&page=1&q=sterility" \
  -H "X-Api-Key: YOUR_API_KEY"
Example response
{
  "ok": true,
  "total": 157,
  "page": 1,
  "limit": 20,
  "count": 2,
  "results": [
    {
      "recall_number": "D-0624-2026",
      "status": "Ongoing",
      "classification": "Class I",
      "product_description": "BD ChloraPrep Clear (2% w/v chlorhexidine gluconate (CHG) and 70% v/v isopropyl alcohol (IPA)), 1 mL Applicator, 60 Applicators per inner Carton, Sterile Solution, Care Fusion 213, LLC, El Paso, TX 79912, subsidiary of Beckton, Dickinson and Co., NDC 54365-400-31.",
      "reason": "Non-Sterility: Due to presence of Aspergillus penicillioides.",
      "recalling_firm": "CareFusion 213, LLC",
      "location": {
        "city": "El Paso",
        "state": "TX",
        "country": "United States"
      },
      "distribution": "Nationwide inthe USA, as well as other foreign distribution.",
      "product_quantity": "193,440 applicators",
      "code_info": "Lot # 4032183, Exp 01/31/2027",
      "voluntary_mandated": "Voluntary: Firm initiated",
      "dates": {
        "initiated": "20260528",
        "reported": "20260701",
        "terminated": null
      },
…
Show full response
{
  "ok": true,
  "total": 157,
  "page": 1,
  "limit": 20,
  "count": 2,
  "results": [
    {
      "recall_number": "D-0624-2026",
      "status": "Ongoing",
      "classification": "Class I",
      "product_description": "BD ChloraPrep Clear (2% w/v chlorhexidine gluconate (CHG) and 70% v/v isopropyl alcohol (IPA)), 1 mL Applicator, 60 Applicators per inner Carton, Sterile Solution, Care Fusion 213, LLC, El Paso, TX 79912, subsidiary of Beckton, Dickinson and Co., NDC 54365-400-31.",
      "reason": "Non-Sterility: Due to presence of Aspergillus penicillioides.",
      "recalling_firm": "CareFusion 213, LLC",
      "location": {
        "city": "El Paso",
        "state": "TX",
        "country": "United States"
      },
      "distribution": "Nationwide inthe USA, as well as other foreign distribution.",
      "product_quantity": "193,440 applicators",
      "code_info": "Lot # 4032183, Exp 01/31/2027",
      "voluntary_mandated": "Voluntary: Firm initiated",
      "dates": {
        "initiated": "20260528",
        "reported": "20260701",
        "terminated": null
      },
      "product_ndcs": [
        "54365-400"
      ]
    },
    {
      "recall_number": "D-0625-2026",
      "status": "Ongoing",
      "classification": "Class I",
      "product_description": "BD ChloraPrep FREPP Clear,(2% w/v chlorhexidine gluconate (CHG) and 70% v/v isopropyl alcohol (IPA)) 1.5 mL Applicator, 20 Applicators, Sterile Solution, Care Fusion 213, LLC, El Paso, TX 79912, subsidiary of Beckton, Dickinson and Co., NDC 54365-400-30.",
      "reason": "Non-Sterility: Due to presence of Aspergillus penicillioides. And Lack of Assurance of Sterility: Due to wrinkles in the paper lidding which may breach the seal   area.",
      "recalling_firm": "CareFusion 213, LLC",
      "location": {
        "city": "El Paso",
        "state": "TX",
        "country": "United States"
      },
      "distribution": "Nationwide inthe USA, as well as other foreign distribution.",
      "product_quantity": "178,000 applicators",
      "code_info": "Lot # 4073005, Exp 03/31/2027",
      "voluntary_mandated": "Voluntary: Firm initiated",
      "dates": {
        "initiated": "20260528",
        "reported": "20260701",
        "terminated": null
      },
      "product_ndcs": [
        "54365-400"
      ]
    }
  ]
}

Where the data comes from

Source
openFDA bulk exports of the FDA National Drug Code Directory and drug enforcement reports (US Government works).
Freshness
Recalls refreshed daily over a 60-day window. NDC Directory reloaded monthly.

One install. Every endpoint.

No proprietary SDKs needed. Any HTTP client works. Pick your language and paste.

3languages
7endpoints
RESTarchitecture
1key for all APIs
  • Fully typed responses β€” auto-completion in your IDE
  • Tracks the API in lockstep β€” new endpoints land same day
  • One key works across 125+ APIs on the platform
import axios from 'axios';

const { data } = await axios.get(
  'https://api-drugs.dataandapis.com/v1/drugs/schedules',
  { headers: { 'X-Api-Key': process.env.API_KEY } }
);

Drugs API Β· X-Api-Key

Explore the endpoints

Browse request parameters and inspect live example responses.

Available Endpoints

Request Parameters

API URL

Headers

X-Api-Key
import axios from 'axios';

const url = 'https://api-drugs.dataandapis.com/v1/drugs/schedules';
const { data } = await axios.get(url, {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' }
});

One subscription. Every API.

Tokens unlock this API and 125+ others on DataAndAPIs. Switch APIs any time β€” we promote.

FREE

$0/mo

500 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Community support
Start free
Most Popular

STARTER

$6.99/mo

25,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Email support
Subscribe

PRO

$24.99/mo

100,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Priority email support
Subscribe

ULTRA

$99.99/mo

1,000,000 tokens / month

  • Access to all APIs
  • Tokens reset monthly
  • Priority support
Subscribe

Need higher volume, dedicated infra, or a custom contract? Talk to sales β†’

Questions about Drugs API

Ship Drugs API this afternoon.

500 free tokens. No card. Plus 125+ other APIs on the same key.