RxKit Rx Drug Data: FDA Labels, NDC, Shortages & NADAC

Composed public-data reports, priced per call.

Drug cards from FDA labeling and NLM RxNorm, NDC product records and 10/11-digit conversion, FDA drug shortage and recall reports, and CMS NADAC per-unit acquisition prices. Each call is one x402 v2 payment in USDC on Base, Polygon, Arbitrum, Avalanche or Sei; no signup or API key. Requests that fail or match nothing are not charged.

x402 v2USDC on BaseNo API keysFree if it fails
1. CallSend a plain GET request. Without payment you receive HTTP 402 with the price in the PAYMENT-REQUIRED header.
2. PayAny x402 client signs a USDC authorization and retries with the PAYMENT-SIGNATURE header.
3. ReceiveYou get the JSON report. Settlement happens only for 2xx responses.

Drug and pharmacy data

FDA labeling, RxNorm, shortages, recalls, NDC normalization and CMS NADAC acquisition prices.

GET/v1/rx/drug$0.02

Drug card: RxNorm, FDA label, DEA schedule, shortages

Drug card for a generic or brand name: NLM RxNorm concept (RxCUI, ingredients, brands); one openFDA label (brand checked against RxNorm ingredients, else single-ingredient full prescribing info, most common route, earliest NDA/BLA) with clipped boxed warning, indications, dosing, contraindications, warnings, interactions, pregnancy, lactation, special-formulation flag, other routes, DailyMed link; DEA schedule and status (NDC data); FDA shortage and 2-year recall summaries.

Params: name

Sample response
{
  "query": {
    "name": "Vyvanse"
  },
  "result": {
    "rxnorm": {
      "rxcui": "711043",
      "name": "Vyvanse",
      "tty": "BN",
      "ingredients": [
        {
          "rxcui": "700810",
          "name": "lisdexamfetamine"
        }
      ],
      "brand_names": [
        "Vyvanse"
      ]
    },
    "label": {
      "brand_name": "Vyvanse",
      "generic_name": "LISDEXAMFETAMINE DIMESYLATE",
      "manufacturer": "Takeda Pharmaceuticals …",
      "route": [
        "ORAL"
      ],
      "other_routes": [],
      "special_formulation": null,
      "pharm_class_epc": [],
      "pharm_class_moa": [],
      "application_number": "NDA021977",
      "product_type": "HUMAN PRESCRIPTION DRUG",
      "effective_date": "2026-04-30",
      "set_id": "704e4378-ca83-445c-8b45-3cfa51c1ecad",
      "dailymed_url": "https://dailymed.nlm.nih.gov/dailymed/lookup.cfm?setid=704e4378-ca83-445c-8b45-3cfa51c1ecad",
      "selection": "Exact brand-name match …",
      "sections": {
        "boxed_warning": "WARNING: ABUSE, MISUSE, …",
        "indications_and_usage": "VYVANSE ® is indicated …",
        "dosage_and_administration": "Indicated Population …",
        "dosage_forms_and_strengths": "Capsules: 10 mg, 20 mg, …",
        "contraindications": "VYVANSE is contraindicated …",
        "warnings_and_cautions": "Risks to Patients with …",
        "drug_interactions": "Acidifying and …",
        "pregnancy": "Pregnancy Exposure …",
        "lactation": "Risk Summary Lisdexamfetam …"
      }
    },
    "dea_schedule": "CII",
    "dea_schedule_status": "controlled",
    "shortages": {
      "in_shortage": true,
      "counts_by_status": {
        "current": 90,
        "to_be_discontinued": 0,
        "resolved": 0
      },
      "products": [
        "Lisdexamfetamine …"
      ],
      "current": [
        {
          "presentation": "Lisdexamfetamine …",
          "availability": "Available",
          "related_info": null,
          "company_name": "Mylan Pharmaceuticals …",
          "update_date": "2026-11-03"
        }
      ],
      "match_basis": "shortage generic name …"
    },
    "recalls": {
      "months": 24,
      "from": "2024-11-13",
      "to": "2026-11-13",
      "count": 9,
      "most_recent": [
        {
          "recall_number": "D-0149-2026",
          "classification": "Class II",
          "status": "Ongoing",
          "reason": "Failed Dissolution …",
          "recall_initiation_date": "2025-10-28",
          "recalling_firm": "SUN PHARMACEUTICAL …"
        }
      ],
      "match_basis": "product description …"
    }
  },
  "sources": [
    {
      "name": "NLM RxNorm (RxNav REST API)",
      "url": "https://lhncbc.nlm.nih.gov/RxNav/APIs/RxNormAPIs.html"
    }
  ],
  "notes": [
    "Informational summary of …"
  ],
  "attribution": [
    "This product uses …"
  ],
  "generated_at": "2026-11-13T21:50:07.688Z"
}

