# FDA Medical Device Database — 510(k), PMA, Recalls & MAUDE (`wakey7dev/fda-device-database`) Actor

Unified FDA device data: 510(k) clearances, PMA approvals, recalls, MAUDE adverse events & classification. Normalized manufacturer names, cleaned device names, specialty mapping. 175K+ records, free openFDA API.

- **URL**: https://apify.com/wakey7dev/fda-device-database.md
- **Developed by:** [Chris Wakefield](https://apify.com/wakey7dev) (community)
- **Categories:** Business, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

![Chris The Dev](https://raw.githubusercontent.com/chriswakefield87/appstore-screenshot-translator/main/assets/actor-banner.png)

## FDA Medical Device Database — 510(k), PMA, Recalls & MAUDE

Unified access to **all FDA medical device endpoints** via the free openFDA API. Search 175K+ 510(k) premarket notifications, 55K+ PMA approvals, 58K+ device recalls, 24M+ MAUDE adverse events, and full device classification — all from one actor. **No API key required.**

**Why this actor?** Most FDA actors focus on a single endpoint (recalls only, or events only). This one covers the entire device lifecycle — premarket clearance, approval, post-market surveillance, and recalls — with cleaned manufacturer names, normalized device names, and specialty mapping.

### Features

- 🔬 **5 endpoints in 1**: 510(k), PMA, Recalls, MAUDE adverse events, Classification
- 🧹 **Smart normalization**: Manufacturer name deduplication (200+ known brands), legal suffix stripping, device name cleaning
- 📊 **Human-readable output**: Formatted summary tables with key fields
- 🏷️ **Medical specialty tagging**: Auto-detects specialty from product codes (Cardiovascular, Orthopedic, Neurology, etc.)
- 🔍 **Flexible filtering**: Search by device name, manufacturer, product code, date range
- 💰 **Pay-per-result**: Only charged for records you actually retrieve

### Input Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `endpoint` | select | ✅ | FDA endpoint: 510(k), PMA, Recall, MAUDE, or Classification |
| `searchQuery` | string | ❌ | Search for device name, manufacturer, or product code |
| `manufacturer` | string | ❌ | Filter by manufacturer/applicant name (e.g. "Medtronic") |
| `productCode` | string | ❌ | FDA 3-letter product code (e.g. "DQY" for pacemakers) |
| `dateFrom` | string | ❌ | Start date in YYYYMMDD format (e.g. 20230101) |
| `dateTo` | string | ❌ | End date in YYYYMMDD format (e.g. 20231231) |
| `maxResults` | integer | ❌ | Maximum results (1–1000). Default: 50 |

### Example Input

```json
{
  "endpoint": "510k",
  "searchQuery": "pacemaker",
  "maxResults": 10
}
```

```json
{
  "endpoint": "recall",
  "manufacturer": "Medtronic",
  "dateFrom": "20240101",
  "maxResults": 25
}
```

```json
{
  "endpoint": "maude",
  "productCode": "DQY",
  "dateFrom": "20230101",
  "dateTo": "20231231",
  "maxResults": 50
}
```

### Example Output

```
==========================================================================================
  FDA MEDICAL DEVICE DATABASE — 510(k) Premarket Notifications
==========================================================================================
  Endpoint:     510k
  Retrieved:    10 records

  #  K Number      Device Name                           Applicant                  Decision
───  ────────────  ───────────────────────────────────  ────────────────────────  ───────────────
  1  K230001       Pacemaker Lead                        Medtronic                 Substantially Equivalent (SE)
  2  K230045       Implantable Pacemaker                 Boston Scientific        Substantially Equivalent (SE)
  3  K230078       External Pacemaker Analyzer           Abbott                    Substantially Equivalent (SE)
  ...
==========================================================================================
```

### Use Cases

- **Medtech competitive intelligence** — Track competitor device approvals and recalls
- **Regulatory affairs** — Research predicate devices for 510(k) submissions
- **Hospital procurement** — Monitor device safety recalls and adverse events
- **Medical device investing** — Due diligence on device manufacturers and product pipelines
- **Legal/litigation support** — Gather adverse event evidence for plaintiff/defense
- **AI/ML pipelines** — Feed normalized device data into RAG systems and analytics

### Data Source

All data comes from the official [openFDA Device API](https://open.fda.gov/apis/device/) — a free, public U.S. government API with no key or registration required. Data is refreshed regularly by the FDA.

**Endpoints used:**

- `api.fda.gov/device/510k.json` — Premarket notifications
- `api.fda.gov/device/pma.json` — Premarket approvals
- `api.fda.gov/device/recall.json` — Device recalls/enforcement
- `api.fda.gov/device/event.json` — MAUDE adverse events
- `api.fda.gov/device/classification.json` — Device classification

### Pricing

$2.00 per 1,000 results (pay-per-event). You only pay for records actually delivered. No charge for empty or failed runs.

***

Built by [Chris Wakefield](https://apify.com/wakey7dev) — see more FDA & healthcare data actors on the [Apify Store](https://apify.com/wakey7dev).

# Actor input Schema

## `endpoint` (type: `string`):

Select the FDA device database endpoint to query.

## `searchQuery` (type: `string`):

Search term for device name, manufacturer, or product code (e.g. 'pacemaker', 'Medtronic', 'K123456'). Leave empty to retrieve all records filtered by other criteria.

## `manufacturer` (type: `string`):

Filter by manufacturer or applicant name.

## `productCode` (type: `string`):

FDA 3-letter product code (e.g. 'DQY' for pacemakers).

## `dateFrom` (type: `string`):

Start date filter in YYYYMMDD format (e.g. 20230101).

## `dateTo` (type: `string`):

End date filter in YYYYMMDD format (e.g. 20231231).

## `maxResults` (type: `integer`):

Maximum number of results to return (1–1000). Default 50.

## Actor input object example

```json
{
  "endpoint": "510k",
  "maxResults": 50
}
```

# Actor output Schema

## `results` (type: `string`):

Complete dataset of normalized device records.

## `summary` (type: `string`):

Human-readable formatted summary table.

## `stats` (type: `string`):

Machine-readable statistics including counts and search parameters.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("wakey7dev/fda-device-database").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("wakey7dev/fda-device-database").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call wakey7dev/fda-device-database --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=wakey7dev/fda-device-database",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/rKvvOcwcC4xHNY6kN/builds/UC4rLdPRyLgbz9vfl/openapi.json
