If you're building anything that touches medications, you eventually hit the same question: do these two drugs interact, and how badly. NLM killed their free interaction endpoint a couple years back, and nothing obvious replaced it. Here's what's actually usable right now.
openFDA
Free, public, no key needed for reasonable volume. It's adverse event reports (FAERS), not a curated interaction list, so it doesn't really answer "will X and Y interact." You get reported side effects tied to a drug, and you're on your own for turning that into a pairwise lookup.
ONC High Priority List
This is the actual list the old NLM endpoint pulled from, sometimes paired with CredibleMeds data for QT/Torsades risk. Small and well-vetted, but narrow — it's built for the highest-priority alerting cases, not general coverage.
DrugBank
Solid and well known. The free/non-commercial tier doesn't include severity though, so you get "these interact" without "how bad." Severity sits behind a paid license.
DDInter 2.0
Academic dataset with severity, mechanism, and evidence level per pair. More complete than the ONC list, more structured than openFDA. But it's a raw dataset, not a hosted API — you'd need to build and host the service yourself.
None of these give you all four things at once: a hosted API, RxCUI lookups so you're not hand-mapping drug names, severity/mechanism/evidence in one response, and a free tier to build against before paying anything.
I built RxCheck to cover that. It pulls DDInter 2.0, openFDA, and the ONC list into one RxCUI-based endpoint, with severity and mechanism in every response.
const res = await axios.get(
`https://api.rxcheck.dev/v1/interactions?drug1=${rxcui1}&drug2=${rxcui2}`,
{ headers: { Authorization: `Bearer ${apiKey}` } }
)
| Source | Pairwise interactions | Severity | Mechanism | Hosted API | Free tier |
|---|---|---|---|---|---|
| openFDA | No, adverse-event based | No | No | Yes | Yes |
| ONC High Priority List | Yes, narrow | Yes | Partial | No | N/A |
| DrugBank | Yes, broad | No on free tier | Partial | Yes | Limited |
| DDInter 2.0 | Yes | Yes | Yes | No | N/A |
| RxCheck | Yes, ~175K pairs | Yes | Yes | Yes | Yes, no card |
Pricing if you get past the prototype stage: free tier is 100 queries/month with no card, then $19/mo for 5K queries, $79/mo for 50K, $299/mo for 500K.
Free tier is enough to actually test it against your use case before you decide anything. If you're building something in this space and hit a gap none of the above solves, drop a comment — happy to talk through it.
Top comments (0)