get_drug_adverse_events
Returns FDA FAERS drug adverse-event reports — every adverse-event / medication-error report submitted to FDA (~20M, 2004→present, growing ~2M/yr). LIVE passthrough to openFDA: results reflect FDA's current data and total_count is openFDA's authoritative count for the filtered query (the results array is just the requested page). Use this when the user asks about: safety signals on a drug, adverse events by reaction type, death/hospitalization outcome counts for a product, a manufacturer's adverse-event footprint, or to pair a safety-signal trend with recalls, approvals, or insider activity. count_by returns TOP TERMS + COUNTS instead of records (e.g. count_by:'reaction' with drug:'ozempic' → the most-reported reactions for that drug) — the right first move for 'what are the side effects of X' questions; follow with a record query for detail. Records are openFDA's fields verbatim: deeply nested (patient.drug[] with openFDA annotations, patient.reaction[]), 5-15KB each — keep limit small. Matching: drug matches brand name, generic name, or the verbatim reported product as a PHRASE ('ozempic', 'semaglutide'); reaction is a MedDRA term phrase ('myocardial infarction'); serious=true filters to reports with a serious outcome; outcome picks one specific flag (death, hospitalization, …). since/until window on receivedate (when FDA received the report). CRITICAL honesty note (FDA's own): FAERS reports are UNVERIFIED and establish NEITHER causation NOR incidence — anyone can report, duplicates exist, reporting is stimulated by publicity, and there is no denominator (prescriptions dispensed). Counts are a reporting signal, not a risk measure. Surface this caveat when presenting counts. Pure-publisher posture: FDA's records as published, parsed by KeyVex — no derived safety scores.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| drug | No | Drug name phrase — brand ('ozempic'), generic ('semaglutide'), or reported product name. | |
| skip | No | Pagination offset (openFDA hard cap 25,000). Not used in count_by mode. | |
| limit | No | Records per page (default 10, max 100 — records are heavy). In count_by mode: facet rows (default 25, max 1000). | |
| since | No | FDA receive-date lower bound (YYYY-MM-DD inclusive). | |
| until | No | FDA receive-date upper bound (YYYY-MM-DD inclusive). | |
| country | No | Country where the event occurred (ISO-2, e.g. 'US'). | |
| outcome | No | One specific seriousness outcome flag. | |
| serious | No | true = serious reports only (death, hospitalization, disability, …); false = non-serious only. | |
| count_by | No | Facet mode: return top terms + counts instead of records (reaction | drug | brand | manufacturer | country). | |
| reaction | No | MedDRA reaction term phrase (e.g., 'pancreatitis', 'myocardial infarction'). | |
| manufacturer | No | Manufacturer name phrase (openFDA annotation, e.g. 'novo nordisk'). |