https://rx.kit-rx.com/v1/rx/drug?name=Vyvanse

GET/v1/rx/shortages$0.01

FDA drug shortages

FDA drug shortage records from openFDA, most recently updated first, with optional drug-name and status filters (current, to be discontinued, resolved). Name filters match every word in generic name, brand or presentation, plus RxNorm ingredients for brand names. Entries give generic name, presentation, dosage form, status, availability, related info, reason, therapeutic category, company, ISO dates and package NDC, plus counts by status and an in_shortage flag.

Params: q optional, status optional, limit optional

Sample response
{
  "query": {
    "q": "lidocaine",
    "status": "current",
    "limit": 5
  },
  "result": {
    "status_filter": "current",
    "total_matching": 87,
    "returned": 5,
    "counts_by_status": {
      "current": 87,
      "to_be_discontinued": 0,
      "resolved": 0
    },
    "in_shortage": true,
    "match_basis": "all words of \"lidocaine\" …",
    "entries": [
      {
        "generic_name": "Lidocaine Hydrochloride …",
        "presentation": "Lidocaine Hydrochloride …",
        "dosage_form": "Injection",
        "status": "Current",
        "availability": "Available",
        "related_info": null,
        "shortage_reason": null,
        "therapeutic_category": [
          "Cardiovascular"
        ],
        "company_name": "B. Braun Medical Inc.",
        "initial_posting_date": "2017-10-25",
        "update_date": "2026-11-10",
        "discontinued_date": null,
        "package_ndc": "0264-9598-20"
      }
    ]
  },
  "sources": [
    {
      "name": "openFDA Drug Shortages API",
      "url": "https://open.fda.gov/apis/drug/drugshortages/"
    }
  ],
  "notes": [
    "Matching is text based on …"
  ],
  "attribution": [
    "Data provided by the U.S. …"
  ],
  "generated_at": "2026-11-13T21:50:08.100Z"
}

https://rx.kit-rx.com/v1/rx/shortages?q=lidocaine&status=current&limit=5

GET/v1/rx/recalls$0.01

FDA drug recalls (enforcement reports)

FDA drug recall enforcement reports from openFDA, newest report first, filtered by optional drug, brand or firm text (every word must match; brand names also match their RxNorm ingredients), look-back months and FDA classification (I, II, III). Entries include recall number, classification, status, product description, reason, recalling firm, distribution pattern, initiation and report dates (ISO) and voluntary or mandated status, plus counts by classification.

Params: q optional, months optional, classification optional, limit optional

Sample response
{
  "query": {
    "q": "metformin",
    "months": 24,
    "classification": null,
    "limit": 5
  },
  "result": {
    "window": {
      "field": "report_date",
      "from": "2024-11-13",
      "to": "2026-11-13"
    },
    "total_matching": 4,
    "returned": 4,
    "counts_by_classification": {
      "Class I": 0,
      "Class II": 4,
      "Class III": 0
    },
    "match_basis": "all words of \"metformin\" …",
    "entries": [
      {
        "recall_number": "D-0657-2026",
        "classification": "Class II",
        "status": "Ongoing",
        "product_description": "Synjardy XR Tablets …",
        "reason_for_recall": "CGMP Deviations: An …",
        "recalling_firm": "Boehringer Ingelheim …",
        "distribution_pattern": "OH",
        "recall_initiation_date": "2026-06-12",
        "report_date": "2026-07-08",
        "voluntary_mandated": "Voluntary: Firm initiated"
      }
    ]
  },
  "sources": [
    {
      "name": "openFDA Drug Enforcement …",
      "url": "https://open.fda.gov/apis/drug/enforcement/"
    }
  ],
  "notes": [
    "Matching is text based on …"
  ],
  "attribution": [
    "Data provided by the U.S. …"
  ],
  "generated_at": "2026-11-13T21:50:08.468Z"
}

