FDA Approval Feed
Pricing
from $5.00 / 1,000 approval founds
FDA Approval Feed
Watch drugs or companies for new FDA approvals and recalls. Official openFDA data, free, no API key or login. Get application status, sponsor, latest submission and recall details for every match.
Pricing
from $5.00 / 1,000 approval founds
Rating
0.0
(0)
Developer
Tim Zinin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
FDA Approval Feed — New Drug Approvals & Recalls by Drug or Company
Point this Actor at a list of drug or company names and get back a live feed of confirmed new FDA drug approvals and product recalls — sponsor, approval date, recall classification and a direct Drugs@FDA link. Every field comes from official openFDA data: no scraping, no API key, no login.
What you get
- A verdict, not a guess. An "approval" here means the drug's original application got FDA approval within the last 180 days — not any dated entry that happens to say "approved" somewhere in its history. See "Why 'approval' is stricter than it looks" below.
- Recalls too. Every matching enforcement action — firm, product, reason, classification (Class I/II/III) and current status.
- Two datasets, one call. Checks openFDA's Drugs@FDA (
drugsfda) for approvals and its Enforcement database for recalls — pick one or both per run. - Up to 25 names per run, concurrency up to 8.
- Runs on Apify: schedule it, monitor it, call it from the API or the MCP server, export to JSON, CSV or Excel, or push results straight into your own pipeline.
Why it matters
Tracking new drug approvals and recalls for a watchlist of drugs or competitors today means manually polling drugs.fda.gov and accessdata.fda.gov by hand, or paying for a regulatory-intelligence SaaS seat. Most of that data is already free and public via openFDA — it just isn't shaped as a feed.
Why "approval" is stricter than it looks
A drug or company name can rack up dozens of FDA submissions over the years — new dosage forms, label changes, manufacturing-site updates — and most of them are marked "approved" in openFDA's own records. None of that is news to someone watching for new drugs reaching the market. So this Actor only calls something an approval when the underlying submission is:
- the drug's original application (
submission_type: ORIG— notSUPPL, a supplement to an already-marketed drug), and - fully approved (
submission_status: AP— notTA, tentative approval, which means the FDA signed off on the science but the drug still isn't on the market, usually pending patent litigation), and - recent — approved within the last 180 days.
An application that matched your query but fails any of those three tests comes back as its own row with found: false and a plain-English reason, e.g. "no original approval in the last 180 days; most recent submission on file is SUPPL/AP on 2026-04-06." That row is not a bug — it means the drug you searched for has history on file, just nothing this feed calls a new approval, and it is not charged for. Search Pfizer and you will see mostly found: false rows for exactly this reason: a large company's catalog is almost entirely old, already-approved drugs getting routine supplements, not new approvals. Earlier versions of this Actor counted those as approvals — that was wrong, and it no longer does.
How to run it
- Click Try for free — no card needed on the free plan.
- Paste drug or company names into Queries, one per line.
- Choose Dataset — approvals only, recalls only, or both (default).
- Press Start. Results appear in the dataset — read them in the UI, pull them from the API, or have a webhook push them onward.
Pricing
Pay-per-event: $0.005 per run start + $0.005 per result found. No monthly seat, no minimum. 100 results cost about $0.51; 1,000 about $5.01.
Nothing is charged for a row you can't use: found: false rows — no match, a lookup error, or an application that doesn't clear the approval bar above — are returned for transparency but never billed.
Input
| Field | Required | What it does |
|---|---|---|
queries | yes | Drug or company names to watch, e.g. pembrolizumab, Pfizer, semaglutide. Up to 25 per run. |
dataset | no | approvals, recalls, or both (default). |
limit | no | Max results per query, per source (1–50, default 10). |
maxConcurrency | no | Parallelism (1–8, default 3). openFDA's unauthenticated rate limit is 40 req/min. |
{"queries": ["pembrolizumab", "semaglutide", "Pfizer"]}
Output
One row per matched application or recall event, per query. This is a real row from a real run:
{"sourceQuery": "pembrolizumab","found": true,"type": "recall","product": "PEMBROLIZUMAB 200 MG / 100 ML NS IVPB, Rx Only, Infusion Options, Inc. 5924 13the Ave, Brooklyn, NY 11219-4934, 718-283-7233","reason": "Lack of Assurance of Sterility","classification": "Class II","firm": "Infusion Options, Inc.","reportDate": "2019-08-21","status": "Terminated","summary": "Infusion Options, Inc. recall (Class II) — PEMBROLIZUMAB 200 MG / 100 ML NS IVPB, Rx Only, Infusion Options, Inc. 5924 13the Ave, Brooklyn, NY 11219-4934, 718-283-7233 — Lack of Assurance of Sterility.","checkedAt": "2026-07-26T13:58:04.917Z"}
An approval row and a recall row share the same envelope but different fields:
| Field | What it means |
|---|---|
type | approval or recall |
found | false = no qualifying event: no match, a lookup error, or (approvals only) nothing clears the ORIG / AP / 180-day bar |
latestSubmission (approval rows) | {type: "ORIG", status: "AP", date} — always the qualifying submission, never a supplement or a tentative approval |
classification (recall rows) | FDA recall class: I (most serious) to III |
summary | Human-readable one-liner |
found: false approval rows still say what is on file, e.g. "KEYTRUDA (BLA125514) — no original approval in the last 180 days; most recent submission on file is SUPPL/AP on 2026-04-06." — so a Pfizer search returning mostly found: false rows means exactly what it says: old drugs, routine supplements, nothing new to report.
Need the rest of the picture?
These run on the same account, take the same shape of input and bill the same way, so they slot into an existing pipeline without new plumbing.
| Actor | What it does |
|---|---|
| Clinical Trials Monitor | Watch conditions, drugs or sponsors for new and updated clinical trials |
| AI Crawler Access Checker | Check which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended & more) can access your website |
| B2B Lead Enricher | Turn a list of company websites into sales-qualified lead cards: detected tech stack, a rough revenue… |
| Company Hiring Radar | Pull every open role a company is hiring for from its public job board (Greenhouse, Lever, Ashby) and turn… |
| Company Profile Lookup | Turn a domain or company name into one unified company card: website tech stack (CMS, ecommerce, key tech)… |
FAQ
Does it need an API key or login? No — openFDA's public endpoints are keyless; this Actor uses no credentials.
How fresh is the data? As fresh as openFDA itself — updated on the FDA's own publishing schedule, typically within days of an approval or recall being posted.
Why did my company search come back mostly found: false? Because most of what a large pharma company has on file is old drugs getting routine label or manufacturing updates, not new approvals — see "Why 'approval' is stricter than it looks" above. That's the filter working, not a broken query.
Why do I get more than one row per query? A name can match several applications (different dosage forms) or several recall events. Each match is its own row so nothing gets silently merged.
Can I call it from an AI agent? Yes — it's a standard Apify Actor, callable via the Apify API or the Apify MCP server.
What this is NOT. It does not report tentative approvals, supplements to already-marketed drugs, or old applications as "new" — see above. It does not evaluate drug safety or efficacy, and it does not replace a subscription regulatory-intelligence service for legal or clinical decisions.
This Actor surfaces public FDA data (openFDA) for monitoring and research. It is not medical advice. openFDA's own terms are explicit that its data must not be used to make medical decisions — consult a healthcare professional and the FDA's own record for any decision about a specific drug.
Found a wrong result, or need a check we don't run? Open an issue on this Actor's page.