FDA Intelligence — Approvals, Recalls & Adverse Events (AI) avatar

FDA Intelligence — Approvals, Recalls & Adverse Events (AI)

Pricing

$150.00 / 1,000 query analyzeds

Go to Apify Store
FDA Intelligence — Approvals, Recalls & Adverse Events (AI)

FDA Intelligence — Approvals, Recalls & Adverse Events (AI)

Search FDA data via openFDA: drug approvals, recalls/enforcement and adverse-event signals for any drug or company — with an AI summary of the regulatory and safety picture. For pharma, health, regulatory and investors.

Pricing

$150.00 / 1,000 query analyzeds

Rating

0.0

(0)

Developer

Fredrik Hansson

Fredrik Hansson

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Categories

Share

Type a drug or a company. Get its FDA regulatory and safety picture in one pass. This Actor searches the official openFDA drug API for any brand name, generic name or manufacturer — pulling recalls/enforcement actions, a representative drug label (approval and usage info), and adverse-event signals — then uses OpenAI to write a grounded regulatory + safety summary with a single safety signal you can scan at a glance.

You bring the names. It hands back the paper trail plus a plain-English read on it.

This is not medical advice. Adverse-event reports are not proof of causation — a report means someone filed it, not that the drug caused the effect. Treat every signal here as a lead to investigate, not a conclusion.


The flow

"Ozempic", "Pfizer", openFDA drug API recalls + labels + adverse AI summary
"semaglutide", ... → (enforcement/label/ → events, aggregated per → safety signal +
event endpoints) query regulatory read
  1. Give drug or company names in queries — brand names (Ozempic, Tylenol), generics (semaglutide, acetaminophen) or firms (Pfizer).
  2. The Actor queries openFDA across the datasets you pick: recalls (enforcement), drug labels, and adverse events (FAERS). openFDA is the FDA's own public API — free, no key required.
  3. Everything is aggregated per query — recall count, worst recall classification, adverse-event total, top reported reactions, manufacturers.
  4. OpenAI summarizes the gathered data into a safety signal and a short regulatory read — grounded only in what openFDA returned.

What you get per query

For every drug or company, the Actor produces:

  1. Recall records — one per recall found: recallingFirm, reasonForRecall, classification (Class I / II / III), status, recallInitiationDate, productDescription.
  2. A representative drug label — indicationsAndUsage, warnings, manufacturerName, effectiveTime, route (approval and usage info pulled from the FDA label).
  3. An adverse-event signal — the total number of adverse-event reports (from meta.results.total) and a sample of the most-reported reactions.
  4. A per-query summary record with the headline numbers plus the AI layer (OpenAI gpt-4o-mini):
    • safetySignal — low · moderate · elevated · unclear, reflecting the severity/volume of recalls and adverse-event reports in the data.
    • regulatorySummary — 2–3 sentences on the regulatory and safety picture.
    • keyRecalls — the most serious recalls (reason, classification, date).
    • commonAdverseReactions — the reactions seen most in the reports.
    • approvalInfo — one sentence drawn from the label, if present.
    • caveat — a required disclaimer that adverse-event reports are not proof of causation and this is not medical advice.

Every field is grounded only in the openFDA data — nothing is invented. When a dataset returns nothing (openFDA's "No matches found"), that part is simply empty and the summary is built from what's available.


Three ways people use it

  • Pharma & drug-safety monitoring (pharmacovigilance) — track drug recalls, enforcement classifications and adverse events for your own products or your competitors', with the openFDA API data aggregated and a safety read on top. Watch a portfolio of brand and generic names in one run.
  • Regulatory due diligence — for a deal, a supplier or a formulary decision, pull FDA approvals, label warnings and the recall history for a drug or a manufacturer in seconds, with the source records attached.
  • Health & investor research — size up a drug or a pharma company fast: is there a pattern of Class I recalls? A spike in adverse-event reports? A clean label? The summary and safety signal make a long list of names triageable.

Keywords: openFDA API, drug recalls, adverse events, FDA approvals, pharmacovigilance, drug safety, enforcement reports, FAERS, drug labels.


Input

FieldTypeNotes
queriesarrayRequired. Drug brand/generic names or companies, one per line (Ozempic, Pfizer, semaglutide).
datasetsarrayWhich openFDA endpoints to pull: enforcement (recalls), label (approval/usage info), event (adverse events). Default all three.
maxPerDatasetintegerRecords to pull per dataset per query. Default 10.
maxResultsintegerCap how many queries to analyze. Default 100.
maxConcurrencyintegerQueries in parallel. Default 2 (openFDA rate-limits).
modelstringOpenAI model override. Default gpt-4o-mini.

Minimal input example

{
"queries": ["Ozempic", "Tylenol"],
"datasets": ["enforcement", "label", "event"],
"maxPerDataset": 10
}

Output example

A per-query summary record:

{
"query": "Tylenol",
"recordType": "summary",
"recallCount": 3,
"adverseEventTotal": 48213,
"worstClassification": "Class II",
"topReactions": ["Drug ineffective", "Nausea", "Hepatic failure", "Overdose"],
"manufacturers": ["Johnson & Johnson", "McNeil Consumer Healthcare"],
"safetySignal": "moderate",
"keyRecalls": [
{ "reason": "Musty/moldy odor from trace chemical", "classification": "Class II", "date": "2010-06-18" }
],
"commonAdverseReactions": ["Hepatic failure", "Overdose", "Nausea"],
"approvalInfo": "Acetaminophen is labeled for the temporary relief of minor aches, pains and fever.",
"regulatorySummary": "Tylenol (acetaminophen) is a long-marketed OTC analgesic with a well-characterised label. The recall history is limited to lower-severity Class II actions, while adverse-event reports are high in absolute terms, as expected for a very widely used drug.",
"caveat": "Adverse-event reports do not prove the drug caused the effect, and this is not medical advice."
}

Plus one recall record per recall, one label record, and one adverse-summary record per query.


Pay-per-event pricing

This Actor uses pay-per-event billing with a single event:

EventCharged whenPrice
query-analyzedOnce per drug or company searched across openFDA (recalls, labels, adverse events) and summarized with AI.$0.15

The Actor logs its OpenAI token usage and the estimated AI cost at the end of every run, so the event price stays safely above the model cost.


Data source

All regulatory data comes from the official openFDA drug API — the FDA's own public, free interface to enforcement (recall), drug label and adverse-event (FAERS) data. No API key is required. An optional OPENFDA_API_KEY environment variable raises openFDA's rate limits; without it the Actor paces its requests to stay within the public limits (~240 requests/minute, 1000/day).

openFDA's own caveat applies: adverse-event reports are submitted by consumers, clinicians and manufacturers and are not verified — they do not establish that a drug caused a reaction, and the data should not be used alone to draw conclusions about safety.


Setup

The AI summary calls the OpenAI API. Set the environment variable / secret OPENAI_API_KEY on the Actor. Optionally set OPENFDA_API_KEY for higher openFDA rate limits.


Use it from an AI agent (Apify MCP server)

This Actor is available through the Apify MCP server, so AI agents (Claude, ChatGPT, or anything that speaks MCP) can call it as a tool — hand it a list of drug or company names and read back the recalls, labels, adverse-event signals and AI summary — with no custom integration code.


Run it locally

npm install
# put your input in storage/key_value_stores/default/INPUT.json
export OPENAI_API_KEY=sk-...
apify run -p


Part of the No Niner toolkit — no-code web scraping, enrichment & AI data tools, all pay-per-use. Browse the full set at noniner.io.