Worldwide drug data — one API

Current, validated drug data for every app that touches medication.

One REST, GraphQL and MCP surface over 610,367 products across 19 jurisdictions — schema-validated, diff-tracked, with a freshness timestamp on every record.

19 jurisdictionsSchema-validated & diff-trackedFree tier — 100 req/day

Built from official drug registries · not affiliated

  • Swissmedic
  • BAG-SL
  • EPha
  • AIPS
  • oddb
  • EMA SPOR
  • FDA NDC
  • DailyMed
  • RxNorm
  • CMS NADAC
  • FDA Recalls
  • dm+d
  • CIMA
  • BDPM
  • AIFA
  • BfArM
  • Health Canada
  • MHLW
  • WHO ATC
610,367drugs
27,611interactions
19jurisdictions
554,523tracked changes

Try it now — no signup

Search the master, live.

Search 610,367 real drugs across CH, EU and US. This is the same data the API returns.

Try

No matches for aspirin.

Public, unauthenticated · same data as GET /v1/drugsOpen full search

Ways to use it

One dataset. Three ways to use it.

The same validated, diff-tracked catalogue — over an API, as an MCP server for AI tools, or straight in the browser.

For everyone else

No code? Search it in the browser.

A keyless live search and a full dashboard to manage keys, watch the change feed, and inspect any record — the same data the API returns, no integration required.

  • Keyless live search across 610,367 drugs
  • Manage API keys, usage and webhooks
  • Inspect every field, source and last_synced_at
Open live search
Dashboard & search
# live search
"ibuprofen"
→ Ibuprofen 400 mg · CH · M01AE01
→ Ibuprofen 600 mg · US · M01AE01
# last_synced_at: 4h ago

vs a national compendium

Worldwide coverage. Developer-first.

A national compendium is deep on home turf, but covers one country and ships through a legacy portal. Drug Database gives you 19 jurisdictions across Europe, the US and beyond, in one schema-validated, diff-tracked API over REST, GraphQL, and MCP. Here is the side-by-side.

HCI Solutions / compendium.ch
Drug Database
Switzerland (BAG-SL / Pharmacode / Swissmedic)
Home turf — the Swiss standard
Yes — direct from the public sources
Worldwide coverage: 19 jurisdictions (one API)
Switzerland only
610,367 drugs, one JSON shape
Transports
SOAP-era portal / CSV / paid SDK
REST · GraphQL · MCP
Schema-drift watchtower
You discover breakage in prod
Caught at staging; schema_state in every response
Change-feed webhooks
Manual re-pull
GET /v1/changes?since=… + webhooks
Cross-jurisdiction identifier bridges
Swiss codes only
Pharmacode ↔ GTIN ↔ NDC ↔ dm+d ↔ RxCUI…
Pricing
CHF 8–15k / tenant / yr
Free tier (100 req/day), then paid plans
Deepest proprietary Swiss local data
Decades of curation
Public-source first; BYOL for paid catalogues

Fair caveat: HCI Solutions (Galenica) has decades-deep proprietary Swiss curation, and we won't out-cover their local depth in year one. Drug Database wins on Swiss public-source coverage, developer ergonomics, and price — and adds EU + US in the same API. Customers who already licence a paid catalogue can BYOL their credentials per-tenant — we never resell.

Pricing

Adoption beats extraction.

A generous free tier and transparent, published prices — no per-tenant licence. Start free, upgrade when you outgrow it.

Developer

Free

100 requests / day

REST + GraphQL + MCP

Starter

$99/mo

250k requests / month

Webhooks · 99.5% SLA

Growth

Popular
$490/mo

2M requests / month

Search widget · 99.9% SLA

Enterprise

from $2.5k

Unlimited · self-host

Custom DPA · SSO/SCIM

FAQ

Questions, answered honestly.

What teams ask before they build on us — including where we win, and where the incumbents still do.

What's the free tier?

The free tier gives you 100 requests per day with no credit card required. It is the same data and the same API as the paid plans — built so you can evaluate and prototype before you ever pay. When you outgrow it, Starter is $99/mo and Growth is $490/mo.

Is the data accurate, and where does it come from?

Every record originates from 30+ official public registries — Swissmedic, BAG-SL, EPha, oddb, FDA NDC, DailyMed, RxNorm, UNII, dm+d, CIMA, BDPM, AIFA, EMA SPOR, WHO ATC and more. Ingested data is schema-validated on the way in and diff-tracked against the prior version, so changes are auditable rather than silent. Every API response carries a last_synced_at timestamp so you always know how fresh the answer is.

Do you support FHIR?

Yes — GET /v1/drugs/:id?format=fhir returns a FHIR R4 Medication resource with ATC/GTIN/NDC/Pharmacode codings.

Can I use it with AI tools and agents?

Yes. Alongside the REST and GraphQL API we host a Model Context Protocol (MCP) server that exposes drug search, ATC lookup and interaction checks as tools. Point any MCP-aware client — Cursor, Claude, or your own agent — at it; it uses the same API keys and rate limits as the HTTP API.

Do I need a DPA?

For the catalogue, no. The /drugs and /interactions/check endpoints touch no patient health information, so they require no Data Processing Agreement. Only the optional /prescriptions/validate endpoint accepts patient context — and only in bucketed form (age band, eGFR band, pregnancy) — so a DPA is relevant solely if you choose to use that one endpoint.

Is this a medical device?

No. Drug Database is an informational data API, not a medical device, and it is not a substitute for professional clinical judgement. It is intended to support — not replace — qualified healthcare professionals and the systems they rely on. Always verify against the official source of record before making a clinical decision.

How is this different from HCI Solutions?

We are built on 30+ official public registries, served through a modern JSON/REST + GraphQL + MCP API at transparent, published prices — and with no per-tenant licence. HCI Solutions still wins on proprietary, hand-curated Swiss local depth that public sources do not expose; if you need that proprietary layer, keep it (or bring it via per-tenant BYOL). We win on cross-jurisdictional coverage, developer ergonomics, and price.

Still have a question? Read the docs or start building.

Search 610,367 drugs free.

610,367 drugs across 19 jurisdictions worldwide in one JSON API — free up to 100 requests/day. Public-source, schema-validated, diff-tracked, served over REST, GraphQL, and MCP.