FDA Recall Monitor — Drug, Device & Food Alerts avatar

FDA Recall Monitor — Drug, Device & Food Alerts

Pricing

Pay per usage

Go to Apify Store
FDA Recall Monitor — Drug, Device & Food Alerts

FDA Recall Monitor — Drug, Device & Food Alerts

Monitor FDA drug, device, and food recalls from the official openFDA API. Filter by keyword, firm, recall class (I/II/III), status, or date range. Alert mode outputs only new recalls since your last run, so you can schedule daily or weekly compliance and safety alerts.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Bikram

Bikram

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

FDA Recall Monitor — Drug, Device & Food Recall Alerts

Monitor FDA drug, device, and food recalls from the official openFDA API and get clean, structured recall records you can analyze, alert on, or pipe into a compliance database. Filter by product keyword, recalling firm, recall class (I/II/III), status, and date range. Turn on alert mode to output only recalls that are new since your last run, and schedule it daily or weekly to build a hands-off FDA recall monitoring pipeline.

What it does

The U.S. FDA publishes its enforcement actions (recalls) for drugs, medical devices, and food through the public openFDA enforcement API. This Actor queries those official endpoints, normalizes every record into a consistent schema, and writes the matching recalls to your dataset — ready for export to JSON, CSV, or Excel, or for use by an AI agent over MCP.

It is built for repeatable monitoring, not a one-off lookup: pick your filters once, enable alert mode, schedule it, and each run surfaces only the recalls you haven't seen before.

How it works

  1. You set your filters: product types (drug, device, food), keywords, firm, classification, status, and/or date range.
  2. The Actor calls the matching official openFDA enforcement endpoint(s) for each product type you selected.
  3. It paginates through the results (newest recall-initiation date first) up to your maxRecords limit.
  4. Each raw FDA record is normalized into a clean, flat output object.
  5. In alert mode, recalls already output on a previous run (for the same filter set) are skipped, so you only ever see new recalls.
  6. Matching recalls are written to your dataset. If nothing new is found, the run writes nothing.

Input

All fields are optional. With no input it returns the most recent drug recalls.

FieldTypeDescription
productTypesarrayWhich FDA categories to include: drug, device, food. Defaults to ["drug"].
keywordsarrayOnly include recalls whose product description or reason for recall contains at least one of these terms. Example: insulin, contamination.
firmstringFilter by recalling company name (partial match). Example: Pfizer.
classificationarrayFDA recall severity: Class I (most severe), Class II, Class III.
statusstringRecall status: Ongoing, Completed, or Terminated.
dateFromstringStart of the recall-initiation date range. Format: YYYYMMDD.
dateTostringEnd of the recall-initiation date range. Format: YYYYMMDD. Defaults to today.
maxRecordsintegerMaximum total records to output across all product types. Default 200.
alertModebooleanWhen true, output only recalls not seen on a previous run for the same filters. Default false.

Example — all Class I drug recalls in 2026:

{
"productTypes": ["drug"],
"classification": ["Class I"],
"dateFrom": "20260101",
"maxRecords": 500
}

Example — monitor insulin recalls with weekly alerts:

{
"productTypes": ["drug", "device"],
"keywords": ["insulin"],
"alertMode": true,
"maxRecords": 100
}

Example — all recalls from a specific firm:

{
"productTypes": ["drug", "device", "food"],
"firm": "Abbott",
"maxRecords": 200
}

Output fields

Each recall becomes one dataset item with the following fields (drug-specific fields come from the openFDA drug database and may be empty for device/food recalls):

FieldDescription
recallNumberFDA recall number (e.g. D-0353-2026).
eventIdFDA enforcement event ID.
productTypedrug, device, or food.
statusOngoing, Completed, or Terminated.
classificationRecall class: Class I, Class II, or Class III.
voluntaryMandatedWhether the recall was firm-initiated or FDA-mandated.
recallingFirmCompany conducting the recall.
city / state / country / postalCodeFirm location.
addressFirm street address (when provided).
productDescriptionDescription of the recalled product.
productQuantityQuantity in distribution.
codeInfoLot numbers, expiry dates, and other identifying codes.
reasonForRecallWhy the product was recalled.
distributionPatternGeographic distribution (e.g. Nationwide).
initialFirmNotificationHow the firm first notified customers.
recallInitiationDateDate the recall began (YYYY-MM-DD).
centerClassificationDateDate FDA classified the recall.
terminationDateDate the recall was terminated (if any).
reportDateDate the recall was reported.
brandNames / genericNames / substanceNamesDrug naming fields (from openFDA).
manufacturerNames / applicationNumbers / ndcDrug manufacturer, FDA application number, and NDC package codes (from openFDA).
scrapedAtISO timestamp of when the record was written.

Sample item:

