FDA drug label (full text)
One drug label with every section as text (indications, dosage, contraindications, warnings, adverse reactions, interactions, specific populations, overdosage, description, pharmacology, clinical studies, how supplied, patient information, package label and more), its tables, and the product identifiers. By SPL set id or document id, or the newest label for an NDC, brand or generic name.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
set_id | string | SPL set id (stays the same across label versions). Example: a60cc18b-0631-4cf0-b021-9f52224ece65 |
id | string | SPL document id (one version). |
ndc | string | Product NDC: the newest label for it. |
brand | string | Brand name: the newest label for it. |
generic | string | Generic name: the newest label for it. |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/openfda/v1/drug-label?set_id=a60cc18b-0631-4cf0-b021-9f52224ece65" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/openfda/v1/drug-label",
params={"set_id": "a60cc18b-0631-4cf0-b021-9f52224ece65"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/openfda/v1/drug-label");
url.searchParams.set("set_id", "a60cc18b-0631-4cf0-b021-9f52224ece65");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).