FDA MAUDE Adverse Event Reports Scraper avatar

FDA MAUDE Adverse Event Reports Scraper

Pricing

Pay per event

Go to Apify Store
FDA MAUDE Adverse Event Reports Scraper

FDA MAUDE Adverse Event Reports Scraper

Extract FDA MAUDE medical device adverse event reports by date, manufacturer, device, product code, event type, or MDR identifiers.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Export FDA MAUDE medical-device adverse event reports from the official openFDA API.

Use this actor to collect device event reports by date window, manufacturer, brand/device name, FDA product code, event type, report number, or MDR report key.

It is built for compliance, regulatory intelligence, legal research, healthcare analytics, and manufacturer monitoring workflows that need clean structured MAUDE data without maintaining openFDA pagination code.

What does FDA MAUDE Adverse Event Reports Scraper do?

FDA MAUDE Adverse Event Reports Scraper queries the public openFDA device/event endpoint and saves one dataset row per MAUDE adverse event report.

It extracts dates, MDR identifiers, event type, manufacturer fields, device details, patient problem fields, narrative text, and optional raw JSON.

The actor uses HTTP/API calls only. No browser automation, login, or private FDA account is required.

Who is it for?

  • ๐Ÿฅ Medical device regulatory teams monitoring adverse events by product line.
  • ๐Ÿงพ Compliance teams reviewing MDR report activity in a date window.
  • ๐Ÿ“ˆ Healthcare market-intelligence analysts tracking manufacturer/device trends.
  • โš–๏ธ Plaintiff and defense research teams collecting event narratives.
  • ๐Ÿญ Device manufacturers watching competitor and own-brand malfunction patterns.
  • ๐Ÿ”ฌ Researchers building reproducible datasets from public FDA MAUDE records.

Why use this actor?

  • โœ… Official public data source via openFDA.
  • โœ… No API key required for normal runs.
  • โœ… Clean rows for spreadsheets, BI tools, databases, and AI workflows.
  • โœ… Date-window pagination and maxItems controls.
  • โœ… Optional raw JSON for audit-heavy workflows.
  • โœ… PPE pricing aligned with saved records.

What data can you extract?

FieldDescription
mdrReportKeyFDA MDR report key
reportNumberMAUDE report number
eventTypeDeath, Injury, Malfunction, or other event type
dateReceivedFDA received date normalized as ISO date
manufacturerNameManufacturer from report/device fields
brandNameDevice brand name
deviceNameopenFDA device classification name
productCodeFDA device product code
patientProblemsPatient problem terms from the report
eventDescriptionDescription of event or problem
manufacturerNarrativeAdditional manufacturer narrative when available
sourceUrlopenFDA query URL for the MDR key

How much does it cost to scrape FDA MAUDE adverse event reports?

The actor uses pay-per-event pricing.

  • A small one-time start event is charged per run.
  • An item event is charged for each MAUDE report saved to the dataset.
  • Tiered discounts apply on higher Apify plans.

For cost control, start with a narrow date window and maxItems around 100, then expand once the filters return the records you need.

How to use it

  1. Open the actor on Apify.
  2. Set startDate and endDate for the FDA date_received window.
  3. Optionally add a manufacturer, brand, device name, product code, event type, report number, or MDR report key.
  4. Set maxItems.
  5. Run the actor.
  6. Export the dataset as JSON, CSV, Excel, XML, RSS, or HTML.

Input example

{
"startDate": "2024-01-01",
"endDate": "2024-01-31",
"eventType": "Malfunction",
"maxItems": 100,
"sortBy": "date_received_desc",
"includeRaw": false
}

Manufacturer monitoring example

{
"startDate": "2024-01-01",
"endDate": "2024-03-31",
"manufacturerName": "OLYMPUS",
"maxItems": 500,
"includeRaw": true
}

Specific report lookup example

{
"startDate": "2024-01-01",
"endDate": "2024-12-31",
"reportNumber": "9610595-2024-00001",
"maxItems": 10
}

Output example

