FDA Recalls API Scraper - Food, Drug & Device Enforcement
Pricing
from $5.00 / 1,000 results
FDA Recalls API Scraper - Food, Drug & Device Enforcement
FDA recalls API scraper: food, drug, device and cosmetic enforcement reports straight from the FDA's public openFDA endpoints - product, firm, city, state, classification, reason, status and dates. Filter by product type, class or date range. 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
7 hours ago
Last modified
Categories
Share
FDA Recall Scraper - Drug, Device & Food Recalls, openFDA
An FDA recalls API scraper: food, drug and device enforcement reports straight from the FDA's public openFDA endpoints, searchable by product, firm, classification and date.
What the FDA recalls API returns
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.
Example output
A real sample from a live run:
| recall_number | product_type | classification | recalling_firm | status | risk_score |
|---|---|---|---|---|---|
| F-1671-2024 | food | Class I | Palmer & Company | Terminated | 70 |
| F-1170-2024 | food | Class I | HandNatural | Ongoing | 58 |
| F-1354-2023 | food | Class II | Cassanos Inc | Terminated | 40 |
| F-1472-2022 | food | Class II | Queen Bee Gardens, LLC | Terminated | 52 |
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