API Documentation
The OrphanDrug API provides programmatic access to our global pharmaceutical knowledge base. All public endpoints are read-only and require no authentication.
Base URL
Response Envelope
{
"success": true,
"data": [...],
"meta": {
"total": 420,
"page": 1,
"limit": 20,
"totalPages": 21
}
}Every response is JSON and wrapped in a consistent envelope. List endpoints include a meta object with pagination info. Single-entity endpoints omit meta.
On error, success is false and data contains an error string.
All endpoints support CORS and accept an OPTIONS preflight request.
Endpoint Reference
| Method | Endpoint | Description |
|---|---|---|
| GET | /drugs | List all drugs (paginated) |
| GET | /drugs/:id | Get a single drug with relations |
| GET | /diseases | List all diseases (paginated) |
| GET | /diseases/:id | Get a single disease with drugs |
| GET | /countries | List all countries |
| GET | /countries/:id | Get a single country with drugs & pathways |
| GET | /regulatory-pathways | List regulatory pathways (paginated) |
| GET | /regulatory-pathways/:id | Get a single pathway with countries & suppliers |
| GET | /access-programs | List access programs (paginated) |
| GET | /access-programs/:id | Get a single program with drugs & suppliers |
| GET | /suppliers | List suppliers (paginated) |
| GET | /suppliers/:id | Get a single supplier with programs & pathways |
| GET | /search | Cross-entity keyword search |
| GET | /stats | Database entity counts |
Drugs
Returns a paginated list of drug profiles. Filter by name, orphan status, or publication status.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| search | string | Filter by generic name (partial match) |
| orphan | 0 | 1 | Filter by orphan designation (1 = orphan) |
| status | string | draft | published |
| page | number | Page number (default: 1) |
| limit | number | Results per page (default: 20) |
Example
curl "https://www.orphandrug.app/api/v1/drugs?search=imatinib&orphan=1"
Returns a single drug with full relational data: treated diseases, country availability (including pathway and lead time), access programs, suppliers, and a Schema.org JSON-LD block.
Path Parameter
| Parameter | Type | Description |
|---|---|---|
| id* | string | Drug UUID or slug |
Response shape
{
"success": true,
"data": {
"id": "...",
"slug": "imatinib",
"generic_name": "Imatinib",
"active_ingredient": "Imatinib Mesylate",
"orphan_status": 1,
"diseases": [...],
"countries": [
{
"id": "IN", "name": "India",
"pathway": { ... },
"access_route": "Compassionate Use",
"lead_time_days": 30
}
],
"accessPrograms": [...],
"suppliers": [...],
"jsonLd": { "@context": "https://schema.org", ... }
}
}Diseases
Returns a paginated list of rare diseases including ICD and MeSH codes.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| search | string | Filter by disease name (partial match) |
| status | string | draft | published |
| page | number | Page number (default: 1) |
| limit | number | Results per page (default: 20) |
Example
curl "https://www.orphandrug.app/api/v1/diseases?search=pompe"
Returns a single disease record with all drugs that treat it.
| Parameter | Type | Description |
|---|---|---|
| id* | string | Disease UUID or slug |
Response shape
{
"success": true,
"data": {
"id": "...",
"slug": "pompe-disease",
"name": "Pompe Disease",
"icd_code": "E74.02",
"mesh_code": "D006009",
"description": "...",
"drugs": [...]
}
}Countries
Returns all countries (not paginated). Country IDs are ISO 3166-1 alpha-2 codes. Filter by name or geographic region.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| search | string | Filter by country name (partial match) |
| region | string | Filter by region (e.g. Asia, Europe) |
Example
curl "https://www.orphandrug.app/api/v1/countries?region=Asia"
Returns a single country with all drugs available there and the regulatory pathways active in that jurisdiction. Accepts the ISO code or slug.
| Parameter | Type | Description |
|---|---|---|
| id* | string | ISO alpha-2 code (e.g. IN) or slug |
Response shape
{
"success": true,
"data": {
"id": "IN",
"name": "India",
"region": "Asia",
"regulatory_authority": "CDSCO",
"drugs": [...],
"regulatoryPathways": [...]
}
}Regulatory Pathways
Returns a paginated list of regulatory approval pathways including timelines, legal status, and eligibility criteria.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| search | string | Filter by pathway name (partial match) |
| page | number | Page number (default: 1) |
| limit | number | Results per page (default: 20) |
Example
curl "https://www.orphandrug.app/api/v1/regulatory-pathways?search=compassionate"
Returns a single regulatory pathway with the countries where it applies and suppliers that execute it.
| Parameter | Type | Description |
|---|---|---|
| id* | string | Pathway UUID or slug |
Response shape
{
"success": true,
"data": {
"id": "...",
"slug": "compassionate-use-eu",
"name": "Compassionate Use (EU)",
"approval_form": "Named Patient",
"timeline_days": 45,
"legal_status": "Conditional",
"source_reference": "https://...",
"countries": [...],
"suppliers": [...]
}
}Access Programs
Returns a paginated list of patient access programs including expanded access, named-patient supply, and compassionate use schemes.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| search | string | Filter by program name (partial match) |
| type | string | Filter by program type |
| page | number | Page number (default: 1) |
| limit | number | Results per page (default: 20) |
Example
curl "https://www.orphandrug.app/api/v1/access-programs?type=expanded-access"
Returns a single access program with the drugs available via it and the suppliers handling it.
| Parameter | Type | Description |
|---|---|---|
| id* | string | Program UUID or slug |
Response shape
{
"success": true,
"data": {
"id": "...",
"slug": "genzyme-eap",
"name": "Genzyme EAP",
"type": "expanded-access",
"regulatory_framework": "FDA 21 CFR 312.310",
"eligibility_criteria": "...",
"timeline_days": 60,
"drugs": [...],
"suppliers": [...]
}
}Suppliers
Returns a paginated list of pharmaceutical manufacturers, distributors, and specialty suppliers in the orphan drug supply chain.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| search | string | Filter by supplier name (partial match) |
| page | number | Page number (default: 1) |
| limit | number | Results per page (default: 20) |
Example
curl "https://www.orphandrug.app/api/v1/suppliers?search=genzyme"
Returns a single supplier with the access programs they handle and the regulatory pathways they execute.
| Parameter | Type | Description |
|---|---|---|
| id* | string | Supplier UUID or slug |
Response shape
{
"success": true,
"data": {
"id": "...",
"slug": "sanofi-genzyme",
"name": "Sanofi Genzyme",
"role": "Manufacturer",
"location": "Cambridge, MA",
"accessPrograms": [...],
"regulatoryPathways": [...]
}
}Global Search
Executes a keyword search across all five entity types simultaneously. Returns up to 5 results per category. The q parameter is required.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| q* | string | Search term (matches names across all entities) |
curl "https://www.orphandrug.app/api/v1/search?q=fabry"
Response shape
{
"success": true,
"data": {
"drugs": [
{ "id": "...", "generic_name": "Agalsidase alfa", ... }
],
"diseases": [
{ "id": "...", "name": "Fabry Disease", ... }
],
"countries": [...],
"pathways": [...],
"accessPrograms": [...]
}
}Stats
Returns total record counts for all six entity types. Useful for dashboards and database health checks.
curl "https://www.orphandrug.app/api/v1/stats"
Response shape
{
"success": true,
"data": {
"drugs": 312,
"diseases": 450,
"countries": 78,
"pathways": 64,
"programs": 91,
"suppliers": 137
}
}Data is provided for informational purposes only. Regulatory requirements change frequently — always verify against primary sources and use the source_reference field where available.
Administrative API
Write endpoints (POST, PUT, DELETE) and admin operations including AI orchestration triggers are private. Authorized administrators can view the full API reference inside the dashboard.
Admin Documentation