For developers
The drug data API, and an MCP server for agents.
647,075 products from the official registers of 19 countries — over REST and GraphQL, as Model Context Protocol tools and as FHIR R4 Medication, with the source register and sync date on every record.
647,075
products
19
countries
49
live sources
curl 'https://drug-database.com/v1/drugs\
?country=CH&q=aspirin&limit=2' \
-H 'Authorization: Bearer dd_live_…'{
"results": [
{
"id": "3f8a1c2d-1b4e-4c7a-9d2f-0a1b2c3d4e5f",
"swissmedic_no": "65187",
"product_name": "Aspirin Cardio 100 mg",
"atc_code": "B01AC06",
"manufacturer": "Bayer (Schweiz) AG",
"dispensing_cat": "B",
"is_reimbursed": true,
"country_code": "CH",
"last_synced_at": "2026-06-27T02:14:00Z"
}
],
"_meta": {
"sources": {
"bag_sl": { "last_synced_at": "2026-06-27T02:10:00Z", "schema_state": "ok" },
"aips": { "last_synced_at": "2026-06-27T01:55:00Z", "schema_state": "ok" }
}
}
}Three ways in
One catalogue. Pick your door.
The console for people, the REST API for your application, the MCP server for an AI agent. All three read the same normalised records, so an answer in one is the answer in the others.
- One dd_ key for the API and the MCP server — same scopes, same quota
- Every response carries its source register and last-synced date
- REST on every plan; GraphQL from Pro
One catalogue
647k products
49 live sources
Surfaces
Everything you can build on.
Each has its own page with the request, the response and what it is good for.
API reference
REST and GraphQL endpoints, auth, errors and code samples.
Open API referenceMCP server
The catalogue as tools inside Claude, Cursor or any MCP client.
Open MCP serverFHIR Medication
Any product as a FHIR R4 Medication resource.
Open FHIR MedicationChange feed & webhooks
Diff since a timestamp, or get each change pushed to you.
Open Change feed & webhooksATC tree
The WHO classification by code or name, with parents and children.
Open ATC treeCode lookup
Pharmacode, GTIN or NDC to the product record.
Open Code lookup
By use case
The API, by the job you are doing.
Intent-matched pages — each with a representative request, the fields that matter and the sources behind them.
Switzerland drug API
A single REST surface over the Swiss drug market: reimbursement, dispensing category, Pharmacode and ATC, stitched from the authoritative registers.
GET /v1/drugs?country=CH
Drug interaction API
POST a medication list by ATC, ID or identifier and get back every interacting pair with a graded severity — and, where the licensed source gives them, the mechanism and a recommendation.
POST /v1/interactions/check
ATC code API
The ATC classification as a clean REST tree — node, parent chain, labels, defined daily dose, plus /children and /drugs to walk it.
GET /v1/atc/{code}
FHIR Medication API
Add ?format=fhir to a drug fetch and receive a standards-valid FHIR R4 Medication — no mapping layer on your side.
GET /v1/drugs/{id}?format=fhir
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.
GET /v1/drugs/lookup?system=pharmacode
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.
GET /v1/drugs/lookup?system=gtin
Keys & plans
Start with a free key. Scale by quota.
Every plan gets a real key against the production catalogue. Plans differ in monthly requests and in what the key may do.
- Drug, ATC and change-feed reads and AI answers on every plan
- Signed change webhooks from Starter
- Prescription validation (interactions:write) from Growth
Self-serve plans
per month
| Plan | Price | Quota |
|---|---|---|
| Free | $0 | 10 requests |
| Pro | $29/month | 1,500 requests |
| Starter | $99/month | 20,000 requests |
| Growth | $490/month | 150,000 requests |
Is there a free drug API key?
REST, GraphQL or MCP — which should I use?
Where does the data come from?
Can I get notified when a record changes?
Is it suitable for clinical software?
Start building
Your first call in a minute.
Create a free account, copy your key from the console and run the quickstart.
Free to try · 10 lookups a month · No card required