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

https://www.orphandrug.app/api/v1

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

MethodEndpointDescription
GET/drugsList all drugs (paginated)
GET/drugs/:idGet a single drug with relations
GET/diseasesList all diseases (paginated)
GET/diseases/:idGet a single disease with drugs
GET/countriesList all countries
GET/countries/:idGet a single country with drugs & pathways
GET/regulatory-pathwaysList regulatory pathways (paginated)
GET/regulatory-pathways/:idGet a single pathway with countries & suppliers
GET/access-programsList access programs (paginated)
GET/access-programs/:idGet a single program with drugs & suppliers
GET/suppliersList suppliers (paginated)
GET/suppliers/:idGet a single supplier with programs & pathways
GET/searchCross-entity keyword search
GET/statsDatabase entity counts

Drugs

GET/drugsList all drugs

Returns a paginated list of drug profiles. Filter by name, orphan status, or publication status.

Query Parameters

ParameterTypeDescription
searchstringFilter by generic name (partial match)
orphan0 | 1Filter by orphan designation (1 = orphan)
statusstringdraft | published
pagenumberPage number (default: 1)
limitnumberResults per page (default: 20)

Example

curl "https://www.orphandrug.app/api/v1/drugs?search=imatinib&orphan=1"
GET/drugs/:idGet drug by ID or slug

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

ParameterTypeDescription
id*stringDrug 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

GET/diseasesList all diseases

Returns a paginated list of rare diseases including ICD and MeSH codes.

Query Parameters

ParameterTypeDescription
searchstringFilter by disease name (partial match)
statusstringdraft | published
pagenumberPage number (default: 1)
limitnumberResults per page (default: 20)

Example

curl "https://www.orphandrug.app/api/v1/diseases?search=pompe"
GET/diseases/:idGet disease by ID or slug

Returns a single disease record with all drugs that treat it.

ParameterTypeDescription
id*stringDisease 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

GET/countriesList all countries

Returns all countries (not paginated). Country IDs are ISO 3166-1 alpha-2 codes. Filter by name or geographic region.

Query Parameters

ParameterTypeDescription
searchstringFilter by country name (partial match)
regionstringFilter by region (e.g. Asia, Europe)

Example

curl "https://www.orphandrug.app/api/v1/countries?region=Asia"
GET/countries/:idGet country with drugs & regulatory pathways

Returns a single country with all drugs available there and the regulatory pathways active in that jurisdiction. Accepts the ISO code or slug.

ParameterTypeDescription
id*stringISO 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

GET/regulatory-pathwaysList all regulatory pathways

Returns a paginated list of regulatory approval pathways including timelines, legal status, and eligibility criteria.

Query Parameters

ParameterTypeDescription
searchstringFilter by pathway name (partial match)
pagenumberPage number (default: 1)
limitnumberResults per page (default: 20)

Example

curl "https://www.orphandrug.app/api/v1/regulatory-pathways?search=compassionate"
GET/regulatory-pathways/:idGet pathway with countries & suppliers

Returns a single regulatory pathway with the countries where it applies and suppliers that execute it.

ParameterTypeDescription
id*stringPathway 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

GET/access-programsList all access programs

Returns a paginated list of patient access programs including expanded access, named-patient supply, and compassionate use schemes.

Query Parameters

ParameterTypeDescription
searchstringFilter by program name (partial match)
typestringFilter by program type
pagenumberPage number (default: 1)
limitnumberResults per page (default: 20)

Example

curl "https://www.orphandrug.app/api/v1/access-programs?type=expanded-access"
GET/access-programs/:idGet program with drugs & suppliers

Returns a single access program with the drugs available via it and the suppliers handling it.

ParameterTypeDescription
id*stringProgram 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

GET/suppliersList all suppliers

Returns a paginated list of pharmaceutical manufacturers, distributors, and specialty suppliers in the orphan drug supply chain.

Query Parameters

ParameterTypeDescription
searchstringFilter by supplier name (partial match)
pagenumberPage number (default: 1)
limitnumberResults per page (default: 20)

Example

curl "https://www.orphandrug.app/api/v1/suppliers?search=genzyme"
GET/suppliers/:idGet supplier with programs & pathways

Returns a single supplier with the access programs they handle and the regulatory pathways they execute.

ParameterTypeDescription
id*stringSupplier UUID or slug

Response shape

{
  "success": true,
  "data": {
    "id": "...",
    "slug": "sanofi-genzyme",
    "name": "Sanofi Genzyme",
    "role": "Manufacturer",
    "location": "Cambridge, MA",
    "accessPrograms": [...],
    "regulatoryPathways": [...]
  }
}

Stats

GET/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
Last updated: May 2026 API Version 1.0.0