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
| Name | Type | Required | Description |
|---|---|---|---|
name | string | yes | Generic 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.