FDA National Drug Code Directory
FDA · Health
National Drug Code (NDC) directory identifying all drugs manufactured, prepared, propagated, compounded, or processed for sale in the US. Each NDC identifies the labeler, product, and trade package. Accessible via the openFDA /drug/ndc endpoint.
Authentication
Sample Requests
Search NDC directory by generic drug name
Hover any highlighted part to learn what it does
curl -X GET "https://api.fda.gov/drug/ndc.json?limit=5&search=generic_name%3Alisinopril"
import requests
params = {
"limit": "5",
"search": "generic_name:lisinopril"
}
response = requests.get(
"https://api.fda.gov/drug/ndc.json",
params=params,
)
print(response.json())const url = new URL('https://api.fda.gov/drug/ndc.json');
url.searchParams.set('limit', '5');
url.searchParams.set('search', 'generic_name:lisinopril');
const response = await fetch(url);
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.fda.gov/drug/ndc.json")
q := baseURL.Query()
q.Set("limit", "5")
q.Set("search", "generic_name:lisinopril")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("GET", targetURL, nil)
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.fda.gov/drug/ndc.json")
uri.query = URI.encode_www_form({
"limit" => "5",
"search" => "generic_name:lisinopril"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Get.new(uri)
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.fda.gov/drug/ndc.json?" . http_build_query([
"limit" => "5",
"search" => "generic_name:lisinopril"
]);
$opts = ["http" => [
"method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- No API key required for basic use
- In Postman, GET https://api.fda.gov/drug/ndc.json
- Search by generic name: ?search=generic_name:lisinopril
- Search by NDC code: ?search=product_ndc:0781-5059
- Response includes labeler_name, generic_name, dosage_form, and package NDC numbers
What can you build with FDA National Drug Code Directory?
FDA National Drug Code Directory is a Health API. Developers commonly use health APIs for:
- accessing medical reference data and drug information
- building patient-facing health tracking apps
- integrating with EHR and telemedicine platforms
- looking up ICD codes and clinical terminology
- powering wellness and fitness applications
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. FDA National Drug Code Directory is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?