Dashboard

FDA Labels API

Retrieve FDA drug label (package insert) content.

Overview

The FDA Labels API provides access to structured drug label content from FDA DailyMed. Labels include prescribing information, warnings, dosing instructions, and more.

Endpoints

Method Path Description
GET /v1/fda-label/:identifier Get label by NDC, RxCUI, or Set ID
GET /v1/fda-label/:identifier/sections/:bundle Get specific section bundle
POST /v1/fda-label/_batch Batch lookup (up to 50)
GET /v1/fda-label/sections-info List available sections and bundles

Lookup by Identifier

You can look up labels using:

  • NDC: 0069-0151-01
  • RxCUI: 197361
  • Set ID: a1b2c3d4-e5f6-... (UUID)

Look up Lipitor label by NDC

Request
Node.js
import { Fhirfly } from "@fhirfly-io/terminology";

const client = new Fhirfly({ apiKey: "YOUR_API_KEY" });

const result = await client.fdaLabels.lookup("0069-0151-01");
console.log(result.data);
Response
JSON
{
  "data": {
    "set_id": "a1234567-b890-c123-d456-e78901234567",
    "version": "15",
    "effective_date": "2023-06-15",
    "product_name": "Lipitor",
    "sections": {
      "indications_and_usage": {
        "title": "INDICATIONS AND USAGE",
        "text": "..."
      },
      "dosage_and_administration": {
        "title": "DOSAGE AND ADMINISTRATION",
        "text": "..."
      }
    }
  },
  "meta": {
    "legal": {
      "license": "public_domain",
      "citation": "FDA DailyMed"
    }
  }
}

Section Bundles

Request specific sections using the bundle parameter:

Bundle Sections Included
safety Warnings, contraindications, adverse reactions
dosing Dosage, administration, how supplied
interactions Drug interactions, clinical pharmacology
pregnancy Pregnancy, lactation, pediatric/geriatric use
ingredients Active/inactive ingredients, description

Get safety-related sections

Request
Node.js
const response = await fetch(
  "https://api.fhirfly.io/v1/fda-label/0069-0151-01?bundle=safety",
  {
    method: "GET",
    headers: {
    "x-api-key": "YOUR_API_KEY",
  }
  }
);

const data = await response.json();
console.log(data);
Response
JSON
{
  "data": {
    "set_id": "a1234567-b890-c123-d456-e78901234567",
    "version": "15",
    "effective_date": "2023-06-15",
    "product_name": "Lipitor",
    "sections": {
      "warnings_and_precautions": {
        "title": "WARNINGS AND PRECAUTIONS",
        "text": "..."
      },
      "contraindications": {
        "title": "CONTRAINDICATIONS",
        "text": "..."
      }
    }
  },
  "meta": {
    "legal": {
      "license": "public_domain",
      "citation": "FDA DailyMed"
    }
  }
}

Individual Sections

Request specific sections with the sections parameter:

Get specific sections

Request
Node.js
const response = await fetch(
  "https://api.fhirfly.io/v1/fda-label/0069-0151-01?sections=boxed_warning,contraindications",
  {
    method: "GET",
    headers: {
    "x-api-key": "YOUR_API_KEY",
  }
  }
);

const data = await response.json();
console.log(data);
Response
JSON
{
  "data": {
    "set_id": "a1234567-b890-c123-d456-e78901234567",
    "product_name": "Lipitor",
    "sections": {
      "boxed_warning": {
        "title": "BOXED WARNING",
        "text": "..."
      },
      "contraindications": {
        "title": "CONTRAINDICATIONS",
        "text": "..."
      }
    }
  },
  "meta": {
    "legal": {
      "license": "public_domain",
      "citation": "FDA DailyMed"
    }
  }
}

Metadata Only

Get label metadata without section content:

Get metadata only

Request
Node.js
const response = await fetch(
  "https://api.fhirfly.io/v1/fda-label/0069-0151-01?meta=true",
  {
    method: "GET",
    headers: {
    "x-api-key": "YOUR_API_KEY",
  }
  }
);

const data = await response.json();
console.log(data);
Response
JSON
{
  "data": {
    "set_id": "a1234567-b890-c123-d456-e78901234567",
    "version": "15",
    "effective_date": "2023-06-15",
    "product_name": "Lipitor"
  },
  "meta": {
    "legal": {
      "license": "public_domain",
      "citation": "FDA DailyMed"
    }
  }
}

Batch Lookup

Look up multiple labels in a single request (up to 50):

Look up multiple drug labels

Request
Node.js
import { Fhirfly } from "@fhirfly-io/terminology";

const client = new Fhirfly({ apiKey: "YOUR_API_KEY" });

const result = await client.fdaLabels.lookupMany(["0069-0151-01","0003-0893-01","0054-0018-25"]);
console.log(result.data.results);
Response
JSON
{
  "count": 3,
  "results": [
    {
      "input": "0069-0151-01",
      "status": "ok",
      "data": {
        "set_id": "a1234567-b890-c123-d456-e78901234567",
        "product_name": "Lipitor"
      }
    },
    {
      "input": "0003-0893-01",
      "status": "ok",
      "data": {
        "set_id": "b2345678-c901-d234-e567-f89012345678",
        "product_name": "Norvasc"
      }
    },
    {
      "input": "0054-0018-25",
      "status": "ok",
      "data": {
        "set_id": "c3456789-d012-e345-f678-901234567890",
        "product_name": "Metformin Hydrochloride"
      }
    }
  ],
  "meta": {
    "legal": {
      "license": "public_domain",
      "citation": "FDA DailyMed"
    }
  }
}

Batch with shape=full

When using shape=full on batch requests, the response includes meta.source with provenance information:

POST /v1/fda-label/_batch?shape=full
{
  "count": 3,
  "results": [
    {
      "input": "0069-0151-01",
      "status": "ok",
      "data": {
        "set_id": "a1234567-b890-c123-d456-e78901234567",
        "product_name": "Lipitor"
      }
    }
  ],
  "meta": {
    "source": {
      "name": "FDA DailyMed",
      "url": "https://dailymed.nlm.nih.gov/dailymed/",
      "version": "weekly",
      "fhirfly_updated_at": "2026-03-01T03:00:00Z"
    },
    "legal": {
      "license": "public_domain",
      "citation": "FDA DailyMed"
    }
  }
}

Required Scope

  • fda-label.read - Single and batch lookups