FDA Approval Feed
Pricing
from $4.25 / 1,000 delivered fda identity/product observations
FDA Approval Feed
Collect bounded openFDA approval and recall observations by drug or company. Get sponsor, firm or product match basis, primary citations, confidence, gaps and review action. Only confirmed identity or product-field observations are paid; never an automated medical, safety or investment verdict.
Pricing
from $4.25 / 1,000 delivered fda identity/product observations
Rating
0.0
(0)
Developer
Tim Zinin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
FDA Drug Approval & Recall Evidence Feed
Turn bounded official openFDA searches into review-ready approval and recall observations with sponsor/product match basis, source links, confidence, explicit gaps, billing truth, and no invented change or medical verdict.
Built for: Pharma and biotech intelligence teams, regulatory researchers, portfolio operators, agencies, market analysts, procurement teams, and data teams that need structured FDA public-source evidence before qualified review.
Commercial unit: one delivered qualifying FDA observation whose query is confirmed in a company or product field. Live pricing contract: $0.005 per delivered result-found observation plus the configured start event (starting at $0.005). The live pricing panel is authoritative. Bounded no-match, nonqualifying, unrelated full-text, source-error, budget-withheld, and run-advisory rows are delivered free.

What this Actor sells
This Actor turns two official FDA public-data APIs into structured evidence rows that a human can review. It does not sell a medical conclusion, a trading signal, a company-risk score, or proof that an event is new to your workflow. The product value is the decision boundary: source response, event identity, sponsor or firm, product context, match basis, coverage limit, confidence, gaps, primary review pointer, billing state, and terminal run receipt stay attached. A query may be a drug, active ingredient, brand, sponsor, manufacturer, distributor, or company name. openFDA search is full text. The Actor therefore classifies whether the query appeared in a company field, a product field, or somewhere else. Qualifying company/product observations can be paid. Other-field records still ship for context but stay free because attribution is not strong enough to charge as confirmed.
Useful result in plain language
- Recent original-approval observations under one explicit ORIG/AP/180-day definition.
- Drug recall enforcement observations with firm, product, classification, reason, report date and status.
- Stable application, recall and event identifiers when FDA provides them.
- Company-field, product-field and unrelated full-text attribution kept separate.
- Source total and truncation evidence instead of pretending the first page is complete.
- Confidence about evidence quality kept separate from safety, efficacy, medical or commercial meaning.
- A conservative primary-record review action with
safeToAutomate=false. - Dataset observations plus KVS
OUTPUTfor paid, free, withheld, ambiguous, fatal and replay state.
Good fit
- Collecting bounded recent original-approval observations for named drugs or sponsors.
- Collecting FDA drug recall enforcement records for drug, product, manufacturer, or distributor research.
- Separating sponsor/firm matches, product-field matches, and unrelated full-text hits before billing.
- Feeding a human regulatory-intelligence queue with official evidence, limits, and delivery truth.
Not a fit
- Medical care, diagnosis, treatment, prescribing, product use, pharmacovigilance decisions, or safety/efficacy conclusions.
- Claiming a record is newly seen since the prior run; this Actor stores no comparison baseline.
- Complete FDA regulatory history, clinical-trial analysis, label interpretation, adverse-event causality, market availability, or legal advice.
- Automatic trading, investment, procurement, recall response, outreach, product, compliance, or legal action.
Evidence-to-review workflow

