FDA Medical Device Recalls Scraper
Pricing
Pay per event
FDA Medical Device Recalls Scraper
Extract official FDA medical device recall records from openFDA by firm, product, class, status, location, and date. Export JSON, CSV, or Excel.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract official FDA medical device recall and enforcement records from the openFDA device/enforcement API. Use it to monitor device recalls by firm, product text, recall class, status, location, and date range.
What does FDA Medical Device Recalls Scraper do?
FDA Medical Device Recalls Scraper turns the public openFDA medical-device enforcement endpoint into a clean Apify dataset.
It helps you collect recall records without writing openFDA query syntax by hand.
You can filter by manufacturer, product description, class, status, dates, state, country, recall number, or event ID.
The actor saves one structured dataset item per recall record.
Who is it for?
Regulatory affairs teams can track recall activity for manufacturers, product lines, and device classes.
Quality and compliance teams can monitor Class I and Class II recalls for risk reviews.
Supplier-risk teams can watch vendors and distributors named in FDA recall records.
Healthcare procurement teams can screen recalled devices before renewals or sourcing decisions.
Competitive-intelligence analysts can follow recall patterns across medical device companies.
Why use this FDA recall extractor?
🧾 It uses official FDA data through openFDA.
⚙️ It runs as a repeatable API workflow on Apify.
📅 It supports date ranges for recurring monitoring.
🏷️ It includes recall class, status, event ID, recall number, and location fields.
📦 It exports to JSON, CSV, Excel, XML, RSS, and integrations through Apify datasets.
Data source
The actor reads the openFDA device enforcement endpoint:
https://api.fda.gov/device/enforcement.json
This endpoint contains FDA medical-device recall and enforcement records.
The actor does not use a browser.
The actor does not require a login.
The actor does not require an FDA API key for normal runs.
How much does it cost to extract FDA medical device recalls?
This actor uses pay-per-event pricing.
You pay a small start event per run and a per-record event for each recall row saved.
Use maxItems to control run cost.
A default run collects 100 recall records.
Large monitoring jobs can increase maxItems up to the openFDA pagination safety limit.
Input options
| Field | Description |
|---|---|
maxItems | Maximum recall records to save. |
search | Advanced openFDA search expression. |
firmName | Recalling firm, manufacturer, or distributor. |
productText | Device or product description text. |
recallNumber | Exact FDA recall number. |
eventId | Exact FDA event ID. |
classification | Class I, Class II, or Class III. |
status | Ongoing, Terminated, or Completed. |
state | Recalling firm state. |
country | Recalling firm country. |
dateField | Date field used for range filtering. |
startDate | Inclusive start date. |
endDate | Inclusive end date. |
sortBy | Date field used for sorting. |
sortDirection | Newest or oldest first. |
Example input
{"maxItems": 100,"firmName": "Medtronic","classification": "Class I","dateField": "report_date","startDate": "2024-01-01","sortBy": "report_date","sortDirection": "desc"}
Output data
Each dataset row represents one FDA medical-device recall record.
| Field | Description |
|---|---|
recallNumber | FDA recall number. |
eventId | FDA enforcement event ID. |
status | Recall status. |
classification | FDA recall class. |
recallingFirm | Firm responsible for the recall. |
productDescription | FDA product description. |
reasonForRecall | Reason for recall. |
codeInfo | Affected lots, codes, GTINs, or identifiers. |
moreCodeInfo | Additional code information when present. |
distributionPattern | Geographic distribution information. |
productQuantity | Quantity affected. |
productType | FDA product type. |
voluntaryMandated | Voluntary or mandated recall indicator. |
initialFirmNotification | How the firm notified customers. |
recallInitiationDate | Recall initiation date. |
centerClassificationDate | FDA center classification date. |
reportDate | FDA report date. |
city | Firm city. |
state | Firm state. |
country | Firm country. |
postalCode | Firm postal code. |
address | Combined firm address. |
openfda | openFDA metadata object. |
sourceUrl | Source endpoint URL. |
scrapedAt | Timestamp when the row was saved. |
Example output
{"recallNumber": "Z-2372-2023","eventId": "92660","status": "Ongoing","classification": "Class I","recallingFirm": "Covidien LP","productDescription": "MAHURKAR catheter...","reasonForRecall": "Catheter center lumen was found to have an occlusion...","reportDate": "20230823","state": "MA","country": "United States"}
How to scrape FDA medical device recalls
-
Open the actor on Apify.
-
Enter a firm name, device keyword, recall class, or date range.
-
Set
maxItemsfor the number of records you need. -
Start the run.
-
Download the dataset as JSON, CSV, Excel, or through the Apify API.
Monitoring workflows
Run the actor daily with a startDate matching your monitoring window.
Filter classification to Class I for highest-severity alerts.
Filter by firmName for supplier watchlists.
Filter by productText for device families such as catheters, infusion pumps, stents, or syringes.
Compliance workflow examples
🛡️ Supplier risk: monitor recalls for critical device suppliers.
📋 Audit preparation: export recall records for a product category before a quality review.
🏥 Procurement screening: check whether a vendor has active recalls before contract renewal.
📈 Competitive intelligence: compare recall frequency across device manufacturers.
Tips for best results
Use date ranges to keep recurring runs small and focused.
Use exact recall numbers when investigating one FDA notice.
Use productText for broad device-family monitoring.
Use search only when you already know openFDA syntax.
If no records are returned, broaden firm spelling or remove optional filters.
Advanced openFDA search
The search field accepts an openFDA search expression.
For example:
product_description:catheter+AND+classification:"Class I"
When you combine search with UI filters, the actor joins all conditions with AND.
Integrations
Send new recalls to Slack by connecting the dataset to an Apify integration.
Export CSV files to a GRC or quality-management system.
Trigger the actor from a scheduler for daily supplier monitoring.
Use webhooks to notify a compliance analyst when a run finishes.
Join output with vendor master data in your warehouse.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/fda-medical-device-recalls-scraper').call({maxItems: 100,classification: 'Class I',startDate: '2024-01-01'});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/fda-medical-device-recalls-scraper').call(run_input={'maxItems': 100,'firmName': 'Medtronic'})print(run['defaultDatasetId'])
API usage with cURL
curl "https://api.apify.com/v2/acts/automation-lab~fda-medical-device-recalls-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"maxItems":100,"classification":"Class I"}'
MCP usage
FDA Medical Device Recalls Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).
Setup for Claude Code:
$claude mcp add --transport http apify "https://mcp.apify.com/?tools=automation-lab/fda-medical-device-recalls-scraper"
Setup for Claude Desktop, Cursor, or VS Code:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=automation-lab/fda-medical-device-recalls-scraper"}}}
Example prompts:
Use automation-lab/fda-medical-device-recalls-scraper to find Class I medical device recalls reported since 2024-01-01.
Run the FDA device recall monitor for Medtronic and summarize the latest recalled product categories.
Extract catheter recall records from openFDA and group the results by recalling firm and recall status.
Automation ideas
Schedule weekly Class I recall monitoring.
Run a monthly supplier recall report.
Watch a list of high-risk device categories.
Export new event IDs into a compliance ticketing system.
Troubleshooting
If a run returns zero items, remove filters one by one.
If firm matching is too strict, use a shorter firm name.
If dates fail validation, use YYYY-MM-DD or YYYYMMDD.
If openFDA rate limits a run, retry later or lower the result volume.
Limitations
The actor returns records available in openFDA.
It does not interpret clinical risk beyond FDA-provided fields.
It does not replace FDA notices, legal review, or regulatory judgment.
It is designed for monitoring and data extraction workflows.
Legality
This actor uses a public US government API.
Users are responsible for complying with openFDA terms, Apify terms, and their internal compliance policies.
Always verify critical recall decisions against official FDA sources.
Related scrapers
- FDA Food Recalls Scraper
- FDA MAUDE Adverse Event Reports Scraper
- FDA Device Registration Scraper
- OpenFDA Drug NDC Directory Scraper
FAQ
Can I monitor one company?
Yes. Set firmName and run the actor on a schedule.
Can I collect only severe recalls?
Yes. Set classification to Class I.
Can I search by device type?
Yes. Use productText, for example catheter, pump, stent, or syringe.
Does this require an FDA API key?
No. Normal runs use the public openFDA endpoint without an API key.
Does the actor use proxies?
No. It is an HTTP API actor and does not need proxies.
Can I use it for historical exports?
Yes. Increase maxItems and set broad date ranges, keeping openFDA pagination limits in mind.
Changelog
Initial version extracts FDA medical-device recall records from openFDA device enforcement data.