FDA Recall Scraper - Drug, Device & Food Enforcement
Pricing
from $5.00 / 1,000 results
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
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
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 ascore_breakdown(severity, recency, distribution scale, status, harm signals) and a plain-Englishscore_rationale, so you can sort by real risk and see why. No other recall scraper shows its work. - Recall lifecycle —
is_open,days_open, andtime_to_classification_daystell 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_rankfor sorting. - Brand / generic / manufacturer / NDC / UPC lifted out of the nested
openfdablock. - ISO dates (
YYYY-MM-DD) instead ofYYYYMMDD. - 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
- Pick product types (drugs / devices / food).
- Optionally filter: severity (Class I = most serious), status (Ongoing / Completed / Terminated), state, a search term (firm, product, or contaminant), and a date range.
- Run → get a clean, deduped, newest-first recall table.
Input
| Field | Type | Description |
|---|---|---|
productTypes | array | drug, device, food (any combination). |
searchTerm | string | Free text across firm, product, and reason. |
classification | array | Class I / Class II / Class III severity filter. |
status | string | Ongoing / Completed / Terminated. |
state | string | Recalling-firm US state code (e.g. CA). |
dateFrom / dateTo | string | Recall-initiation date range (YYYY-MM-DD). |
openOnly | boolean | Keep only open / not-yet-terminated recalls (active risk). |
minScore | integer | Keep only recalls with risk_score ≥ this (0-100). |
sortBy | string | date (newest first) or risk (highest score first). |
maxItems | integer | Max recalls (split across types). Default 200. |
apiKey | string | Optional 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
- Trustpilot Reviews Scraper — company reviews & reputation
- Amazon Product Scraper — products, prices & ratings
- Google Maps Leads Scraper — local business leads
- Indeed Jobs Scraper — job listings
- Google Search Results Scraper — SERP & rankings