Axo Health API

Structured clinical medication data for healthcare apps. Access FDA drug data, limited distribution requirements, and patient assistance programs.

Base URL: https://api.axohealth.co

Datasets

DatasetEndpointRecordsDescription
axo_drugs/v1/drugs763FDA-approved specialty drugs
ldd/v1/ldd761Limited distribution / REMS
pap/v1/pap888Patient assistance programs

Authentication

All requests require an API key passed in the x-api-key request header.

GET /v1/drugs
Host: api.axohealth.co
x-api-key: axo_YOUR_API_KEY
Get your free API key at axohealth.co

Quickstart

JavaScript / Node.js

const res = await fetch(
  'https://api.axohealth.co/v1/drugs?limit=10',
  { headers: { 'x-api-key': 'axo_YOUR_KEY' } }
);
const drugs = await res.json();
console.log(drugs[0].drug_name); // ABECMA

Python

import requests
resp = requests.get(
    'https://api.axohealth.co/v1/drugs',
    params={'limit': 10},
    headers={'x-api-key': 'axo_YOUR_KEY'}
)
drugs = resp.json()

cURL

curl 'https://api.axohealth.co/v1/drugs?limit=5' \ 
     --header 'x-api-key: axo_YOUR_KEY' | python3 -m json.tool

GET /v1/drugs

GET/v1/drugs

FDA-approved specialty drugs with clinical metadata, RxNorm codes, and cross-dataset flags.

Query Parameters

ParamTypeDefaultDescription
limitinteger100Results per page (max 1000)
offsetinteger0Pagination offset
qstring-Search drug_name or generic_name (case-insensitive)
categorystring-Filter by therapeutic_category (exact match)

Response Schema

FieldTypeDescription
gdistringUnique drug identifier (GDI-XXXXXX)
drug_namestringBrand name
generic_namestringGeneric / INN name
therapeutic_categorystringTherapeutic area / category
manufacturerstringDrug manufacturer
rxcui_brandstringRxNorm CUI for brand
rxcui_ingredientstringRxNorm CUI for active ingredient
in_lddbooleanAppears in LDD dataset
in_papbooleanHas patient assistance program

Example Response

[
  {
    "gdi": "GDI-000001",
    "drug_name": "ABECMA",
    "generic_name": "idecabtagene vicleucel",
    "therapeutic_category": "Oncology - Multiple Myeloma CAR-T",
    "manufacturer": "Bristol Myers Squibb",
    "rxcui_brand": "253643",
    "in_ldd": true,
    "in_pap": false
  }
]

GET /v1/ldd

GET/v1/ldd

Drugs with restricted distribution - REMS programs and specialty pharmacy requirements.

Query Parameters

ParamTypeDescription
limitintegerResults per page (max 1000)
offsetintegerPagination offset
qstringSearch by drug name

GET /v1/pap

GET/v1/pap

Manufacturer patient assistance program eligibility data.

Query Parameters

ParamTypeDescription
limitintegerResults per page (max 1000)
offsetintegerPagination offset
qstringSearch by drug name

GET /v1/stats

GET/v1/stats

Returns dataset metadata and record counts.

Response

{
  "datasets": {
    "drugs": { "endpoint": "/v1/drugs", "description": "763 records" },
    "ldd":   { "endpoint": "/v1/ldd",   "description": "761 records" },
    "pap":   { "endpoint": "/v1/pap",   "description": "888 records" }
  },
  "total_records": 2412,
  "status": "ok"
}

MCP Server

Use Axo Health with Claude, Cursor, or any MCP-compatible AI assistant.

MCP Endpoint: https://mcp.axohealth.co/mcp

Available Tools

ToolDescription
search_drugsSearch FDA-approved drugs by name or category
get_limited_distribution_drugsLook up REMS and restricted drugs
get_patient_assistance_programsFind manufacturer PAP programs
get_api_statsDatabase statistics

Claude Desktop Config (~/.config/claude/claude_desktop_config.json)

{
  "mcpServers": {
    "axohealth": {
      "url": "https://mcp.axohealth.co/mcp",
      "headers": {
        "x-api-key": "axo_YOUR_KEY"
      }
    }
  }
}

Initialize via HTTP

POST https://mcp.axohealth.co/mcp
Content-Type: application/json
x-api-key: axo_YOUR_KEY

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{}}}

Pricing

Sandbox
Free forever
100 requests/day
All 3 datasets
MCP access
Startup
$750 /month
100K requests/month
All 3 datasets
Email support
Scale
$2,000 /month
Unlimited requests
All datasets
Priority support

Error Codes

CodeMeaning
200Success
401Invalid or missing API key
404Endpoint not found
500Internal server error
{"error":"Invalid or missing API key. Pass x-api-key header."}