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.coDatasets
| Dataset | Endpoint | Records | Description |
|---|---|---|---|
| axo_drugs | /v1/drugs | 763 | FDA-approved specialty drugs |
| ldd | /v1/ldd | 761 | Limited distribution / REMS |
| pap | /v1/pap | 888 | Patient 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_KEYGet 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); // ABECMAPython
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.toolGET /v1/drugs
GET/v1/drugs
FDA-approved specialty drugs with clinical metadata, RxNorm codes, and cross-dataset flags.
Query Parameters
| Param | Type | Default | Description |
|---|---|---|---|
| limit | integer | 100 | Results per page (max 1000) |
| offset | integer | 0 | Pagination offset |
| q | string | - | Search drug_name or generic_name (case-insensitive) |
| category | string | - | Filter by therapeutic_category (exact match) |
Response Schema
| Field | Type | Description |
|---|---|---|
| gdi | string | Unique drug identifier (GDI-XXXXXX) |
| drug_name | string | Brand name |
| generic_name | string | Generic / INN name |
| therapeutic_category | string | Therapeutic area / category |
| manufacturer | string | Drug manufacturer |
| rxcui_brand | string | RxNorm CUI for brand |
| rxcui_ingredient | string | RxNorm CUI for active ingredient |
| in_ldd | boolean | Appears in LDD dataset |
| in_pap | boolean | Has 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
| Param | Type | Description |
|---|---|---|
| limit | integer | Results per page (max 1000) |
| offset | integer | Pagination offset |
| q | string | Search by drug name |
GET /v1/pap
GET/v1/pap
Manufacturer patient assistance program eligibility data.
Query Parameters
| Param | Type | Description |
|---|---|---|
| limit | integer | Results per page (max 1000) |
| offset | integer | Pagination offset |
| q | string | Search 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/mcpAvailable Tools
| Tool | Description |
|---|---|
| search_drugs | Search FDA-approved drugs by name or category |
| get_limited_distribution_drugs | Look up REMS and restricted drugs |
| get_patient_assistance_programs | Find manufacturer PAP programs |
| get_api_stats | Database 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
| Code | Meaning |
|---|---|
| 200 | Success |
| 401 | Invalid or missing API key |
| 404 | Endpoint not found |
| 500 | Internal server error |
{"error":"Invalid or missing API key. Pass x-api-key header."}