@pipeworx/openfda

Connect: https://gateway.pipeworx.io/openfda/mcp · Install: one-click buttons

Tools: 17

The U.S. Food and Drug Administration’s open data platform. Adverse event reports (FAERS), drug approvals, drug labels, recalls, device reports, food recalls, tobacco enforcement. The official source for what’s been reported to or by the FDA. Free, no auth required (rate-limited).

Why this matters for AI agents

Drug-safety questions resolve here. Adverse event volumes, label changes, approval timelines, recall posture — all structured. For the full drug picture, pair with RxNorm (canonical IDs) and ClinicalTrials.gov (trials).

Common flows:

  • Adverse events for a drug. “Reports for Ozempic” → fda_drug_events({query: "ozempic"}) → individual safety reports + counts.
  • Bucket reactions. “Top reactions reported for Ozempic” → fda_event_counts({query: "ozempic", count_field: "patient.reaction.reactionmeddrapt.exact"}) → MedDRA-coded counts.
  • Approval history. “When was Ozempic approved and for what?” → fda_drug_approvals({query: "ozempic"}).
  • Recalls. “Any Ozempic recalls?” → fda_drug_recalls({query: "ozempic"}).
  • Label content. “What does the FDA label say about contraindications?” → fda_drug_labels({query: "ozempic"}).

Used by the pharma_drug_profile and pharma_safety_report compounds.

Auth

Public, no key required. Anonymous IP-based limit: ~240 requests/min, 1,000/day. With a free key from https://open.fda.gov/apis/authentication/, the daily limit lifts to 120,000. Pass via _apiKey.

Datasets

DatasetEndpoint familyCoverage
Drug adverse events (FAERS)fda_drug_events1968-present, ~20M+ reports
Drug approvalsfda_drug_approvals1939-present (NDA/BLA/ANDA)
Drug labelsfda_drug_labelsCurrent SPL labels
Drug recallsfda_drug_recallsClass I/II/III enforcement actions
Device adverse events(separate tools)MAUDE database
Food recalls(separate tools)FSIS + FDA recalls

Common pitfalls

  • Reports are not unique patients. A single hospitalization can produce multiple FAERS reports. The total field is reports, not adverse-event-suffering-individuals.
  • Causality not implied. A FAERS report links a drug to an event temporally; it does not prove the drug CAUSED the event. Use language carefully.
  • Brand vs generic naming. Searching “ozempic” finds Ozempic-tagged reports. Searching “semaglutide” finds reports for any semaglutide product. They can differ — the user’s intent determines which to search.
  • Query syntax is FDA’s, not ours. OpenFDA uses Lucene-style search with field-specific queries. Pipeworx tool descriptions show the syntax. Quotation marks matter.
  • Lag from event to report. FAERS reports lag the event by months — sometimes years. The “last 30 days” view is misleading; recent counts will keep growing as reports flow in.

