FDA Recalls & Adverse Events Monitor (openFDA) avatar

FDA Recalls & Adverse Events Monitor (openFDA)

Pricing

from $1.20 / 1,000 results

Go to Apify Store
FDA Recalls & Adverse Events Monitor (openFDA)

FDA Recalls & Adverse Events Monitor (openFDA)

FDA Recalls & Adverse Events Monitor returns food, drug and device recalls, drug and device adverse-event reports, and drug labels from openFDA — one flat, scored row per record for a date range you choose.

Pricing

from $1.20 / 1,000 results

Rating

0.0

(0)

Developer

Murat Uzun

Murat Uzun

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

What is FDA Recalls & Adverse Events Monitor (openFDA)?

FDA Recalls & Adverse Events Monitor is an Apify Actor that queries the U.S. FDA's openFDA API — food, drug and device recalls (enforcement reports), drug and device adverse-event reports (FAERS and MAUDE), and drug label (SPL) documents — and returns one flat row per record for the date range you choose. Point it at recalling_firm:"Nestle" or classification:"Class I" and get a structured dataset back in seconds, no API key required. Every request goes straight to api.fda.gov: no HTML scraping, no browser, no proxy.

Why use FDA Recalls & Adverse Events Monitor?

  • Brand and supply-chain monitoring — track every recall naming a competitor, supplier or your own products.
  • Compliance and quality teams — pull Class I/II/III recall history for an audit or a vendor risk review.
  • Pharmacovigilance and market research — scan FAERS adverse-event reports for a drug's reaction profile.
  • Journalism and market intelligence — feed a running news monitor with fresh FDA actions on a schedule.

How to use FDA Recalls & Adverse Events Monitor

  1. Pick a Dataset: food, drug or device recalls; drug or device adverse events; or drug labels.
  2. Optionally add an openFDA search query, e.g. recalling_firm:"Nestle" or classification:"Class I" — see the openFDA query syntax guide.
  3. Set Since days to control how far back the search looks (ignored for drug labels, which have no report date) and Max items to cap the result size.
  4. Click Start, then export the dataset as JSON, CSV, Excel or HTML.

Input

ParameterTypeDefaultDescription
datasetstringfood-enforcementdrug-enforcement, food-enforcement, device-enforcement, drug-event, device-event, or drug-label
searchQuerystring(empty)Raw openFDA search expression, ANDed with the date range
sinceDaysinteger30How many days back to search (ignored for drug-label)
maxItemsinteger100Maximum records to return (up to 5000)
apiKeystring(none)Optional free openFDA API key — raises the rate limit

Example input

{
"dataset": "food-enforcement",
"searchQuery": "classification:\"Class I\"",
"sinceDays": 30,
"maxItems": 100
}

Example output

{
"dataset": "food-enforcement",
"recordId": "H-1258-2026",
"date": "2026-09-02T00:00:00.000Z",
"firm": "H & U Inc. dba Sun Noodle",
"classification": "Class I",
"status": "Terminated",
"productType": "Food",
"productDescription": "Sura Tanmen Hot and Sour Flavor Premium Japanese Noodles & Soup Base...",
"reason": "Soba sauce packet, which contains bonito, sardine, and mackerel (fish), was packed into...",
"quantity": "140 packages",
"distribution": "Distribute in HI.",
"city": "Honolulu",
"state": "HI",
"country": "United States",
"voluntary": true,
"sourceUrl": "https://api.fda.gov/food/enforcement.json?search=report_date%3A%5B20260813+TO+20260912%5D&limit=100&skip=0",
"scrapedAt": "2026-09-12T18:45:13.101Z"
}

Data table

FieldTypeDescription
dataset, recordId, datestringWhich dataset this row came from, its ID, and its date (ISO 8601 UTC)
firm, city, state, countrystringRecalling firm / manufacturer and location
classification, status, voluntarystring, booleanRecall severity (Class I/II/III), status, and whether it was voluntary
productType, productDescription, reasonstringWhat was recalled/reported and why (each truncated to 1000 chars)
quantity, distributionstringAmount affected and where it was distributed (enforcement only)
serious, deathbooleanWhether an adverse event was serious or listed death as an outcome
drugs, reactionsarrayMedicinal products/reaction terms (drug events) or substances (labels)
reporterQualificationstringWho filed an adverse-event report, e.g. Physician, Consumer
sourceUrl, scrapedAt, errorstringThe openFDA query URL used, the run timestamp, and any per-record error

Pricing

FDA Recalls & Adverse Events Monitor uses pay-per-event pricing: $0.002 per record returned, i.e. $2 per 1,000 records, plus a negligible actor-start fee. openFDA itself is free and needs no account; add a free openFDA API key only to raise the rate limit for very large runs. Set Maximum cost per run and the Actor trims the request to what the budget covers.

Tips

  • Combine searchQuery with sinceDays for a precise slice, e.g. recalling_firm:"Acme" over the last 90 days.
  • drug-event and device-event reports lag real time by weeks — widen Since days if a recent-days query comes back empty.
  • openFDA returns HTTP 404 for a query that matches nothing; this Actor treats that as zero rows, not a failed run.

FAQ

Why do some fields come back null? Field availability depends on the dataset: recall fields like classification are null on adverse-event rows, and event fields like serious are null on recalls and labels. The Actor keeps one union of columns across all six datasets rather than a different shape per run.

Why did my drug-event or device-event query return 0 rows? FDA's adverse-event datasets are updated in batches with a reporting lag, so the most recent 1-2 weeks are often sparse or empty. Widen Since days to 60-90 or drop searchQuery to confirm the dataset has data at all.

Is this official FDA data? Yes — every field comes straight from api.fda.gov, the FDA's own public API. openFDA carries the disclaimer that data should not be used for clinical decisions; this Actor passes the data through unmodified aside from date formatting and light truncation.

Can I filter without an API key? Yes. An API key is optional and only raises the rate limit (240 requests/min & 120,000/day vs. a shared 40/min & 1,000/day pool without one).

Part of the webdatatools web-intelligence suite — every Actor is pay-per-event, reads public data without a login, and returns one clean row per entity:

Browse the whole suite at webdatatools, or call ten of these Actors straight from Claude, Cursor or Cline with the webdatatools MCP server.

Website & domain intelligence

Content for AI, LLMs and RAG

Search, video and social

Leads, jobs and company data

Developer, app and research data

Support and feedback

Found a field this Actor should surface, or a mapping bug? Open an issue on the Issues tab.