Drug Event Profile API: Most-reported reactions for a drug plus the serious/non-serious split — openFDA
Most-reported reactions for a drug plus the serious/non-serious split from FDA's adverse-event system, with the reporting-bias and non-causality caveats carried in the response. Signal generation only. Free, no key.
Free — no key, no signup, rate-limited to 60 calls per minute per client.
How do you call it?
GET /v1/fda/drug-events — product id
fda_drug_events. Over MCP, call answerpool_get with
product_id=fda_drug_events.
curl "https://answerpool.io/v1/fda/drug-events?drug=atorvastatin"
Live call: https://answerpool.io/v1/fda/drug-events?drug=atorvastatin · JSON sample: /v1/samples/fda_drug_events
What does the answer look like?
A representative response, the same static sample served at /v1/samples/fda_drug_events.
as_of | 2026-09-03T17:00:00Z |
|---|---|
drug | atorvastatin |
reports_matched | 145233 |
interpretation | These are counts of REPORTS mentioning the drug, not rates and not causal findings. Compare drugs only if you also account for how differently they are prescri… |
source | openFDA (US Food and Drug Administration), CC0 |
refresh_after | 2026-09-18T00:00:00.000Z |
top_reactions
| term | count |
|---|---|
| MYALGIA | 8123 |
| FATIGUE | 6011 |
The same sample as raw JSON
{
"as_of": "2026-09-03T17:00:00Z",
"drug": "atorvastatin",
"reports_matched": 145233,
"top_reactions": [
{
"term": "MYALGIA",
"count": 8123
},
{
"term": "FATIGUE",
"count": 6011
}
],
"by_seriousness": [
{
"term": "serious",
"count": 98211
},
{
"term": "non-serious",
"count": 47022
}
],
"interpretation": "These are counts of REPORTS mentioning the drug, not rates and not causal findings. Compare drugs only if you also account for how differently they are prescribed \u2014 otherwise the more common drug always looks worse.",
"source": "openFDA (US Food and Drug Administration), CC0",
"refresh_after": "2026-09-18T00:00:00.000Z"
}How fresh is it, and where does the data come from?
The fastest source behind this answer can change daily, so every response carries a refresh_after timestamp — right now it would be 2026-09-18T00:00:00.000Z. Schedule the next call on that value rather than on a guess.
- openFDA (US Food and Drug Administration) (CC0) — upstream:
https://api.fda.gov
Method version 0.1.0 ·
serving cache 1 day ·
every response carries a result_id you can resolve at
/v1/provenance.
When should you use it?
You want the reported reaction profile for a drug, understanding it is not a rate.
What you skip building
- FAERS query construction
- MedDRA term aggregation
When should you not use it?
Anything requiring incidence, causality or comparison between drugs without exposure data — this data cannot support those.
Where else can you find this?
- Catalog entry (JSON, free)
- OpenAPI schema — input and output types, prices, the 402 flow
- llms.txt — every product in one plain-text document