# FDA 510(k) Clearance Leads: New Device Decisions (`infocomp/fda-510k-clearance-leads`) Actor

FDA 510(k) clearance leads for companies that just got a medical device cleared: new openFDA decisions with applicant name, address, device, product code, class and decision date. Filter by date, state, product code, specialty. Firm-level only: no contact names. $3/1,000. Not affiliated with FDA.

- **URL**: https://apify.com/infocomp/fda-510k-clearance-leads.md
- **Developed by:** [InfoComp Data](https://apify.com/infocomp) (community)
- **Categories:** Lead generation, Business, Developer tools
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$3.00 / 1,000 clearances

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## FDA 510(k) New Clearance Leads | Business Leads

**Find the companies that just got a medical device cleared by the FDA.** This tool reads the official openFDA 510(k) database and gives you one clean row per decision, newest first: the applicant company and its address, the device name, FDA product code, device class, review specialty, clearance type, decision date and a link to FDA's own 510(k) page. A fresh clearance is a trigger event: the company is about to launch, hire, source, certify, market and sell.

- 🩺 **Trigger leads:** companies with a new substantially equivalent (cleared) decision. De Novo grants and other decisions are optional.
- 🎯 **Filters:** decision date range (default: last 30 days), applicant US state or country, FDA product code, specialty, device class, clearance type, applicant name, device name, third-party review.
- 🔒 **Firm-level only:** the applicant company name and address as filed with FDA. The openFDA contact-person field is never read, so there are no personal names, phones or emails in the output.
- 💲 **$3.00 per 1,000 clearances** ($0.003 per row). No start fee. Empty and failed runs are free.

> **Data source:** Data provided by the U.S. Food and Drug Administration (https://open.fda.gov), openFDA device 510(k) endpoint (`api.fda.gov/device/510k.json`). openFDA data is public domain under a Creative Commons CC0 1.0 dedication (open.fda.gov/terms). Every row has a `source` credit, a `sourceUrl` link to FDA's 510(k) database page and an `openFdaApiUrl` link to the API record.
>
> **Disclaimer:** Not affiliated with, endorsed by or sponsored by the U.S. FDA. A 510(k) clearance means FDA found a device substantially equivalent to an existing device; it is not FDA approval of the company or an endorsement. openFDA data is unvalidated. Confirm details on FDA's own page (`sourceUrl`) before you rely on them.

### What does it do?

1. It turns your filters into **filtered, paged queries to the official openFDA API** (no API key needed), up to 1,000 decisions per request, sorted by decision date, newest first.
2. It builds **one row per K number** (or DEN number for De Novo), de-duplicated, with the applicant's name and address and the device facts.
3. It stops as soon as it has **Max results** rows, or when it reaches the maximum cost you set for the run.

In local tests on 2026-11-03, the default input (substantially equivalent decisions of the last 30 days, up to 100) saved **100 clearances in 0.9 to 1.0 seconds** of Actor time (1 openFDA request, about 4 seconds wall time including startup) and peaked at **73 to 74 MB** of memory. At that moment 162 decisions matched. A maximum-size run of 50,000 decisions took 78 seconds (50 requests) and peaked at 192 MB.

### Who is it for?

- **Sales and business development teams** at contract manufacturers, sterilization and testing labs, packaging, component and software vendors: reach companies right after a clearance, while launch budgets are open.
- **Regulatory and quality consultancies and law firms:** find newly cleared companies that now face post-market obligations.
- **Medical device marketers, distributors and recruiters:** spot launches by specialty, product code or state.
- **Investors and market researchers:** track clearance volume by company, specialty and country.

### Input

| Field | Default | What it does |
|---|---|---|
| `recentDays` | 30 | Used when `decisionDateFrom` is empty: decisions in the last N days. |
| `decisionDateFrom` / `decisionDateTo` | empty | Decision date range, `YYYY-MM-DD`. Overrides `recentDays`. `decisionDateTo` empty = today. |
| `decisions` | `["substantiallyEquivalent"]` | Any of `substantiallyEquivalent` (cleared), `deNovoGranted`, `otherSubstantiallyEquivalent` (some indications, tracking, inspection). All three = no decision filter. |
| `states` | all | Applicant US states: `CA`, `tx`, `Minnesota`... |
| `countries` | all | Two-letter ISO country codes of the applicant: `US`, `KR`, `DE`, `CN`... |
| `productCodes` | all | Three-letter FDA product codes, e.g. `QKQ`, `HRS`. |
| `advisoryCommittees` | all | FDA review specialty, e.g. `Orthopedic`, `Radiology`, `Cardiovascular`. |
| `deviceClasses` | all | `1`, `2`, `3`, `U` (unclassified), `N`, `F` (HDE). A few decisions have no class on file in openFDA, so a class filter leaves those out. |
| `clearanceTypes` | all | `Traditional`, `Special`, `Abbreviated`, `Direct`, `Dual Track`, `Post-NSE`. |
| `applicantName` | empty | Whole words from the applicant name, e.g. `Medtronic` or `Globus Medical`. |
| `deviceNameKeyword` | empty | Whole words from the device trade name, e.g. `software`. |
| `thirdPartyReviewOnly` | false | Only decisions reviewed by an FDA-accredited third party. |
| `maxResults` | 100 | Stop after this many clearances (up to 50,000), newest first. |
| `maxApiCalls` | 100 | Safety cap on openFDA requests per run (each reads up to 1,000 decisions). |
| `openFdaApiKey` | empty | Optional, secret. Your own free openFDA key, only if you need a higher daily limit. |

```json
{
  "recentDays": 60,
  "states": ["CA", "MA"],
  "advisoryCommittees": ["Orthopedic", "Cardiovascular"],
  "maxResults": 500
}
```

All filters are combined with AND. Values inside one filter are combined with OR.

### What's in each row?

| Area | Fields |
|---|---|
| Company | `companyName` (the applicant as filed with FDA), `street`, `city`, `state` (US only), `zipCode`, `country` (2-letter code), `address` (one line) |
| Clearance | `kNumber`, `submissionType` (`510(k)` or `De Novo`), `decisionDate`, `dateReceived`, `daysToDecision`, `decisionCode`, `decisionDescription` (as listed by FDA, empty when FDA lists "Unknown"), `decisionCategory`, `clearanceType`, `thirdParty`, `summaryType` |
| Device | `deviceName` (trade name), `deviceClassificationName` (FDA classification name), `productCode`, `regulationNumber`, `deviceClass`, `medicalSpecialty`, `advisoryCommittee`, `advisoryCommitteeCode` |
| Links and credit | `sourceUrl` (FDA's 510(k) or De Novo database page), `openFdaApiUrl` (the API record), `source`, `disclaimer`, `dataLastUpdated` (openFDA's last update), `retrievedAt` |

There are **no person names, emails or phone numbers** in the output. The openFDA `contact` field is never read, and a scrub strips email addresses and phone-like numbers from company names and address lines. A run summary (filters, counts, openFDA requests, warnings) is saved as `RUN_SUMMARY` in the run's key-value store.

### Output example

Real rows from a local run of the default input on 2026-11-03, unedited. A US applicant:

```json
{
  "companyName": "Globus Medical, Inc.",
  "kNumber": "K262779",
  "submissionType": "510(k)",
  "deviceName": "ANTHEM Fracture System",
  "deviceClassificationName": "Plate, Fixation, Bone",
  "productCode": "HRS",
  "regulationNumber": "888.3030",
  "deviceClass": "Class II",
  "medicalSpecialty": "Orthopedic",
  "advisoryCommittee": "Orthopedic",
  "advisoryCommitteeCode": "OR",
  "clearanceType": "Traditional",
  "decisionDate": "2026-10-23",
  "dateReceived": "2026-08-05",
  "daysToDecision": 79,
  "decisionCode": "SESE",
  "decisionDescription": "Substantially Equivalent",
  "decisionCategory": "Substantially equivalent (510(k) clearance)",
  "thirdParty": false,
  "summaryType": "Summary",
  "street": "2560 General Armistead Ave.",
  "city": "Audubon",
  "state": "PA",
  "zipCode": "19403",
  "country": "US",
  "address": "2560 General Armistead Ave., Audubon, PA 19403, US",
  "sourceUrl": "https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfpmn/pmn.cfm?ID=K262779",
  "openFdaApiUrl": "https://api.fda.gov/device/510k.json?search=k_number%3A%22K262779%22&limit=1",
  "source": "Data provided by the U.S. Food and Drug Administration (https://open.fda.gov), openFDA device 510(k) dataset, public domain (CC0 1.0).",
  "disclaimer": "Not affiliated with, endorsed by or sponsored by the U.S. FDA. A 510(k) decision date and number come from openFDA and are unvalidated; confirm details on FDA's own 510(k) database page (sourceUrl). Company data is the applicant as filed with FDA, not a verified current address.",
  "dataLastUpdated": "2026-10-26",
  "retrievedAt": "2026-11-03T18:15:00Z"
}
```

A foreign applicant (no US state):

```json
{
  "companyName": "Cascination AG",
  "kNumber": "K262080",
  "submissionType": "510(k)",
  "deviceName": "OTOPLAN",
  "deviceClassificationName": "Image Management Software For Planning Of Otologic And Neurotologic Procedures",
  "productCode": "QQE",
  "regulationNumber": "892.2050",
  "deviceClass": "Class II",
  "medicalSpecialty": "Radiology",
  "advisoryCommittee": "Radiology",
  "advisoryCommitteeCode": "RA",
  "clearanceType": "Traditional",
  "decisionDate": "2026-10-23",
  "dateReceived": "2026-06-22",
  "daysToDecision": 123,
  "decisionCode": "SESE",
  "decisionDescription": "Substantially Equivalent",
  "decisionCategory": "Substantially equivalent (510(k) clearance)",
  "thirdParty": false,
  "summaryType": "Summary",
  "street": "Steigerhubelstrasse 3",
  "city": "Bern",
  "state": null,
  "zipCode": "3008",
  "country": "CH",
  "address": "Steigerhubelstrasse 3, Bern, 3008, CH",
  "sourceUrl": "https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfpmn/pmn.cfm?ID=K262080",
  "openFdaApiUrl": "https://api.fda.gov/device/510k.json?search=k_number%3A%22K262080%22&limit=1",
  "source": "Data provided by the U.S. Food and Drug Administration (https://open.fda.gov), openFDA device 510(k) dataset, public domain (CC0 1.0).",
  "disclaimer": "Not affiliated with, endorsed by or sponsored by the U.S. FDA. A 510(k) decision date and number come from openFDA and are unvalidated; confirm details on FDA's own 510(k) database page (sourceUrl). Company data is the applicant as filed with FDA, not a verified current address.",
  "dataLastUpdated": "2026-10-26",
  "retrievedAt": "2026-11-03T18:15:00Z"
}
```

### Pricing

**$3.00 per 1,000 clearances.** One `clearance` event ($0.003) per saved row. There's no start fee and no run fee. Runs that find nothing, and runs that fail because openFDA can't be reached, are free. If you set a maximum cost per run, the Actor stops cleanly before it goes over.

### Good to know

- **Freshness:** openFDA updates its 510(k) data about weekly and trails FDA's own database. On 2026-11-03 the data was last updated 2026-10-26 and the newest decision date was 2026-10-23, so "last 30 days" covered decisions up to Oct 23. `dataLastUpdated` shows the openFDA update date on every row.
- **Cleared, not approved.** 510(k) clearance is not FDA approval, and De Novo is a separate path (granted, not cleared). Use `decisionCategory` to tell them apart.
- **Company data is as filed.** Applicant names and addresses are exactly as on the FDA record. A few small applicants may be named after a person; that's the business name on file with FDA. For US applicants `state` is the two-letter code; for foreign ones it's empty.
- **FDA links** use FDA's public database page pattern for each K number. The Actor never fetches accessdata.fda.gov.
- **Fair use of openFDA:** keyless access allows 240 requests per minute and 1,000 per day per IP address. The default run makes 1 request. If openFDA ever refuses a run, the Actor stops quickly and charges nothing. It doesn't use proxies.
- Use the data in line with your own legal and marketing obligations, such as CAN-SPAM, the TCPA and state privacy laws. This tool gives you companies and addresses, not contact people.

### Related InfoComp tools

- [Form D Funding Leads: New Startup & Private Raise Filings](https://apify.com/infocomp/form-d-funding-leads): companies that just raised private capital, from public SEC EDGAR Form D filings.
- [New Business Filings Leads: Colorado | Business Leads](https://apify.com/infocomp/new-business-filings-colorado): newly registered Colorado LLCs, corporations and nonprofits from the State's public open data.
- [FMCSA New Carrier Leads: New MC Authorities | Business Leads](https://apify.com/infocomp/fmcsa-new-carrier-leads): trucking companies, freight brokers and forwarders whose FMCSA operating authority was just granted.
- [FMCSA Carrier Vetting & Watchlist: Authority, Insurance, Flags](https://apify.com/infocomp/fmcsa-carrier-vetting): bulk-check USDOT numbers: operating authority, insurance on file, safety flags and change alerts from FMCSA public data.
- [FDA Medical Device Establishment Leads | Business Leads](https://apify.com/infocomp/fda-device-establishment-leads): medical device makers, contract manufacturers and sterilizers from FDA registration data via openFDA.
- [CMS Home Health, Hospice & Dialysis Leads | Business Leads](https://apify.com/infocomp/cms-facility-leads): Medicare-certified home health agencies, hospices and dialysis facilities from the official CMS Provider Data Catalog.
- [OIG Exclusion Check & Medicare Opt-Out Screen - Bulk NPI LEIE](https://apify.com/infocomp/oig-exclusion-optout-screen): bulk-check NPIs against the HHS-OIG LEIE file and the CMS Medicare opt-out list.
- [SAM.gov Contract Opportunities Scraper: Federal RFPs & Bids](https://apify.com/infocomp/sam-gov-opportunities): US federal contract opportunities (RFPs, solicitations, awards) from the official SAM.gov API.
- [Tender Feed API: EU TED, UK Find a Tender & Contracts Finder](https://apify.com/infocomp/eu-uk-tenders): EU and UK public tenders in one feed, from official TED, Find a Tender and Contracts Finder APIs.
- [Greenhouse, Lever, Ashby & SmartRecruiters Jobs Scraper API](https://apify.com/infocomp/ats-jobs-feed): live job postings from Greenhouse, Lever, Ashby and SmartRecruiters via their public job-board APIs.
- [US Address Geocoder & FEMA Flood Zone Risk API](https://apify.com/infocomp/us-address-risk-enricher): batch-geocode US addresses with the Census Bureau and add FEMA flood zone and National Risk Index ratings.
- [VIN Decoder Bulk: Specs, Recalls, MPG & Fuel Cost per Mile](https://apify.com/infocomp/bulk-vin-decoder-recalls-mpg): decode VINs in bulk with NHTSA vPIC, plus recall campaigns and EPA fuel economy.
- [Academic Paper Scraper: arXiv, PubMed, Crossref & OpenAlex API](https://apify.com/infocomp/scholarly-paper-search): search arXiv, PubMed, Crossref and OpenAlex in one run, de-duplicated by DOI.
- [HUD Multifamily Owner/Manager Leads | Business Leads](https://apify.com/infocomp/hud-multifamily-leads): HUD-assisted apartment properties with management company, firm phone, Section 8 contract expiry and REAC score.
- [Company Name to Website Finder & Enrichment | Business Leads](https://apify.com/infocomp/wikidata-company-finder): turn company names into official websites, HQ, employees, industry, ticker, LEI and SEC CIK from Wikidata.

### FAQ

**Is this an official FDA list?** No. It's an independent tool built on FDA's public openFDA API. It is not affiliated with or endorsed by the FDA.

**Does it include contact people?** No, by design. openFDA lists a contact person for each submission; this tool never reads that field. You get the company, its address, the device and the decision.

**What's the difference from the FDA Medical Device Establishment Leads tool?** That one lists FDA-registered device establishments (who makes, sterilizes or relabels devices). This one lists new 510(k) decisions: companies that just got a specific device cleared.

**Do I need an API key?** No. The openFDA API is keyless for this volume. You can add your own free key for heavier use.

**Is it legal to use this data?** openFDA publishes this data as public domain (CC0 1.0). Use the results in line with your own legal and compliance obligations.

# Actor input Schema

## `recentDays` (type: `integer`):

Used only when "Decision date from" is empty: clearances decided in the last N days (up to the end date, default today). openFDA publishes about weekly, so the newest few days may not be in yet.

## `decisionDateFrom` (type: `string`):

Optional. First decision date, YYYY-MM-DD, e.g. 2026-10-01. Overrides "Recent days".

## `decisionDateTo` (type: `string`):

Optional. Last decision date, YYYY-MM-DD. Empty = today.

## `decisions` (type: `array`):

Which FDA decisions to include. Default: substantially equivalent, which means the device was cleared. Empty = default.

## `states` (type: `array`):

Optional. Two-letter codes or US state names of the applicant address, e.g. CA, Minnesota. Empty = all states and countries.

## `countries` (type: `array`):

Optional. Two-letter ISO country codes of the applicant address, e.g. US, DE, KR, CN. Empty = all countries.

## `productCodes` (type: `array`):

Optional. Three-letter FDA product codes, e.g. QKQ, HRS. Empty = all.

## `advisoryCommittees` (type: `array`):

Optional. FDA review specialty of the device. Empty = all.

## `deviceClasses` (type: `array`):

Optional. FDA device class (some decisions have no class on file in openFDA, so a class filter leaves those out). Empty = all.

## `clearanceTypes` (type: `array`):

Optional. 510(k) submission type. Empty = all.

## `applicantName` (type: `string`):

Optional. Words from the applicant company name, e.g. Medtronic or "Globus Medical". Matches whole words, not part of a word.

## `deviceNameKeyword` (type: `string`):

Optional. A word or phrase from the device trade name, e.g. software. Matches whole words.

## `thirdPartyReviewOnly` (type: `boolean`):

Only decisions reviewed by an FDA-accredited third party.

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

Stop after this many clearance leads, newest decision first. Each saved row is one $0.003 clearance.

## `maxApiCalls` (type: `integer`):

Safety cap. Each call reads up to 1,000 decisions. Without a key, openFDA allows 1,000 calls per day per IP address.

## `openFdaApiKey` (type: `string`):

Optional. Not needed: the Actor works without a key. If you have your own free openFDA key, add it to use openFDA's higher daily limit.

## Actor input object example

```json
{
  "recentDays": 30,
  "decisions": [
    "substantiallyEquivalent"
  ],
  "states": [],
  "countries": [],
  "productCodes": [],
  "advisoryCommittees": [],
  "deviceClasses": [],
  "clearanceTypes": [],
  "applicantName": "",
  "deviceNameKeyword": "",
  "thirdPartyReviewOnly": false,
  "maxResults": 100,
  "maxApiCalls": 100
}
```

# Actor output Schema

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

No description

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

No description

# 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 = {
    "recentDays": 30,
    "decisions": [
        "substantiallyEquivalent"
    ],
    "states": [],
    "countries": [],
    "productCodes": [],
    "advisoryCommittees": [],
    "deviceClasses": [],
    "clearanceTypes": [],
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("infocomp/fda-510k-clearance-leads").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 = {
    "recentDays": 30,
    "decisions": ["substantiallyEquivalent"],
    "states": [],
    "countries": [],
    "productCodes": [],
    "advisoryCommittees": [],
    "deviceClasses": [],
    "clearanceTypes": [],
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("infocomp/fda-510k-clearance-leads").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "recentDays": 30,
  "decisions": [
    "substantiallyEquivalent"
  ],
  "states": [],
  "countries": [],
  "productCodes": [],
  "advisoryCommittees": [],
  "deviceClasses": [],
  "clearanceTypes": [],
  "maxResults": 100
}' |
apify call infocomp/fda-510k-clearance-leads --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,infocomp/fda-510k-clearance-leads"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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