https://rx.kit-rx.com/v1/rx/recalls?q=metformin&months=24&limit=5

GET/v1/rx/ndc-convert$0.002

NDC format converter (10 to 11 digit)

Converts a National Drug Code between FDA 10-digit layouts (4-4-2, 5-3-2, 5-4-1) and the HIPAA 11-digit 5-4-2 form, dashed or undashed. Ambiguous undashed 10-digit input is resolved against NLM RxNav by checking all three possible layouts. Returns ndc11, ndc11_dashed, ndc10, product_ndc, segment_format, resolution method, candidate layouts, and RxNav status (ACTIVE, OBSOLETE, ALIEN, UNKNOWN) with RxCUI and concept name.

Params: ndc

Sample response
{
  "query": {
    "ndc": "0003089421"
  },
  "result": {
    "input": "0003089421",
    "input_format": "10-digit undashed (ambiguous)",
    "ndc11": "00003089421",
    "ndc11_dashed": "00003-0894-21",
    "ndc10": "0003-0894-21",
    "product_ndc": "0003-0894",
    "segment_format": "4-4-2",
    "resolution": "rxnav",
    "candidates": [
      {
        "ndc10": "0003-0894-21",
        "segment_format": "4-4-2",
        "ndc11": "00003089421",
        "rxnav_status": "ACTIVE",
        "concept_name": "apixaban 5 MG Oral Tablet [Eliquis]",
        "digits_match": true
      },
      {
        "ndc10": "00030-894-21",
        "segment_format": "5-3-2",
        "ndc11": "00030089421",
        "rxnav_status": "UNKNOWN",
        "concept_name": null,
        "digits_match": false
      }
    ],
    "rxnav": {
      "status": "ACTIVE",
      "rxcui": "1364447",
      "concept_name": "apixaban 5 MG Oral Tablet [Eliquis]"
    }
  },
  "sources": [
    {
      "name": "NLM RxNav getNDCStatus",
      "url": "https://lhncbc.nlm.nih.gov/RxNav/APIs/api-RxNorm.getNDCStatus.html"
    },
    {
      "name": "NLM RxNav getNDCProperties",
      "url": "https://lhncbc.nlm.nih.gov/RxNav/APIs/api-RxNorm.getNDCProperties.html"
    }
  ],
  "notes": [
    "Layout resolved with RxNav: only 0003-0894-21 (00003089421) is a known NDC among the …"
  ],
  "generated_at": "2026-11-13T21:30:59.732Z"
}

https://rx.kit-rx.com/v1/rx/ndc-convert?ndc=0003089421

GET/v1/rx/ndc$0.02

NDC product lookup with price and recalls

Full product record for one package NDC: normalized NDC forms; RxNav status, RxCUI, concept name and history; labeler, marketing category, status and dates, application number, DEA schedule, imprint, color, shape and size from RxNav; brand and generic name, dosage form, route, active ingredients with strengths and package description from the openFDA NDC Directory; latest CMS NADAC unit cost; openFDA recall enforcement reports from the last 36 months.

Params: ndc

