FDA Recall Scraper - Drug, Device & Food Enforcement avatar

FDA Recall Scraper - Drug, Device & Food Enforcement

Pricing

from $5.00 / 1,000 results

Go to Apify Store
FDA Recall Scraper - Drug, Device & Food Enforcement

FDA Recall Scraper - Drug, Device & Food Enforcement

Scrape FDA drug, device & food recalls from the official openFDA API — recall number, severity (Class I/II/III), status, recalling firm, brand, reason, dates & location. Filter by type/severity/status/date, monitor new recalls. Export CSV/JSON/Excel. No API key.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Flash Scrape

Flash Scrape

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

This FDA recall scraper turns the official openFDA enforcement data into a clean, queryable feed — one flat row per recall with the recall number, product type, classification + plain-English severity (Class I/II/III → High/Medium/Low), status, recalling firm, brand / generic / manufacturer, reason for recall, distribution, ISO dates, and location. Pull drug, medical-device, and food recalls in one run, filter by severity / status / state / date / keyword, and export to CSV, JSON, or Excel.

Built for pharma & medtech regulatory and quality teams, consultancies, biotech investors, and journalists who need a structured recall feed for monitoring — not openFDA's raw, deeply-nested JSON. Official US government data, no API key, no anti-bot.


Why use this instead of openFDA directly

openFDA is powerful but raw: verbose records, nested openfda objects, YYYYMMDD date strings, and three separate endpoints. This actor does the cleanup for you:

  • One clean flat row per recall — drops straight into a spreadsheet or BI tool.
  • Explainable 0-100 risk_score — not just a class letter. Every score ships with a score_breakdown (severity, recency, distribution scale, status, harm signals) and a plain-English score_rationale, so you can sort by real risk and see why. No other recall scraper shows its work.
  • Recall lifecycleis_open, days_open, and time_to_classification_days tell you what's still active and how fast the FDA moved.
  • Plain-English severity — Class I/II/III mapped to High/Medium/Low + a severity_rank for sorting.
  • Brand / generic / manufacturer / NDC / UPC lifted out of the nested openfda block.
  • ISO dates (YYYY-MM-DD) instead of YYYYMMDD.
  • Drug + device + food merged into one deduped dataset; sort by date or risk score.
  • Filters for product type, severity, status, state, keyword, date range, open-only, and minimum risk score.
  • Re-run on a schedule to monitor new recalls for a firm, brand, or category.

How to use it

  1. Pick product types (drugs / devices / food).
  2. Optionally filter: severity (Class I = most serious), status (Ongoing / Completed / Terminated), state, a search term (firm, product, or contaminant), and a date range.
  3. Run → get a clean, deduped, newest-first recall table.

Input

FieldTypeDescription
productTypesarraydrug, device, food (any combination).
searchTermstringFree text across firm, product, and reason.
classificationarrayClass I / Class II / Class III severity filter.
statusstringOngoing / Completed / Terminated.
statestringRecalling-firm US state code (e.g. CA).
dateFrom / dateTostringRecall-initiation date range (YYYY-MM-DD).
openOnlybooleanKeep only open / not-yet-terminated recalls (active risk).
minScoreintegerKeep only recalls with risk_score ≥ this (0-100).
sortBystringdate (newest first) or risk (highest score first).
maxItemsintegerMax recalls (split across types). Default 200.
apiKeystringOptional free openFDA key for large runs.

Example input:

{
"productTypes": ["drug", "device"],
"classification": ["Class I"],
"status": "Ongoing",
"dateFrom": "2025-01-01",
"maxItems": 500
}

JSON output sample

{
"recall_number": "D-1234-2025",
"product_type": "drug",
"classification": "Class I",
"severity": "High",
"severity_rank": 1,
"risk_score": 88,
"score_breakdown": { "severity": 40, "recency": 20, "status": 15, "distribution": 15, "harm": 10 },
"score_rationale": "Class I (most serious — reasonable probability of serious harm/death); recall still ongoing (active risk); initiated 41 days ago; wide/nationwide distribution; harm signals: contaminat",
"status": "Ongoing",
"is_open": true,
"days_open": 41,
"time_to_classification_days": 15,
"recalling_firm": "Acme Pharmaceuticals, Inc.",
"brand_name": "ACME XR 20MG",
"generic_name": "amphetamine mixed salts",
"manufacturer": "Acme Pharmaceuticals USA, Inc.",
"product_ndc": "12345-678-90",
"upc": null,
"product_description": "ACME XR 20 mg extended-release capsules, 100-count bottle",
"reason_for_recall": "Failed dissolution specifications; possible contamination",
"distribution_pattern": "Nationwide (US)",
"initiation_date": "2025-03-18",
"report_date": "2025-04-02",
"termination_date": null,
"firm_city": "Trenton",
"firm_state": "NJ",
"country": "United States",
"event_id": "90123"
}

Results render as a clean, sortable table on the Output tab and export to CSV, JSON, or Excel.


Use cases

  • Recall monitoring — schedule the actor to watch for new Class I recalls in your category or for a specific firm/brand.
  • Competitive & supplier risk — track recalls hitting competitors or your suppliers/contract manufacturers.
  • Regulatory & quality intelligence — feed a compliance dashboard with structured enforcement data.
  • Investment signals — biotech/medtech catalyst tracking (a Class I recall moves markets).
  • Journalism & research — query decades of recalls by firm, product, or reason.

Use with AI agents & automation

Run from the Apify MCP server so AI agents (Claude, ChatGPT, Cursor) can query recalls as a tool call, schedule runs via Make, n8n, or Zapier to alert Slack/email on new Class I recalls, or sync the dataset to Google Sheets for a live recall dashboard. Clean flat JSON drops into compliance pipelines with no glue code.


Pricing

Pay-per-event — you're charged per recall record delivered. Source data is the free public openFDA API, so there are no proxy or third-party costs. See the Apify Store page for the current per-result price.


FAQ

Where does the data come from? The official openFDA API (api.fda.gov), maintained by the U.S. Food & Drug Administration — public government data.

Do I need an API key? No. It works key-free. Add a free openFDA key only for very large/high-frequency runs (higher rate limit).

What do the classifications mean? Class I = reasonable probability of serious harm or death; Class II = temporary/medically reversible harm; Class III = unlikely to cause harm. This actor maps them to High/Medium/Low.

How far back does it go? openFDA enforcement data spans well over a decade; use the date filters to scope it.

Can I monitor new recalls? Yes — schedule the actor with a dateFrom of the last few days (or a firm/brand searchTerm) and pipe results to Slack/email via Make/Zapier.

Can I export to CSV or Google Sheets? Yes — CSV, JSON, or Excel from the Output tab, or sync to Google Sheets via Make, n8n, or Zapier.


Other Flash Scrape scrapers