Interaction checker

A drug interaction checker for the whole medication list.

Put in a patient’s medicines and every pair is checked at once, graded by severity, with the source named on each result. Informational only — not a medical device, and not a substitute for clinical judgement.

Informational only — not a medical device. For developers: POST /v1/interactions/check

AtorvastatinKetoconazole H02CA03
severeSeverity as graded by the source

Source: DDInter 2.0synced 1 Nov 2026

  • Interaction severity from DDInter 2.0 (Xiong G. et al., Nucleic Acids Res.), licensed CC BY-NC 4.0 — free for non-commercial use only; not covered by the Drug Database commercial licence.

All 422 free-to-view interactions on record for atorvastatin, by severity

  • 11 severe
  • 192 moderate
  • 18 minor
  • 201 info
A real interaction record — one of 422 free-to-view interactions for atorvastatin.Check atorvastatin against other medicines

A medication list

Five medicines. Every pair checked.

Add what a patient takes and every pair is checked in one pass — including the pairs with nothing on record, so a quiet result means checked, not skipped.

  • 5 medicines make 10 pairs — one check, not 10 lookups
  • Graded as the source grades it: severe, moderate, minor, info
  • Informational only — it supports, and does not replace, clinical judgement
  1. 1AtorvastatinC10AA05
  2. 2KetoconazoleH02CA03
  3. 3ClotrimazoleA01AB18
  4. 4ErythromycinJ01FA01
  5. 5ClarithromycinJ01FA09
  • 1 + 2: Atorvastatin + Ketoconazolesevere
  • 1 + 3: Atorvastatin + Clotrimazolemoderate
  • 1 + 4: Atorvastatin + Erythromycinsevere
  • 1 + 5: Atorvastatin + Clarithromycinsevere
  • 2 + 3: Ketoconazole + Clotrimazoleinfo
  • 2 + 4: Ketoconazole + Erythromycinsevere
  • 2 + 5: Ketoconazole + Clarithromycinmoderate
  • 3 + 4: Clotrimazole + Erythromycininfo
  • 3 + 5: Clotrimazole + Clarithromycininfo
  • 4 + 5: Erythromycin + Clarithromycinsevere

All 245,470 interaction records, by the grade their source gives

  • 42,125 severe
  • 143,316 moderate
  • 10,995 minor
  • 49,034 info
5 medicines, 10 pairs, each looked up in the interaction records: 10 on record, 0 with none. Informational only — not a medical device.

How it works

How the check works

  1. Add the medicines

    By name, ATC code or pack number. Two to fifty in one check — a whole discharge list, not one pair at a time.

  2. Every pair is matched

    Each medicine is resolved to its ATC substance code and every unique pair is looked up, so the same molecule interacts the same way whatever country its pack came from.

  3. Read the graded result

    Each interacting pair with its severity and source; the highest severity on the list as one field; and anything that could not be identified, listed rather than dropped.

In detail

What the interaction checker tells you

Interactions are matched on the WHO ATC substance code, not on brand names. A Swiss Pharmacode, a German PZN and a US NDC for the same molecule all resolve to the same ATC code and therefore to the same interactions — which is what makes one checker work across every register we hold.

Two licensed sources stand behind the results, and each result says which. DDInter 2.0 grades severity and is licensed CC BY-NC 4.0: it is shown to every account, free, for non-commercial use only. EPha.ch adds the mechanism and the management recommendation; it is commercially licensed and comes with the a paid plan. When a list has EPha results your plan does not include, you are told how many — never shown a partial answer as complete.

01 · Whole list

Up to 50 medicines, one check

Every unique pair on the list is checked in a single pass. Ten medicines are 45 pairs — one request, not 45 lookups.

02 · Severity

One ordered scale

Results grade on info → minor → moderate → severe → contraindicated, and the list’s highest grade comes back as severity_max, so a workflow can gate on one field.

03 · Any identifier

Names, ATC codes or pack numbers

Mix ATC codes, record ids and pack codes (GTIN, NDC, Pharmacode, PZN, CIP13, Swissmedic number) in the same list; each is resolved to its ATC code.

04 · Honest gaps

Nothing dropped silently

A medicine that cannot be resolved comes back in unresolved_drugs exactly as you sent it, so a missing match is visible instead of reading as “no interaction”.

For developers

The same answer, as one API call.

POST the list in any mix of identifiers; get back the interacting pairs, severity_max, the licence and attribution of each row, and anything unresolved.

Sources & licensing

  • Matching is on WHO ATC substance codes, so it applies across every country we cover.
  • DDInter 2.0 (CC BY-NC 4.0): severity grades, free to every account, non-commercial use only.
  • EPha.ch: mechanism and management text, commercially licensed, included with the a paid plan.
  • Every row carries its licence and the attribution you must show with it.
  • Non-commercial rows are served to every key and are not metered; commercial rows count against your plan.
  • Interaction data supports, and never replaces, professional clinical judgement. Verify against primary sources.
POST /v1/interactions/check
curl -X POST 'https://drug-database.com/v1/interactions/check' \
  -H 'Authorization: Bearer dd_live_…' \
  -H 'Content-Type: application/json' \
  -d '{
    "drugs": [
      { "atc_code": "B01AC06" },
      { "atc_code": "B01AA03" },
      { "system": "gtin", "code": "7680…" }
    ]
  }'
response
{
  "interactions": [
    {
      "atc_a": "B01AA03",
      "atc_b": "B01AC06",
      "severity": "severe",
      "mechanism": null,
      "recommendation": null,
      "licence": {
        "class": "nc",
        "licences": ["CC-BY-NC-4.0"],
        "attribution": ["Interaction severity from DDInter 2.0 …"]
      }
    }
  ],
  "severity_max": "severe",
  "locked": null,
  "unresolved_drugs": [],
  "disclaimer": "Informational only; not a medical device …"
}

FAQ

Questions about the interaction checker

How many medicines can I check at once?
Between 2 and 50 in one check. Every unique pair on the list is looked up, so you never pair medicines up yourself.
How is severity graded?
On one ordered scale: info, minor, moderate, severe, contraindicated. The highest grade found on the list is returned on its own as severity_max.
Where does the interaction data come from?
From two sources, named on every result. DDInter 2.0 provides severity grades under CC BY-NC 4.0, free to every account for non-commercial use. EPha.ch provides mechanism and management text under a commercial licence, included with the a paid plan. We are not affiliated with either.
What happens to a medicine the checker cannot identify?
It is returned in unresolved_drugs exactly as you entered it, so you can see it was not checked. A missing match never reads as "no interaction".
Does a check with no results mean the combination is safe?
No. It means neither source lists an interaction for those ATC pairs. The checker is informational, not a medical device, and does not replace clinical judgement or the product information.
Does it work with medicines from different countries?
Yes. Every medicine is resolved to its ATC substance code first, so packs from different registers that contain the same molecule are checked identically.

Ready when you are

Look a medicine up right now.

Nothing to install. A free account gives you search, the console and the assistant.

Free account: 10 lookups in total and a one-time 5¢ AI credit, no card. Pro $29/month.