GnistAI GnistAI
Log in

OpenFDA

FDA data — drug adverse events, product recalls, and medical device reports.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 5 tools tools 5 5 type: api wrapper type type api wrapper api wrapper lifecycle: maintained lifecycle lifecycle maintained maintained Science

Data source: openFDA

REST Bridge Endpoint https://context.gnist.ai/rest/openfda/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (5)

search_adverse_events

Search FDA adverse event reports (FAERS) for a drug or active ingredient.

Args:
drug_name: Drug name — brand (e.g. "Tylenol") or generic (e.g. "acetaminophen").
reaction: Optional MedDRA reaction term to filter by (e.g. "headache", "nausea").
date_from: Start date filter in YYYYMMDD format (e.g. "20200101").
date_to: End date filter in YYYYMMDD format (e.g. "20221231").
limit: Number of reports to return (1–100, default 10).

Returns:
Dictionary with count and adverse event reports (drug name, reactions, seriousness,
outcome codes). Data sourced from FDA FAERS, updated quarterly.

ParameterTypeRequiredDescription
drug_namestringrequiredDrug name — brand (e.g. "Tylenol") or generic (e.g. "acetaminophen").
reactionanyoptionalOptional MedDRA reaction term to filter by (e.g. "headache", "nausea").
date_fromanyoptionalStart date filter in YYYYMMDD format (e.g. "20200101").
date_toanyoptionalEnd date filter in YYYYMMDD format (e.g. "20221231").
limitintegeroptionalNumber of reports to return (1–100, default 10). (default: 10)
Request Body
{
  "drug_name": "example"
}
get_drug_label

Fetch FDA-approved drug label for a medication.

Returns the full label content including indications, contraindications,
warnings, dosage instructions, and known adverse reactions.

Args:
drug_name: Brand name (e.g. "Advil") or generic name (e.g. "ibuprofen").

Returns:
Drug label sections from the FDA SPL database. Text fields truncated at 2,000 chars.
Returns found=false if no label found.

ParameterTypeRequiredDescription
drug_namestringrequiredBrand name (e.g. "Advil") or generic name (e.g. "ibuprofen").
Request Body
{
  "drug_name": "example"
}
search_enforcement

Search FDA enforcement actions — recalls, market withdrawals, and safety alerts.

Args:
product_type: Product category — "drug", "food", or "device" (default "drug").
date_from: Start date of recall initiation in YYYYMMDD format.
date_to: End date of recall initiation in YYYYMMDD format.
classification: Recall classification — "Class I" (most serious), "Class II", or "Class III".
limit: Number of actions to return (1–100, default 10).

Returns:
Dictionary with count and enforcement actions (recall number, reason, classification,
recalling firm). Class I = most serious (risk of serious adverse health consequences).

ParameterTypeRequiredDescription
product_typestringoptionalProduct category — "drug", "food", or "device" (default "drug"). (default: "drug")
date_fromanyoptionalStart date of recall initiation in YYYYMMDD format.
date_toanyoptionalEnd date of recall initiation in YYYYMMDD format.
classificationanyoptionalRecall classification — "Class I" (most serious), "Class II", or "Class III".
limitintegeroptionalNumber of actions to return (1–100, default 10). (default: 10)
Request Body
{
  "query": "example"
}
device_adverse_events

Search FDA medical device adverse event reports (MAUDE database).

Args:
device_name: Device brand name (e.g. "pacemaker", "insulin pump", "hip implant").
event_type: Filter by event type — "Malfunction", "Injury", "Death",
or "No apparent adverse event".
date_from: Start date filter in YYYYMMDD format.
date_to: End date filter in YYYYMMDD format.
limit: Number of reports to return (1–100, default 10).

Returns:
Dictionary with count and device adverse event reports (device name, manufacturer,
event type, narrative description). Sourced from MAUDE database.

ParameterTypeRequiredDescription
device_namestringrequiredDevice brand name (e.g. "pacemaker", "insulin pump", "hip implant").
event_typeanyoptionalFilter by event type — "Malfunction", "Injury", "Death", or "No apparent adverse event".
date_fromanyoptionalStart date filter in YYYYMMDD format.
date_toanyoptionalEnd date filter in YYYYMMDD format.
limitintegeroptionalNumber of reports to return (1–100, default 10). (default: 10)
Request Body
{
  "device_name": "example"
}
report_feedback

Report a bug, feature request, or general feedback for this data source.

Use this when something doesn't work as expected, when you'd like
a new feature, or when you have suggestions for improvement.

Args:
feedback: Describe the issue or suggestion.
feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: "general")
Request Body
{
  "feedback": "example"
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/rest/openfda/search_adverse_events" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"drug_name": "example"}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/rest/openfda/search_adverse_events",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={
  "drug_name": "example"
},
)
print(resp.json())

Related Toolkits (Science)

Resources