Microproduct data guideintermediate

openFDA Drug Adverse Events

FDA adverse-event reports for exploring reported drug reactions and building bounded pharmacovigilance research tools.

At a glance

Difficulty
Intermediate — some data preparation helps
Size
Small · ≤0.1 GB
Formats
JSON, ZIP
Access
API or Download
API key
Not required
Provider
U.S. Food and Drug Administration
Updates
Quarterly
Data terms
Creative Commons CC0 1.0 Universal, with noted third-party exceptions

From source to product signal

Test a product idea in four steps

The openFDA drug-event API provides searchable FDA Adverse Event Reporting System records and server-side counts. Start with one drug name and a bounded reporting period. These voluntary reports can help surface patterns for investigation, but they cannot establish causality, incidence, or comparative safety.

1

Check the setup

  • Python 3.10 or newer
  • A notebook environment such as Jupyter or Google Colab
  • An internet connection
2

Access the data

  1. 1.Read the drug-event field documentation and choose one unambiguous generic drug name.
  2. 2.Query a bounded receive-date period and count reported reaction terms through the API.
  3. 3.Preserve the exact query and retrieval timestamp before interpreting the returned counts.
Open official source
3

Run the Python example

Install the packages, then run the notebook cell.

python -m pip install pandas requests

import pandas as pd
import requests

response = requests.get(
    "https://api.fda.gov/drug/event.json",
    params={
        "search": 'patient.drug.openfda.generic_name:"IBUPROFEN" AND receivedate:[20250101 TO 20251231]',
        "count": "patient.reaction.reactionmeddrapt.exact",
    },
    timeout=30,
)
response.raise_for_status()
reactions = pd.DataFrame(response.json()["results"])
reactions["retrieved_at_utc"] = pd.Timestamp.now(tz="UTC")
print(reactions.head(20))
4

Test a useful signal

Summarize reported reactions for one drug

Identify the most frequently reported reaction terms for one drug in a bounded calendar year.

  1. 01Review the generic-name query and confirm that the API returned reaction-term counts.
  2. 02Rank the bounded counts and note terms that may reflect duplicate, incomplete, or differently coded reports.
  3. 03State that spontaneous reports do not establish causality, incidence, or comparative safety and require qualified clinical review.

Dataset details

U.S. Food and Drug Administration is a government source. Last verified 2026-08-11. Temporal coverage: 2004-present.

Domains

PharmaceuticalsPublic Health

Data types

Event DataAggregated Data

Tasks

Safety Signal AnalysisTrend Analysis

Geography

Global

Formats

JSONZIP

Provider

U.S. Food and Drug Administration

Data terms

Creative Commons CC0 1.0 Universal, with noted third-party exceptions