Sample response
{
  "query": {
    "ndc": "0003-0894-21"
  },
  "result": {
    "ndc": {
      "input": "0003-0894-21",
      "input_format": "10-digit dashed (4-4-2)",
      "ndc11": "00003089421",
      "ndc11_dashed": "00003-0894-21",
      "ndc10": "0003-0894-21",
      "product_ndc": "0003-0894",
      "segment_format": "4-4-2"
    },
    "rxnav": {
      "status": "ACTIVE",
      "active": "YES",
      "rxcui": "1364447",
      "concept_name": "apixaban 5 MG Oral Tablet [Eliquis]",
      "concept_status": "ACTIVE",
      "history": [
        {
          "rxcui": "1364447",
          "original_rxcui": "1364447",
          "start": "2013-02",
          "end": "2026-11"
        }
      ]
    },
    "product": {
      "brand_name": "ELIQUIS",
      "generic_name": "apixaban",
      "labeler": "E.R. Squibb & Sons, L.L.C.",
      "product_type": "HUMAN PRESCRIPTION DRUG",
      "dosage_form": "TABLET, FILM COATED",
      "route": [
        "ORAL"
      ],
      "active_ingredients": [
        {
          "name": "APIXABAN",
          "strength": "5 mg/1"
        }
      ],
      "dea_schedule": null,
      "marketing_category": "NDA",
      "application_number": "NDA202155",
      "marketing_status": "ACTIVE",
      "marketing_start_date": "2012-12-28",
      "marketing_end_date": null,
      "listing_expiration_date": "2027-12-31",
      "pharm_class_epc": [
        "Factor Xa Inhibitor [EPC]"
      ],
      "spl_set_id": "e9481622-7cc6-418a-acb6-c5450daae9b0"
    },
    "package": {
      "description": "60 TABLET, FILM COATED in 1 BOTTLE, PLASTIC (0003-0894-21)",
      "level": "package",
      "outer_package_ndc": null,
      "marketing_start_date": "2012-12-28",
      "marketing_end_date": null,
      "sample": false,
      "listed_in_fda_ndc_directory": true
    },
    "physical": {
      "imprint": "894;5",
      "color": "PINK",
      "shape": "OVAL",
      "size": "10 mm",
      "score_segments": 1
    },
    "nadac": {
      "ndc11": "00003089421",
      "ndc11_dashed": "00003-0894-21",
      "ndc_description": "ELIQUIS 5 MG TABLET",
      "nadac_per_unit": 5.52144,
      "pricing_unit": "EA",
      "effective_date": "2026-10-21",
      "as_of_date": "2026-11-11",
      "classification_for_rate_setting": "B",
      "classification": "brand rate",
      "otc": false,
      "corresponding_generic_nadac_per_unit": null,
      "dataset_year": 2026
    },
    "recalls": {
      "window": {
        "from": "2023-11-13",
        "to": "2026-11-13",
        "basis": "report_date"
      },
      "count": 0,
      "named_in_recall_text_count": 0,
      "items": []
    }
  },
  "sources": [
    {
      "name": "NLM RxNav getNDCStatus",
      "url": "https://lhncbc.nlm.nih.gov/RxNav/APIs/api-RxNorm.getNDCStatus.html"
    },
    {
      "name": "NLM RxNav getNDCProperties",
      "url": "https://lhncbc.nlm.nih.gov/RxNav/APIs/api-RxNorm.getNDCProperties.html"
    }
  ],
  "notes": [
    "NADAC (CMS National Average Drug Acquisition Cost) is an average of retail community …"
  ],
  "generated_at": "2026-11-13T21:31:00.218Z"
}

https://rx.kit-rx.com/v1/rx/ndc?ndc=0003-0894-21

GET/v1/rx/price$0.01

Drug acquisition cost (CMS NADAC)

Latest CMS NADAC (National Average Drug Acquisition Cost) per-unit prices for a drug name, brand name or NDC, from data.medicaid.gov (monthly pharmacy invoice survey, weekly files). Groups by NADAC description, pricing unit (EA, ML, GM), generic or brand rate class and OTC flag, each with min, median and max unit cost across NDCs, effective date, NDC count, sample NDCs, and a 30-unit acquisition cost for per-dose EA items. Single-source generics map to RxNorm brand names.

Params: q, strength optional

