DailyMed API
Free NLM DailyMed API with no key: official FDA-approved drug labels, package inserts, ingredients and packaging for every US medication. Tested example.
Endpoint tested and returned HTTP 200 on 2026-08-20
What is the DailyMed API?
DailyMed is a free, key-free API from the US National Library of Medicine providing official FDA-approved drug labelling — the complete package insert, ingredients, dosage, warnings and packaging — for every medication marketed in the United States.
DailyMed holds the authoritative version of every US drug label, submitted by manufacturers and updated as labelling changes. It is the same content pharmacists and prescribers consult.
Labels are Structured Product Labeling (SPL) documents, an HL7 XML standard. The JSON endpoints expose metadata and let you search, but the full label content is SPL — so retrieving complete prescribing information means handling that format.
Quick facts
- Base URL
https://dailymed.nlm.nih.gov/dailymed/services/v2- Authentication
- No API key required.
- Rate limit
- No published hard limit; fair use expected.
- Pricing
- Free public domain US government data.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the DailyMed API
Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.
1. List drug labels
GET https://dailymed.nlm.nih.gov/dailymed/services/v2/spls.json?pagesize=1
curl 'https://dailymed.nlm.nih.gov/dailymed/services/v2/spls.json?pagesize=1'const res = await fetch("https://dailymed.nlm.nih.gov/dailymed/services/v2/spls.json?pagesize=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://dailymed.nlm.nih.gov/dailymed/services/v2/spls.json?pagesize=1", timeout=20)
res.raise_for_status()
print(res.json()){
"data": [
{
"spl_version": 1,
"published_date": "Aug 19, 2026",
"title": "AUTOBRUSH MINT (SODIUM FLUORIDE) LIQUID [LANDER ENTERPRISES, LLC]",
"setid": "0e043431-9d87-478d-87f5-5aa8b0a932eb"
}
],
"metadata": {
"db_published_date": "Aug 19, 2026 08:28:16PM EST",
"elements_per_page": 1,
"current_url": "https://dailymed.nlm.nih.gov/dailymed/services/v2/spls.json?pagesize=1",
"next_page_url": "https://dailymed.nlm.nih.gov/dailymed/services/v2/spls.json?pagesize=1&page=2",
"total_elements": 158681,
"total_pages": 158681,
"current_page": 1,
"previous_page": "null",
"previous_page_url": "null",
"next_page": 2
}
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
spls.json | path | Optional | Search and list Structured Product Labels. spls.json |
pagesize | integer | Optional | Results per page, max 100. 20 |
page | integer | Optional | Page number. 2 |
drug_name | string | Optional | Filter by drug name. aspirin |
spls/<setid>.json | path | Optional | One label by set id. spls/abc-123.json |
Response fields
metadataobject- Pagination — total elements, pages, current page.
dataarray- Label records.
data[].setidstring- Stable label identifier used to fetch the full document.
data[].titlestring- Full label title including drug and dosage form.
data[].published_datestring- When this label version was published.
data[].spl_versioninteger- Label version number — labels are revised over time.
What you can build with the DailyMed API
- Look up official prescribing information for a medication
- Build a drug reference for clinical software
- Monitor labelling changes and safety updates
- Extract ingredient and packaging data for pharmacy systems
Common errors and how to fix them
Full label is SPL XML
JSON endpoints give metadata; content is HL7 SPL.
Fix: Fetch the SPL document by setid and parse the XML for full prescribing information.
Multiple labels per drug
Each manufacturer files its own label.
Fix: A generic drug has many labels; use setid to distinguish them rather than assuming one per drug.
Labels are versioned
spl_version increments with each revision.
Fix: Always check you have the current version before presenting clinical information.
DailyMed API — frequently asked questions
Is the DailyMed API free?
Yes, completely free with no API key. It is public domain data from the US National Library of Medicine.
How does it differ from openFDA?
openFDA offers broader datasets including adverse events and recalls with a search-oriented interface. DailyMed is the authoritative source for the label documents themselves.
What is an SPL?
Structured Product Labeling — the HL7 XML standard the FDA requires for drug labels. The JSON endpoints give metadata; the full label content is SPL XML.
Why are there several labels for one drug?
Each manufacturer files its own label, so a widely produced generic has many. Use the setid to distinguish between them.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
XML Formatter
Format and beautify XML online with proper indentation, or minify it to a single line. Parse errors are reported clearly — free, fast and fully private.
DailyMed is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.