{
"recallNumber": "D-0353-2026",
"eventId": "90875",
"productType": "drug",
"status": "Ongoing",
"classification": "Class I",
"voluntaryMandated": "Voluntary: Firm initiated",
"recallingFirm": "Civica, Inc.",
"city": "Lehi",
"state": "UT",
"country": "US",
"productDescription": "Sodium Chloride Injection, USP, 0.9%, 100mL",
"productQuantity": "72,000 units",
"reasonForRecall": "Particulate matter identified as glass",
"distributionPattern": "Nationwide",
"recallInitiationDate": "2026-01-16",
"reportDate": "2026-01-22",
"brandNames": ["Sodium Chloride Injection"],
"genericNames": ["sodium chloride"],
"ndc": ["0409-7984-11"],
"scrapedAt": "2026-06-14T04:30:00.000Z"
}

Use cases

  • Pharma & medtech compliance teams — monitor recalls for your own products, competitors, or API/component suppliers and feed them into your quality system.
  • Hospital & clinic procurement — get alerted when a recalled drug or device matches items on your formulary or inventory.
  • Insurance & underwriting — track Class I recalls for product-liability risk assessment.
  • Legal & due-diligence teams — research a firm's recall history before a deal or case.
  • Healthcare & supply-chain software — embed a live recall feed into a pharmacy, EHR, or device-management product.

Setting up recall alerts

  1. Set alertMode: true plus your filters (product type, keywords, classification).
  2. Create an Apify Schedule — daily catches new recalls within ~24 hours; weekly is common for compliance reviews.
  3. Add a webhook to push new recalls to email, Slack, Teams, or your own system.
  4. Each scheduled run outputs only recalls that appeared since the previous run for that filter set.

Classification guide

ClassSeverityExample
Class IMost severe — reasonable probability of serious adverse health consequences or deathContaminated injectable, wrong medication in package
Class IIMay cause temporary or reversible adverse health effectsLabeling error, mislabeled dosage
Class IIIUnlikely to cause adverse health effectsMinor packaging defect

Pricing

$1 per 1,000 recall records — pay-per-event, billed at $0.001 per recall record written to your dataset. There is no subscription and no monthly minimum; you pay only for the records a run actually outputs.

EventPriceCharged when
fda-recall$0.001One recall record is written to the dataset

In alert mode, recalls you've already seen are skipped before any charge, so a run that finds no new recalls costs nothing.

Use from Claude, Cursor & AI agents (MCP)

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/sse?actors=bikram07/fda-recall-monitor",
"headers": {
"Authorization": "Bearer YOUR_APIFY_TOKEN"
}
}
}
}

Ask your agent: "Were there any Class I drug recalls in the last 30 days involving contamination?"

Or call the API directly:

curl -X POST "https://api.apify.com/v2/acts/bikram07~fda-recall-monitor/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"productTypes": ["drug"], "classification": ["Class I"], "dateFrom": "20260101"}'

FAQ

Is this a subscription? No. Pricing is pay-per-event at $0.001 per recall record ($1 per 1,000). You're billed only for the records a run outputs — there's no monthly fee and no minimum.

How does the pricing / billing work? Each recall written to your dataset triggers one fda-recall event at $0.001. A run that returns 500 recalls costs $0.50. In alert mode, already-seen recalls are filtered out before charging, so a run with no new recalls costs nothing. Charges run through Apify's standard usage billing, so refunds and disputes are handled by Apify support per their terms.

Does it use official FDA APIs? Yes. It pulls directly from the official openFDA enforcement endpoints (api.fda.gov) for drug, device, and food recalls. No scraping of unofficial pages, and no API key is required.

How current is the data? openFDA's enforcement data is refreshed regularly (FDA publishes weekly, often updating within days of a recall). Scheduling a daily run catches new recalls within about 24 hours of them appearing in openFDA.

Can I search drug, device, and food at once? Yes — set productTypes: ["drug", "device", "food"]. The Actor queries each category and combines all matching records into a single dataset, capped by maxRecords.

How far back does the data go? openFDA enforcement data goes back to 2004. Use dateFrom / dateTo (YYYYMMDD) to pull any historical window.

What it does NOT do / limitations

  • Covers drug, medical device, and food/cosmetic recalls only. Veterinary products and biologics are not in the openFDA enforcement endpoints and are not returned.
  • It reports recalls as published by openFDA — it does not add proprietary risk scores, predictions, or "AI severity" ratings. Output is the official FDA data, normalized.
  • Data freshness and completeness depend on openFDA; this Actor does not have recalls that the FDA hasn't yet published.
  • Drug-specific fields (NDC, brand/generic names, application numbers) come from the openFDA drug database and are typically empty for device and food recalls.
  • openFDA enforces a public rate limit (1,000 requests/day per IP, 40/min); very large historical pulls are paced to stay within it.

Uses the openFDA API. Not affiliated with or endorsed by the U.S. Food and Drug Administration.

Related searches: FDA recall monitor · FDA recall API · drug recall alerts · medical device recall tracker · food recall monitoring · openFDA API · Class I recall tracker · FDA enforcement database · recall compliance monitoring