- Submit bounded drug or company strings and choose approvals, recalls, or both.
- Use an optional encrypted buyer API key only when the higher daily quota is needed.
- Construct HTTPS requests to fixed official openFDA drug endpoints.
- Validate HTTP status, JSON envelope, source-reported total and required record identity fields.
- For approvals, require a recent original fully approved ORIG/AP submission inside 180 days.
- For recalls, preserve recall number, event ID, firm, product, classification, reason, date and status.
- Classify query attribution as company-field, product-field, or fulltext-other-field.
- Attach stable identity, confidence, evidence link, freshness, gaps, interpretation boundary and human action.
- Deliver and bill only qualifying company/product observations; deliver other outcomes free.
- Read KVS
OUTPUT, reconcile terminal delivery and billing, then open current FDA records for review.
What “approval” means here
Drugs@FDA applications contain many submissions. A supplement can change a label, indication, strength, manufacturing site, or other aspect of a product already on the market. Tentative approval is not final approval. This Actor therefore uses a narrow deterministic event definition:
submission_typemust equalORIG— an original application, notSUPPL.submission_statusmust equalAP— fully approved, not tentative approvalTA.- The qualifying original-approval date must be within the fixed 180-day lookback at run time.
- The application must carry a valid source identity and pass response-shape validation.
An application returned by search that does not satisfy those conditions is a free
nonqualifying_search_observation, not an approval event. This is useful evidence about why the search hit was excluded. It is not proof the drug lacks approvals, because broad results are sorted and limited before qualification and older or different FDA actions remain outside this product definition.
What “recall” means here
The recall path uses the official openFDA drug enforcement endpoint, which represents publicly releasable FDA Recall Enterprise System reports. A row preserves the published enforcement record; it does not independently determine hazard, causality, current distribution, patient exposure, legal responsibility, completeness, or the action a buyer should take.
| Classification | General review posture | Actor boundary |
|---|---|---|
| Class I | Route to prompt qualified review of the current official record and affected product scope. | Not a medical instruction, automatic product action, or proof that a specific package/lot is affected. |
| Class II / III | Review current FDA record, distribution, status, product identity and business relevance. | Not a ranking of commercial impact or a substitute for regulatory/quality procedures. |
| Missing/changed | Treat as a source observation that needs current primary verification. | Never fill missing values with a guessed classification or status. |
Match basis and billing
matchBasis | Evidence established | Delivery and billing | Remaining gap |
|---|---|---|---|
company-field | Query token sequence appears in sponsor_name or recalling_firm. | Qualifying event is delivered through the paid result event. | Short/common names, affiliates, historical sponsors, distributors and similarly named entities can collide. |
product-field | Query token sequence appears in brand, generic, substance, active ingredient or recall product description. | Qualifying event is delivered through the paid result event. | Exact strength, formulation, package, lot, route, application and sponsor relationship still need review. |
fulltext-other-field | openFDA matched the query elsewhere in the record. | Real record is delivered free; it is not billed as confirmed attribution. | The query may occur in an address, reason, narrative or unrelated context. |
null | No source match or a source/advisory outcome. | Delivered free. | A zero or failure cannot become a clearance or medical conclusion. |
The same query can legitimately produce more than one basis. Preserve the basis per row. Do not collapse product-field into company ownership or company-field into unique legal identity. |
Input
Run from Apify Store, API, Task, schedule, webhook, n8n, Make, Zapier, or a standard Apify MCP integration. The public example uses bounded no-key access:
{"queries": ["metformin","Merck"],"dataset": "both","limit": 5,"maxConcurrency": 2}
Input fields
| Field | Safe use |
|---|---|
queries | One to twenty-five drug or company strings. Case-variant duplicates are processed once. Use precise brands, generics, active ingredients or full sponsor/firm names when possible. |
dataset | approvals, recalls, or both. Each selected source creates an independent bounded observation window. |
limit | One to fifty results per query per source. matched can be larger and truncated then remains true. A larger page increases evidence, not certainty. |
openFdaApiKey | Optional buyer-owned key for the higher documented daily quota. Store only through the encrypted secret editor. Never place it in public JSON, logs, Dataset, KVS, screenshots or support messages. |
maxConcurrency | One to eight queries. The total runtime is bounded to at most fifty source calls. Respect FDA service limits and never distribute requests to evade them. |
Official source and rights
openFDA is an FDA service that exposes public data in machine-readable formats. FDA states that use of openFDA data is generally unrestricted and, unless otherwise marked, content, data, documentation, code and related materials are public domain under CC0 1.0. Commercial copying and modification are allowed without asking permission. FDA requests attribution, and this Actor names the provider and preserves official review links.
The terms also warn that some third-party material may carry separate rights and that public-domain dedication does not affect patents, trademarks, privacy, publicity or other rights. This Actor uses Drugs@FDA and drug enforcement record fields, not GMDN device taxonomy. Do not imply FDA endorsement, reproduce a trademark as your own, or assume technical access removes privacy, product, medical, regulatory or downstream-use obligations.
openFDA documents no-key and keyed request allowances and may restrict access under its terms. The Actor stays within a bounded per-run shape and supports an optional encrypted buyer key. FDA explicitly warns not to rely on openFDA for medical-care decisions. That warning is carried into every result through the interpretation boundary and safeToAutomate=false.
Output stores
Dataset contains approval, recall, bounded no-match, nonqualifying search and advisory observations. KVS OUTPUT contains terminal status and reconciliation counts. Read OUTPUT before downstream processing. Dataset size alone cannot distinguish a complete no-match, truncated observation, budget stop, ambiguous delivery, source error, or failed run.
Core fields
| Field | Meaning |
|---|---|
sourceQuery / type | Exact submitted search string and approval or recall source family. |
recordType / schemaVersion | Approval, recall, bounded no-match, nonqualifying search observation, or advisory with additive semantics. |
entityId / observedAt | Stable query-plus-event row identity and point-in-time Actor observation time. |
found / matchBasis | Commercial qualification and whether the query appeared in company, product, or another full-text field. |
applicationNumber / latestSubmission | Drugs@FDA application identity and qualifying recent ORIG/AP date for an approval observation. |
brandName / genericName / sponsor | Published product and sponsor context; not independently resolved company identity. |
recallNumber / eventId | FDA recall enforcement identities retained for stable review and joins. |
firm / product / classification / status | Published recall context that must be checked against the current FDA record. |
reason / reportDate | Published reason and report date; not medical causality or present status by themselves. |
matched / truncated / partial | Source-reported total, bounded returned page, and explicit coverage limitation. |
confidenceScore / confidenceBand | Support for source and field attribution, not likelihood of safety, efficacy, commercial impact, wrongdoing, or loss. |
sourceEvidence / freshness | Official openFDA or Drugs@FDA review pointers and observation-time metadata. |
change | Explicitly unavailable; no prior compatible baseline is persisted or compared. |
dataGaps / negativeSignals | Source, identity, recency, truncation, interpretation, and failure boundaries. |
recommendedAction / actionPriority | Bounded human-review routing label, never a completed external action. |
failureType / retryable / failureDiagnostics | Machine-readable source and handling truth. |
billing | Paid only for delivered qualifying company-field or product-field observations; other rows are free. |
safeToAutomate | Always false for medical, investment, product, recall, procurement, compliance, legal, or outreach action. |
Field-by-field review guide
sourceQuery / type
Meaning: Exact submitted search string and approval or recall source family. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
recordType / schemaVersion
Meaning: Approval, recall, bounded no-match, nonqualifying search observation, or advisory with additive semantics. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
entityId / observedAt
Meaning: Stable query-plus-event row identity and point-in-time Actor observation time. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
found / matchBasis
Meaning: Commercial qualification and whether the query appeared in company, product, or another full-text field. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
applicationNumber / latestSubmission
Meaning: Drugs@FDA application identity and qualifying recent ORIG/AP date for an approval observation. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
brandName / genericName / sponsor
Meaning: Published product and sponsor context; not independently resolved company identity. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
recallNumber / eventId
Meaning: FDA recall enforcement identities retained for stable review and joins. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
firm / product / classification / status
Meaning: Published recall context that must be checked against the current FDA record. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
reason / reportDate
Meaning: Published reason and report date; not medical causality or present status by themselves. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
matched / truncated / partial
Meaning: Source-reported total, bounded returned page, and explicit coverage limitation. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
confidenceScore / confidenceBand
Meaning: Support for source and field attribution, not likelihood of safety, efficacy, commercial impact, wrongdoing, or loss. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
sourceEvidence / freshness
Meaning: Official openFDA or Drugs@FDA review pointers and observation-time metadata. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
change
Meaning: Explicitly unavailable; no prior compatible baseline is persisted or compared. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
dataGaps / negativeSignals
Meaning: Source, identity, recency, truncation, interpretation, and failure boundaries. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
recommendedAction / actionPriority
Meaning: Bounded human-review routing label, never a completed external action. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
failureType / retryable / failureDiagnostics
Meaning: Machine-readable source and handling truth. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
billing
Meaning: Paid only for delivered qualifying company-field or product-field observations; other rows are free. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
safeToAutomate
Meaning: Always false for medical, investment, product, recall, procurement, compliance, legal, or outreach action. Review rule: Keep query, source family, observation time, match basis, source link, truncation, gaps and delivery state together. Verify current FDA evidence before any medical, investment, product, recall, procurement, compliance, legal, outreach or other external action.
Billing and delivery integrity
This Actor uses PPE: $0.005 per delivered result-found observation plus the configured start event (starting at $0.005). The current pricing panel is authoritative. Billing follows evidence attribution, not mere full-text search.
- Validate pricing and require ordinary Dataset writes to remain free.
- Validate and deduplicate input before source calls.
- Build a source-classifiable row and attach decision semantics before delivery.
- Route no-match, nonqualifying, other-field and source-error rows through the free path.
- Serialize paid writes and check combined remaining event budget before delivery.
- Use linked push-plus-charge only for qualifying company/product field observations.
- Treat a push-plus-charge exception as ambiguous, set
replaySafe=false, and fail closed. - Persist final
OUTPUTwith requested, attempted, delivered, paid, local, free, withheld, source-failure, advisory and ambiguous counts. A free row is not useless: it can explain a bounded zero, a nonqualifying application, unrelated context, truncation or source failure. A paid row is not a verdict: it proves only the commercial observation contract.
API examples
Keep APIFY_TOKEN and optional openFdaApiKey in a secret manager.
cURL
curl -X POST \"https://api.apify.com/v2/acts/zinin~fda-approval-feed/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \--data-binary @public-task.json
JavaScript
import { ApifyClient } from 'apify-client';import input from './public-task.json' with { type: 'json' };const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('zinin/fda-approval-feed').call(input);const receipt = await client.keyValueStore(run.defaultKeyValueStoreId).getRecord('OUTPUT');if (!receipt?.value) throw new Error('Missing OUTPUT receipt');if (receipt.value.replaySafe === false) throw new Error('Manual reconciliation required');const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log({ receipt: receipt.value, observations: items });
Python
import jsonimport osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])with open('public-task.json', encoding='utf-8') as handle:actor_input = json.load(handle)run = client.actor('zinin/fda-approval-feed').call(run_input=actor_input)receipt = client.key_value_store(run['defaultKeyValueStoreId']).get_record('OUTPUT')if not receipt: raise RuntimeError('Missing OUTPUT receipt')rows = list(client.dataset(run['defaultDatasetId']).iterate_items())print({'receipt': receipt['value'], 'observations': rows})
Automation patterns
Regulatory-intelligence queue
Upsert by entityId only within the same semantic contract. Retain every observation time rather than overwriting history. Put current-record verification and analyst disposition in separate fields.
Schedules
A schedule repeats point-in-time searches. It does not make the Actor stateful. To claim first-seen or changed, build a separately reviewed compatible baseline using stable event IDs, source coverage, event dates and correction handling.
Agents
Agents may summarize cited records and prepare review questions. Require them to quote the match basis, source time, truncation, gaps and primary link. Block medical instructions, causality, safety/efficacy conclusions, investment recommendations and external action.
Webhooks and low-code
Wait for terminal completion, read KVS OUTPUT, branch on status, fatal/replay state, partial coverage and withholding, then fetch Dataset. Do not turn an empty or repeated result into “no FDA event” without checking the receipt.
Security and governance checklist
- Queries contain only necessary drug/company terms and no credentials or private patient data.
- Optional openFDA key is stored only as an encrypted secret.
- Result scope, limit and truncation are visible to the reviewer.
- Company-field and product-field meanings remain separate after export.
- Primary FDA evidence is opened for every material use.
- Medical, safety, efficacy, causality and investment conclusions remain outside the Actor.
- Dataset and KVS access, retention and correction paths are documented.
-
safeToAutomate=falsesurvives every warehouse, agent and low-code mapping. - Paid/free delivery reconciles with KVS
OUTPUTbefore retry or downstream action.
Honest limitations
- openFDA full-text search can match a query anywhere in a record.
matchBasisidentifies company-field, product-field, or other-field evidence but does not uniquely resolve a legal entity or exact product package. - Short company words and surnames can match unrelated sponsors or recalling firms; confirm the complete published name and business identity.
- Product-field matching can span brand, generic, active ingredient, substance, or recall description; verify formulation, strength, package, lot, application, and recall scope.
- Approval observations require a recent original submission with
submission_type=ORIGandsubmission_status=APinside a fixed 180-day lookback. Supplements, tentative approvals, older originals, and other FDA actions are outside this definition. - The source query is sorted and limited before the Actor applies its approval qualification, so a broad company query can return nonqualifying recent records while other relevant records remain beyond the bounded page.
- Recall enforcement records can be updated, reclassified, expanded, corrected, or terminated after observation. Current scope and status require primary review.
matchedcan exceed the configuredlimit;truncated=truemeans the returned page is not complete.- A zero match means one bounded openFDA query returned no source match at one time; it is not proof of no approval, recall, risk, compliance issue, safety concern, or product history.
- This Actor is point-in-time only. Repeated schedules do not automatically establish first-seen, new, changed, resolved, or unchanged events.
- openFDA data can lag upstream FDA activity and carries no warranty. Review the current official record for material use.
- openFDA warns not to rely on the service for medical-care decisions. This Actor adds no medical judgement.
- A successful process exit is insufficient for automation; reconcile KVS
OUTPUT, Dataset rows, paid/free counts, truncation, withholding, fatal state, and replay safety.
Troubleshooting
Drug query returned product-field
Expected when the drug, brand, generic, active ingredient, substance or recall product description contains the query. Verify the exact product and event scope in the current official record.
Company query returned another firm
Inspect matchBasis. An other-field result is free and unconfirmed. Even company-field can collide on short words or affiliates; compare the full published sponsor/firm and legal identity.
Approvals returned nonqualifying rows
The source search matched, but no returned application satisfied ORIG/AP within 180 days. Increase the bounded page only if justified; do not relabel a supplement or old original as a new approval.
Every row says truncated
The source total exceeds your per-source limit. Increase the limit up to fifty or narrow the query. Truncation is incomplete coverage, not an error that can be ignored.
OUTPUT is PARTIAL
Inspect truncation, source failures, budget stop and withheld counts. Partial is an explicit constraint on downstream interpretation.
replaySafe is false
Do not retry automatically. Reconcile the original Dataset and PPE events because a linked delivery exception can leave delivery state ambiguous.
FAQ
Is every row a new FDA event?
No. An approval observation satisfies this Actor's recent ORIG/AP definition. A recall row is a current bounded enforcement-record observation. Neither means first seen since your prior run because the Actor stores no baseline.
What does product-field mean?
The query appears in an explicit product identity, active-ingredient, substance, brand/generic, or recall product-description field. It supports attribution to the product context, not exact package, lot, formulation, sponsor ownership, or medical interpretation.
What does company-field mean?
The query appears in sponsor_name or recalling_firm. It is stronger than an unrelated full-text hit but can still collide on a short word, common surname, affiliate, historical sponsor, distributor, or similarly named company.
Why are other full-text hits free?
They can be real FDA records but the query was not confirmed in a company or product field. The Actor delivers the evidence and limitation without charging as if attribution were proven.
Does no match mean the drug is safe or the company is clear?
No. It records only a bounded zero result for one exact search, source, limit, and time.
Can I use this for investment alerts?
Use it only as one cited research input with human verification. The output does not establish novelty, materiality, market availability, clinical value, causality, commercial impact, price direction, or investment suitability.
Do I need an API key?
No for this bounded run shape under the documented no-key limits. An optional encrypted buyer key is supported for the higher documented daily quota and is never persisted or logged.
Can I schedule it?
Yes, but store each row and observation time yourself and compare only compatible scope. Do not label a repeated or missing row as new, changed, resolved, or unchanged without a separately reviewed baseline policy.
What is billed?
Only a delivered qualifying approval or recall observation with matchBasis equal to company-field or product-field. No-match, nonqualifying, unrelated full-text, source-error, withheld, and run-advisory rows are free.
What should I retain for audit?
Keep sanitized input, source family, query, limit, run and Dataset IDs, KVS OUTPUT, raw source fields, primary link, observation time, gaps, reviewer disposition, and correction/retention policy.
Support
Provide run ID, Actor version, sanitized query, source family, limit, Dataset count, KVS OUTPUT, match basis, record identity and whether the issue is source, qualification, truncation, billing, withholding or reconciliation. Never send an API key, patient record, private medical information or signed storage URL.
FDA Drug Approval & Recall Evidence Feed is intentionally conservative: it sells attributable FDA public-source observations and an auditable route to human review, not an unsupported medical or market conclusion.