Sample response
{
  "query": {
    "q": "atorvastatin",
    "strength": null
  },
  "result": {
    "dataset": {
      "id": "fbb83258-11c7-47f5-8b18-5f8e79f7e704",
      "year": 2026
    },
    "latest_as_of_date": "2026-11-11",
    "match": {
      "mode": "name",
      "description_prefix": "ATORVASTATIN",
      "required_terms": [],
      "optional_terms_applied": [],
      "strength": null
    },
    "group_count": 4,
    "groups": [
      {
        "ndc_description": "ATORVASTATIN 10 MG TABLET",
        "nadac_per_unit": {
          "min": 0.02301,
          "median": 0.02301,
          "max": 0.02301
        },
        "pricing_unit": "EA",
        "classification_for_rate_setting": "G",
        "classification": "generic rate",
        "otc": false,
        "effective_date": "2026-10-21",
        "as_of_date": "2026-11-11",
        "in_latest_file": true,
        "ndc_count": 70,
        "sample_ndcs": [
          "00093505610",
          "00093505698"
        ],
        "est_cost_30_units": {
          "min": 0.69,
          "median": 0.69,
          "max": 0.69,
          "basis": "pharmacy acquisition cost for 30 units (NADAC per unit x 30), not a retail or patient price and not a days-supply estimate"
        }
      },
      {
        "ndc_description": "ATORVASTATIN 20 MG TABLET",
        "nadac_per_unit": {
          "min": 0.02858,
          "median": 0.02858,
          "max": 0.02858
        },
        "pricing_unit": "EA",
        "classification_for_rate_setting": "G",
        "classification": "generic rate",
        "otc": false,
        "effective_date": "2026-10-21",
        "as_of_date": "2026-11-11",
        "in_latest_file": true,
        "ndc_count": 69,
        "sample_ndcs": [
          "00093505910",
          "00093505998"
        ],
        "est_cost_30_units": {
          "min": 0.86,
          "median": 0.86,
          "max": 0.86,
          "basis": "pharmacy acquisition cost for 30 units (NADAC per unit x 30), not a retail or patient price and not a days-supply estimate"
        }
      },
      {
        "ndc_description": "ATORVASTATIN 40 MG TABLET",
        "nadac_per_unit": {
          "min": 0.03688,
          "median": 0.03688,
          "max": 0.03688
        },
        "pricing_unit": "EA",
        "classification_for_rate_setting": "G",
        "classification": "generic rate",
        "otc": false,
        "effective_date": "2026-10-21",
        "as_of_date": "2026-11-11",
        "in_latest_file": true,
        "ndc_count": 69,
        "sample_ndcs": [
          "00093505810",
          "00093505898"
        ],
        "est_cost_30_units": {
          "min": 1.11,
          "median": 1.11,
          "max": 1.11,
          "basis": "pharmacy acquisition cost for 30 units (NADAC per unit x 30), not a retail or patient price and not a days-supply estimate"
        }
      },
      {
        "ndc_description": "ATORVASTATIN 80 MG TABLET",
        "nadac_per_unit": {
          "min": 0.06804,
          "median": 0.06804,
          "max": 0.06804
        },
        "pricing_unit": "EA",
        "classification_for_rate_setting": "G",
        "classification": "generic rate",
        "otc": false,
        "effective_date": "2026-10-21",
        "as_of_date": "2026-11-11",
        "in_latest_file": true,
        "ndc_count": 67,
        "sample_ndcs": [
          "00093505705",
          "00093505798"
        ],
        "est_cost_30_units": {
          "min": 2.04,
          "median": 2.04,
          "max": 2.04,
          "basis": "pharmacy acquisition cost for 30 units (NADAC per unit x 30), not a retail or patient price and not a days-supply estimate"
        }
      }
    ]
  },
  "sources": [
    {
      "name": "CMS NADAC 2026 (data.medicaid.gov)",
      "url": "https://data.medicaid.gov/dataset/fbb83258-11c7-47f5-8b18-5f8e79f7e704"
    }
  ],
  "notes": [
    "NADAC (CMS National Average Drug Acquisition Cost) is an average of retail community pharmacy invoice costs from a monthly CMS survey, published in weekly files. It is an acquisition cost, not a retail, cash, insurance or 340B price."
  ],
  "attribution": [
    "Source: CMS National Average Drug Acquisition Cost (NADAC), data.medicaid.gov, U.S. public domain. Not endorsed by CMS."
  ],
  "generated_at": "2026-11-15T00:16:27.622Z"
}

https://rx.kit-rx.com/v1/rx/price?q=atorvastatin