{
"mdrReportKey": "18423065",
"reportNumber": "9610595-2024-00001",
"eventType": "Malfunction",
"dateReceived": "2024-01-01",
"manufacturerName": "AIZU OLYMPUS CO., LTD.",
"brandName": "EVIS EXERA II COLONOVIDEOSCOPE",
"deviceName": "Colonoscope And Accessories, Flexible/Rigid",
"productCode": "FDF",
"patientProblems": ["No Clinical Signs, Symptoms or Conditions"],
"sourceUrl": "https://api.fda.gov/device/event.json?search=mdr_report_key:18423065"
}

Search fields

The actor supports these openFDA filters:

  • date_received range via startDate and endDate
  • manufacturer_name
  • device.brand_name
  • device.openfda.device_name
  • device.device_report_product_code
  • event_type
  • report_number
  • mdr_report_key

Pagination behavior

openFDA returns up to 100 records per request.

The actor automatically pages until it reaches maxItems, no more records are returned, or the openFDA skip safety limit is reached.

For very large exports, split runs by month, week, manufacturer, product code, or event type.

Tips for better results

  • Use a short date window for your first run.
  • Add eventType when you only need death, injury, or malfunction reports.
  • Use productCode to focus on a regulated device category.
  • Enable includeRaw when you need complete audit evidence.
  • Keep maxItems low while testing a new query.

Integrations

You can connect the dataset to:

  • Google Sheets for compliance trackers.
  • Snowflake, BigQuery, or Postgres for regulatory analytics.
  • BI dashboards for monthly adverse-event trend reports.
  • Internal alerting workflows for manufacturer/product monitoring.
  • AI summarization pipelines for narrative triage.

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-maude-adverse-event-reports-scraper').call({
startDate: '2024-01-01',
endDate: '2024-01-31',
eventType: 'Malfunction',
maxItems: 100
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/fda-maude-adverse-event-reports-scraper').call(run_input={
'startDate': '2024-01-01',
'endDate': '2024-01-31',
'maxItems': 100,
})
print(run['defaultDatasetId'])

API usage with cURL

curl -X POST "https://api.apify.com/v2/acts/automation-lab~fda-maude-adverse-event-reports-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"startDate":"2024-01-01","endDate":"2024-01-31","maxItems":100}'

MCP usage

Use this actor from Claude Desktop, Claude Code, or other MCP clients through Apify MCP.

MCP server URL:

https://mcp.apify.com/?tools=automation-lab/fda-maude-adverse-event-reports-scraper

Claude Code setup:

$claude mcp add apify-fda-maude "https://mcp.apify.com/?tools=automation-lab/fda-maude-adverse-event-reports-scraper"

Claude Desktop JSON configuration:

{
"mcpServers": {
"apify-fda-maude": {
"url": "https://mcp.apify.com/?tools=automation-lab/fda-maude-adverse-event-reports-scraper"
}
}
}

Example prompts:

  • "Run the FDA MAUDE scraper for malfunction reports received in January 2024."
  • "Export 500 MAUDE reports for product code FDF and summarize common device problems."
  • "Find adverse event narratives for this MDR report key and explain the timeline."

Data quality notes

MAUDE records are public adverse-event reports. They may include incomplete fields, manufacturer supplements, duplicate narratives, or delayed updates.

The actor preserves key source identifiers so you can deduplicate, audit, and join records downstream.

Legality and compliance

This actor reads publicly available openFDA API data. You are responsible for using exported data in accordance with applicable laws, FDA terms, Apify terms, and your organization's compliance policies.

Do not use the data as medical advice. MAUDE reports are signals for review and do not prove device causality.

FAQ

Is this FDA MAUDE scraper using official data?

Yes. It queries the official public openFDA device/event endpoint for MAUDE device adverse event records.

Troubleshooting

Why did I get zero results?

Your filters may be too narrow. Try removing manufacturer or device-name filters and run a short date window first.

Why did the run stop before all matching reports?

The actor stops at maxItems and has a skip safety limit for very large openFDA result sets. Split large exports into smaller date windows.

Why are some fields empty?

FDA MAUDE source records vary. Some reports do not include every device, patient, or narrative field.

Changelog

  • Initial version: official openFDA MAUDE device/event extraction with date windows, filters, typed output, optional raw JSON, and PPE item charging.