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

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.

$0.02 per call  USDC over x402 v2 on Base, Polygon, Arbitrum, Avalanche or Sei. No signup, no API key. Requests that fail or match nothing are not charged.

Endpoint

GET https://api.kit-rx.com/v1/rx/drug

Parameters

NameTypeRequiredDescription
namestringyesGeneric or brand drug name, e.g. lipitor, metformin, Eliquis, amoxicillin clavulanate, Tylenol #3. A route or formulation word (oral, iv, liposomal) narrows the label choice. e.g. Vyvanse

Example request

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

Without payment the server answers 402 Payment Required with the price (20000 atomic USDC) in the PAYMENT-REQUIRED header. Any x402 v2 client pays and retries automatically. A request with no parameters runs this example.

curl -i "https://api.kit-rx.com/v1/rx/drug?name=Vyvanse"

Pay from an agent

AgentCash: fetch the URL. OpenDexter MCP: x402_fetch. Kit Rx MCP server: https://api.kit-rx.com/mcp. Code:

import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.BUYER_KEY) });
const pay = wrapFetchWithPayment(fetch, client);
const res = await pay("https://api.kit-rx.com/v1/rx/drug?name=Vyvanse");
console.log(await res.json());

Example 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"
}

Kit Rx: Composed public-data reports for AI agents, paid per call in USDC over x402. Machine-readable: OpenAPI, llms.txt, /.well-known/x402, agent skills.