01 · Lookup
For developers · ATC classification
ATC code lookup, down to every product.
Resolve any Anatomical Therapeutic Chemical code to its level, parent chain, labels and defined daily dose — then walk down to its sub-classes, or list every product filed under it in any country we cover.
GET /v1/atc/{code}
- CCardiovascular systemLevel 1 · Anatomical group · 1 of 14
- C10Lipid modifying agentsLevel 2 · Therapeutic group · 1 of 10
- C10ALipid modifying agents, plainLevel 3 · Pharmacological group · 1 of 2
- C10AAHMG CoA reductase inhibitorsLevel 4 · Chemical group · 1 of 6
- C10AA05AtorvastatinLevel 5 · Substance · 1 of 8
Every substance in C10AA (HMG CoA reductase inhibitors)
- C10AA01 Simvastatin
- C10AA02 Lovastatin
- C10AA03 Pravastatin
- C10AA04 Fluvastatin
- C10AA05 Atorvastatin
- C10AA06 Cerivastatin
- C10AA07 Rosuvastatin
- C10AA08 Pitavastatin
Down the tree
One class, every product in it.
Ask for a group and get its substances; ask for a substance and get every product filed under it, in every country we cover.
- 8 substances under C10AA (HMG CoA reductase inhibitors)
- 8,656 products on record across them
- WHO defined daily dose for Atorvastatin: 20 mg oral
HMG CoA reductase inhibitors · products on record
- C10AA05 Atorvastatin3,323
- C10AA07 Rosuvastatin2,452
- C10AA01 Simvastatin1,359
- C10AA03 Pravastatin773
- C10AA08 Pitavastatin303
- C10AA04 Fluvastatin266
- C10AA02 Lovastatin171
- C10AA06 Cerivastatin9
How it works
How to walk the ATC tree
Look the code up
GET /atc/{code} with any code from level 1 (M) to level 5 (M01AE01) returns the node and every parent up to its anatomical main group.
Go down a level
/atc/{code}/children lists the direct sub-classes, so a browser or picker can expand the tree one level at a time.
List the products
/atc/{code}/drugs returns every product whose ATC code starts with the node, in one country or all of them, paginated.
In detail
What an ATC lookup returns
The Anatomical Therapeutic Chemical (ATC) classification files every active substance in five levels: anatomical main group (M), therapeutic subgroup (M01), pharmacological subgroup (M01A), chemical subgroup (M01AE) and the substance itself (M01AE01). A lookup returns the node with its level and labels, the defined daily dose where one is assigned, and the full chain of parents — so a breadcrumb or a class filter needs one call, not five.
Because every descendant of a node shares its prefix, the same code is also a filter over the whole catalogue: M01 sweeps every anti-inflammatory product in every register we hold. To find a class by name rather than code, /v1/classes?system=atc&q= searches the labels and returns product and market counts with each class.
02 · Traversal
/children and /drugs
03 · Labels & DDD
Labels and defined daily dose
04 · Caching
ETags on every read
Try it
A real call, end to end.
A single GET returns the node, its labels, the DDD and the parent chain to the anatomical main group.
Coverage & sourcing
- All five ATC levels, loaded from the WIdO ATC classification (Germany’s official edition of the ATC system).
- Defined daily doses (value, unit, route) on the substances that have one assigned.
- /atc/{code}/drugs joins the tree to every register by ATC prefix; pass country=ALL for all of them.
- Not every register publishes an ATC code for every product, so per-country coverage varies — see /data/sources.
- ATC reads need the atc:read scope, which every plan includes.
- Without country, /atc/{code}/drugs defaults to Switzerland; pass country=ALL or an ISO code.
- We are not affiliated with the WHO Collaborating Centre or WIdO.
curl 'https://drug-database.com/v1/atc/M01AE01' \
-H 'Authorization: Bearer dd_live_…'{
"node": {
"code": "M01AE01",
"level": 5,
"parent_code": "M01AE",
"label_en": "ibuprofen",
"label_de": "Ibuprofen",
"label_fr": "…",
"label_it": "…",
"ddd_value": 1.2,
"ddd_unit": "g",
"ddd_route": "O"
},
"parents": [
{ "code": "M01AE", "level": 4, "label_en": "Propionic acid derivatives" },
{ "code": "M01A", "level": 3, "label_en": "…" },
{ "code": "M01", "level": 2, "label_en": "…" },
{ "code": "M", "level": 1, "label_en": "…" }
],
"_meta": { "sources": { "wido_atc": { "schema_state": "ok", … } } }
}What is an ATC code?
What does GET /v1/atc/{code} return?
How do I list every product in an ATC class?
Can I find an ATC class by name?
Which languages are the labels in?
Ready when you are
Try atc classification on real data.
Create a key in minutes. The free plan is enough to see real responses and judge the data; the paid plans are where you build.
Free to try · 10 lookups in total · No card required