# Drug Database > Drug Database is a global pharmaceutical-data API. One REST + GraphQL + MCP surface over 610,367 drugs across 19 jurisdictions (US, EU, CH), aggregated from 30+ public registers and kept fresh by an ingestion "watchtower". Operated from Geneva, Switzerland. How it works (the facts an integrating agent needs): - Base URL: https://drug-database.com/api/v1 — REST. GraphQL at POST https://drug-database.com/api/v1/graphql. MCP server: npm @drug-database/mcp-server. - Auth: Authorization: Bearer dd_live_… on every request. Scopes gate endpoints (drugs:read, interactions:write, atc:read, changes:read, webhooks:write). - The moat is the ingestion watchtower: schema-validated staging, diff-based change feed, schema-drift alerts within 24h, and a stale-data freeze. Every response carries last_synced_at and schema_state, so freshness is a field, not a guess. - Keep a local copy fresh with the change feed: GET /api/v1/changes?since= returns created/updated/removed entries; store next_cursor and pass it as the next since. Or register a signed webhook (POST /api/v1/webhooks). - Live metrics: 610,367 drugs · 27,611 interactions · 554,523 tracked changes · 19 jurisdictions · 30+ public sources. - Honesty: data is aggregated from public sources (Swissmedic, BAG-SL, AIPS, EPha, oddb, EMA, FDA NDC/DailyMed/RxNorm, BfArM, AIFA, BDPM, CIMA, WHO ATC, …). We are NOT affiliated with or endorsed by any of them. Output is a data service, not clinical advice. ## Capabilities - [Drug search](https://drug-database.com/capabilities/drug-search): Trigram full-text search across 19 jurisdictions — filter by country and ATC, get back the canonical product with reimbursement, dispensing and freshness metadata. (GET /api/v1/drugs) - [Interaction checks](https://drug-database.com/capabilities/interactions): Send 2–50 drugs by ATC, ID or market identifier and get every interacting pair back with a graded severity, mechanism and recommendation. (POST /api/v1/interactions/check) - [ATC classification](https://drug-database.com/capabilities/atc-classification): Resolve any ATC code to its node, full parent chain, multilingual labels and DDD — then descend with /children or list the subtree with /drugs. (GET /api/v1/atc/{code}) - [FHIR Medication](https://drug-database.com/capabilities/fhir-medication): Add ?format=fhir to a drug fetch and get a standards-valid FHIR R4 Medication — codes split correctly between coding[] and identifier[], Swiss fields as typed extensions. (GET /api/v1/drugs/{id}?format=fhir) - [Code lookup](https://drug-database.com/capabilities/code-lookup): Resolve any market identifier — a scanned barcode, a Swiss Pharmacode, a US NDC — to the canonical drug in one indexed read, with the matched pack alongside. (GET /api/v1/drugs/lookup) - [Change feed](https://drug-database.com/capabilities/change-feed): Poll GET /changes?since=… for a diff of everything that moved, or register a webhook and get pushed — the watchtower turns 30+ registers into one revalidatable stream. (GET /api/v1/changes?since={ts}) - [Monographs](https://drug-database.com/capabilities/monographs): Fetch the structured professional and patient information for a Swiss product in German, French or Italian — the AIPS monograph, parsed into sections. (GET /api/v1/drugs/{id}/monograph) - [Pricing & competitors](https://drug-database.com/capabilities/pricing-landscape): Per-country prices plus the full set of products that share an ATC class or substance — the feed behind commercialization-feasibility and market-access work. (GET /api/v1/drugs?atc={code}&country={cc}) ## Solutions - [Switzerland drug API](https://drug-database.com/solutions/switzerland-drug-api): A single REST surface over the Swiss drug market: reimbursement, dispensing category, Pharmacode and ATC, stitched from the authoritative registers. - [Drug interaction API](https://drug-database.com/solutions/drug-interaction-api): POST a medication list by ATC, ID or identifier and get back N-way interaction pairs with a graded severity, mechanism and recommendation. - [ATC code API](https://drug-database.com/solutions/atc-code-api): The complete WHO ATC classification as a clean REST tree — node, parent chain, multilingual labels, DDD, plus /children and /drugs traversal. - [FHIR Medication API](https://drug-database.com/solutions/fhir-medication-api): Add ?format=fhir to a drug fetch and receive a standards-valid FHIR R4 Medication — no mapping layer on your side. - [Pharmacode lookup](https://drug-database.com/solutions/pharmacode-lookup): Resolve a Swiss Pharmacode to the canonical drug product in one indexed read — with ATC, dispensing, reimbursement, and the GTIN / Swissmedic-No bridge. - [NDC & barcode lookup](https://drug-database.com/solutions/ndc-barcode-lookup): Scan a barcode, get a drug. Resolve a GTIN/EAN or a US NDC to the canonical product in one indexed read, across every identifier system. ## API endpoints (under https://drug-database.com/api/v1) - GET /drugs — trigram drug search (q, country, atc, limit). - GET /drugs/{id} — canonical drug; add ?format=fhir for a FHIR R4 Medication. - GET /drugs/{id}/monograph — structured Swiss monograph (lang=de|fr|it). - GET /drugs/lookup — resolve an identifier (system=pharmacode|gtin|ndc11|cip13|pzn|swissmedic_no|ean|dmd_amppid, code=…). - POST /interactions/check — N-way ATC interaction check (2–50 drugs); returns severity_max. - GET /atc/{code} (+ /children, + /drugs) — WHO ATC tree, multilingual labels, DDD. - GET /changes?since= — diff change feed. - POST /webhooks, DELETE /webhooks — manage signed webhook subscriptions. - GET /openapi.json — the OpenAPI document. ## Pricing - Developer — Free, 100 requests/day. - Starter — CHF 99/mo (250k req/mo, 99.5% SLA). - Growth — CHF 490/mo (2M req/mo, 99.9% SLA, embeddable widget, HCI BYOL passthrough). - Enterprise — from CHF 2.5k/mo (unlimited, self-host, custom DPA, SSO). - [Pricing](https://drug-database.com/pricing) ## Compare - [vs HCI Documedis](https://drug-database.com/alternatives/hci-documedis-vs-drug-database) - [vs oddb.org](https://drug-database.com/alternatives/oddb-vs-drug-database) - [vs openFDA](https://drug-database.com/alternatives/openfda-vs-drug-database) ## For developers - [Capabilities overview](https://drug-database.com/capabilities) - [Solutions overview](https://drug-database.com/solutions) - [API docs](https://drug-database.com/docs) - [MCP server](https://drug-database.com/mcp) - [Status](https://drug-database.com/status) ## Company - Drug Database, Geneva, Switzerland. - Contact: hello@drug-database.com