Drug Landscape API

Free public REST API for pharma intelligence: 156K drugs, 480K trials, 915 companies, 61 disease areas. OpenAPI 3.1 spec, MCP server, markdown alternates, CSV/JSON exports. No API key required for most endpoints.

The Drug Landscape API is a free public REST + MCP + OpenAPI surface for pharma intelligence. Use it to look up any drug, disease, clinical trial, or pharmaceutical company; compare drugs; browse pipelines; or stream new approvals into your tooling.

Quick start Try: curl https://druglandscape.com/api/drug/keytruda
Or paste this OpenAPI URL into ChatGPT / Gemini / Mistral: https://druglandscape.com/.well-known/openapi.json

Sections

Single-entity lookups

Direct lookups by stable identifier. Cached at the edge for ~1 minute. Return JSON-LD-compatible JSON.

MethodPathPurpose
GET /api/drug/{slug} Full profile of a drug by slug.
GET /api/drug/{slug}.md Same as above as Markdown (for LLM ingestion).
GET /api/drug/{slug} Plain-text version, ultra-stripped.
GET /api/disease/{slug} Disease landscape — every drug treating this disease.
GET /api/disease/{slug}.md Same as Markdown.
GET /api/company/{slug} Pharma company profile + pipeline.
GET /api/company/{slug}.md Same as Markdown.
GET /api/trial/{nct_id} Clinical trial by NCT ID.
Show example requests
curl https://druglandscape.com/api/drug/keytruda
curl https://druglandscape.com/api/drug/keytruda.md
curl https://druglandscape.com/api/text/keytruda
curl https://druglandscape.com/api/disease/breast-cancer
curl https://druglandscape.com/api/disease/breast-cancer.md
curl https://druglandscape.com/api/company/pfizer
curl https://druglandscape.com/api/company/pfizer.md
curl https://druglandscape.com/api/trial/NCT04812548

Global search across all entity types. Compare two drugs head-to-head.

MethodPathPurpose
GET /api/search?q={query} Semantic search across drugs, diseases, companies, trials.
GET /api/compare?a={slug1}&b={slug2} Side-by-side drug comparison.
Show example requests
curl "https://druglandscape.com/api/search?q=GLP-1%20obesity"
curl "https://druglandscape.com/api/compare?a=ozempic&b=mounjaro"

Browsable lists

Filtered browse endpoints — paginated 50/page by default.

MethodPathPurpose
GET /api/browse?phase=phase_3 Filter by phase, area, class, target.
GET /api/class/{slug} All drugs in a pharmacologic class.
GET /api/target/{symbol} All drugs acting on a molecular target.
Show example requests
curl "https://druglandscape.com/api/browse?phase=phase_3&area=oncology"
curl https://druglandscape.com/api/class/pd-1-inhibitor
curl https://druglandscape.com/api/target/EGFR

Feeds + data exports

RSS, Atom, JSON Feed, CSV, JSON. For aggregators + pipelines.

MethodPathPurpose
GET /feed.xml | /feed.atom | /feed.json Blog feed in three formats.
GET /feed/approvals.xml Recent FDA approvals feed.
GET /feed/pdufa.xml Upcoming PDUFA dates feed.
GET /feed/readouts.xml Phase 3 readouts feed.
GET /feed/discontinued.xml Discontinuations feed.
GET /data/{slug}.csv Downloadable CSV (free first 50 rows, paid full).
GET /data/{slug}.json Same dataset as JSON.
GET /data.json DCAT-US 1.1 catalog (for data.gov harvest).
Show example requests
curl https://druglandscape.com/feed.xml
curl https://druglandscape.com/feed/approvals.xml
curl https://druglandscape.com/data/fda-approvals-2026.csv

AI integration surfaces

For LLM agents + tool-calling. See /integrations for per-client setup.

MethodPathPurpose
GET / POST /api/mcp Model Context Protocol JSON-RPC 2.0 server. 11 tools.
GET /.well-known/openapi.json OpenAPI 3.1 specification.
GET /.well-known/ai-plugin.json ChatGPT plugin manifest.
GET /.well-known/mcp.json MCP discovery document.
GET /llms.txt LLM-friendly site overview (short form).
GET /llms-full.txt Full data dictionary for LLM training.
Show example requests
See /integrations/mcp
curl https://druglandscape.com/.well-known/openapi.json

Citation + reference

Export drug citations in standard academic formats.

MethodPathPurpose
GET /api/cite/{slug} APA / MLA / Chicago / Harvard / BibTeX / RIS / Vancouver.
GET /api/cite/{slug}?format=bibtex Single-format export.
Show example requests
curl https://druglandscape.com/api/cite/keytruda

Embeddable widgets

iframe-friendly HTML widgets — no API key. See /embeds.

MethodPathPurpose
GET /embed/today Today-in-pharma widget.
GET /embed/calendar?days=90&area=oncology PDUFA / readout calendar widget.
GET /embed/pipeline?company=pfizer Company pipeline widget.
GET /embed/search?theme=dark Branded search box widget.
GET /api/badge?style=dark SVG "Powered by Drug Landscape" badge.

Standard response shape

All JSON endpoints follow the same convention:

{
  "id": "keytruda",
  "url": "https://druglandscape.com/drug/keytruda",
  "brandName": "Keytruda",
  "genericName": "pembrolizumab",
  "company": { "id": "merck", "name": "Merck & Co." },
  "phase": "marketed",
  "mechanism": { "oneSentence": "...", "target": "PD-1" },
  "indications": { "approved": [...] },
  "safety": { "commonSideEffects": [...] },
  "sources": [
    { "type": "fda", "url": "https://www.accessdata.fda.gov/...", "lastChecked": "2026-05-10" }
  ],
  "lastModified": "2026-05-12T08:13:00Z"
}

Error responses

SDKs + client libraries

The API is plain REST + JSON, so any HTTP client works. For convenience:

Discovery files

Status

Health endpoint: /api/health. Hosted on Vercel with global edge caching. No reported uptime issues in 2026.

Pricing

Free for most use cases. View plans for bulk CSV exports, private-mode toggle, and SLAs.