Tools

  • fda_drug_events — Search adverse event reports for drugs by name, reaction type, or date range. Returns event counts, reaction types, seriousness levels, and dates.
  • fda_drug_approvals — Find FDA-approved drugs by brand name, active ingredient, or application number. To find generic versions of a drug, search by active ingredient using products.active_ingredients.name (NOT openfda.gen
  • fda_novel_approvals — Most recent novel drug approvals — the newest drugs approved by the FDA. Use for “what is the most recent novel drug the FDA approved”, “latest FDA drug approvals”, “recently approved new drugs or bio
  • fda_drug_labels — Get FDA drug labeling (SPL) by drug name OR by INDICATION. This is the tool for “what drugs are approved to treat ” — it searches the indications_and_usage text, which the drugsfda approval
  • fda_drug_recalls — Search FDA drug recalls and enforcement actions by drug name or reason. Returns recall classification, date, and enforcement status.
  • fda_drug_shortages — Search the FDA Drug Shortages database by generic or brand name, manufacturer, status, or an advanced openFDA query. Returns national supply records and available FDA dates; reason and other details a
  • fda_shortage_changes — FDA drug-shortage records ordered by update_date, newest first, then restricted to the requested look-back window. Use for recently updated, discontinued, or resolved national shortages; this does not
  • fda_complete_response_letters — Search FDA-disclosed Complete Response Letters for drug and biologic applications. Defaults to letter_type “COMPLETE RESPONSE”; optionally include other letter types in the same dataset. Returns the a
  • fda_crl_detail — Retrieve one FDA Complete Response Letter by application number and optionally letter date. Returns the FDA-disclosed letter text and document URL. Confidential commercial and trade-secret material ma
  • fda_food_recalls — Search FDA FOOD recall / enforcement reports (openFDA /food/enforcement) — product recalls, reasons, classification, recalling firm, distribution, and status. Use for food-safety / recall-history ques
  • fda_event_counts — Aggregate adverse events by reaction type, patient age, or outcome. Returns top reactions for a drug and event trends over time.
  • fda_warning_letters — Search FDA WARNING LETTERS — official enforcement letters FDA sends firms for violations (CGMP, adulterated/misbranded products, unapproved claims). Answers “FDA warning letters for ”, “recen
  • fda_faers_signal_summary — Calculate report-level FAERS disproportionality routing metrics for one drug/reaction pair using a 2×2 reporting table. ROR/PRR are screening statistics—not incidence, causality, comparative drug safe
  • fda_faers_reaction_profile — Summarize the most frequently co-reported FAERS reactions plus serious/non-serious report counts for a drug. Counts are spontaneous reports with duplicates, co-medications, and reporting bias—not even
  • fda_faers_trend — Aggregate daily FAERS report counts into calendar months for a drug and optional reaction over a bounded date window. Trends reflect reporting activity, publicity, utilization, duplicates, and databas
  • fda_application_history — Retrieve one Drugs@FDA NDA, ANDA, or BLA application and return its products and chronological submission-action history. Submission codes require regulatory interpretation and do not by themselves es
  • fda_postmarket_risk_profile — Combine a drug’s FAERS reporting profile, label warning fields, and FDA recall records for review routing. This is not a validated safety comparison, causal assessment, incidence estimate, or substitu

Tools

  • fda_application_history — Retrieve one Drugs@FDA NDA, ANDA, or BLA application and return its products and chronological submission-action history. Submission codes require regulatory interpretation and do not by themselves es
  • fda_complete_response_letters — Search FDA-disclosed Complete Response Letters for drug and biologic applications. Defaults to letter_type COMPLETE RESPONSE ; optionally include other letter types in the same dataset. Returns the ap
  • fda_crl_detail — Retrieve one FDA Complete Response Letter by application number and optionally letter date. Returns the FDA-disclosed letter text and document URL. Confidential commercial and trade-secret material ma
  • fda_drug_approvals — Find FDA-approved drugs by brand name, active ingredient, or application number. To find generic versions of a drug, search by active ingredient using products.active_ingredients.name (NOT openfda.gen
  • fda_drug_events — Search adverse event reports for drugs by name, reaction type, or date range. Returns event counts, reaction types, seriousness levels, and dates.
  • fda_drug_labels — Get FDA drug labeling (SPL) by drug name OR by INDICATION. This is the tool for what drugs are approved to treat <condition> — it searches the indications_and_usage text, which the drugsfda approvals
  • fda_drug_recalls — Search FDA drug recalls and enforcement actions by drug name or reason. Returns recall classification, date, and enforcement status.
  • fda_drug_shortages — Search the FDA Drug Shortages database by generic or brand name, manufacturer, status, or an advanced openFDA query. Returns national supply records and available FDA dates; reason and other details a
  • fda_event_counts — Aggregate adverse events by reaction type, patient age, or outcome. Returns top reactions for a drug and event trends over time.
  • fda_faers_reaction_profile — Summarize the most frequently co-reported FAERS reactions plus serious/non-serious report counts for a drug. Counts are spontaneous reports with duplicates, co-medications, and reporting bias—not even
  • fda_faers_signal_summary — Calculate report-level FAERS disproportionality routing metrics for one drug/reaction pair using a 2×2 reporting table. ROR/PRR are screening statistics—not incidence, causality, comparative drug safe
  • fda_faers_trend — Aggregate daily FAERS report counts into calendar months for a drug and optional reaction over a bounded date window. Trends reflect reporting activity, publicity, utilization, duplicates, and databas
  • fda_food_recalls — Search FDA FOOD recall / enforcement reports (openFDA /food/enforcement) — product recalls, reasons, classification, recalling firm, distribution, and status. Use for food-safety / recall-history ques
  • fda_novel_approvals — Most recent novel drug approvals — the newest drugs approved by the FDA. Use for what is the most recent novel drug the FDA approved , latest FDA drug approvals , recently approved new drugs or biolog
  • fda_postmarket_risk_profile — Combine a drug’s FAERS reporting profile, label warning fields, and FDA recall records for review routing. This is not a validated safety comparison, causal assessment, incidence estimate, or substitu
  • fda_shortage_changes — FDA drug-shortage records ordered by update_date, newest first, then restricted to the requested look-back window. Use for recently updated, discontinued, or resolved national shortages; this does not
  • fda_warning_letters — Search FDA WARNING LETTERS — official enforcement letters FDA sends firms for violations (CGMP, adulterated/misbranded products, unapproved claims). Answers FDA warning letters for <company> , recent

Regenerated from source · build August 8, 2026