AnswerPool

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_of2026-09-03T17:00:00Z
drugatorvastatin
reports_matched145233
interpretationThese 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…
sourceopenFDA (US Food and Drug Administration), CC0
refresh_after2026-09-18T00:00:00.000Z

top_reactions

termcount
MYALGIA8123
FATIGUE6011
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.

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

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?