OTHERAI

FDA 510(k) Device Clearance Search

Search the FDA's database of **174,000+ 510(k) premarket notification clearances** for medical devices. Filter by device name, company, product code, advisory committee, decision type, clearance type, date range, or country. Each result includes computed days-to-decision timelines that are not available in the raw FDA data.

Try on Apify Store
$0.03per event
0
Users (30d)
0
Runs (30d)
90
Actively maintained
Maintenance Pulse
$0.03
Per event

Maintenance Pulse

90/100
Last Build
Today
Last Version
1d ago
Builds (30d)
8
Issue Response
N/A

Cost Estimate

How many results do you need?

result-returneds
Estimated cost:$3.00

Pricing

Pay Per Event model. You only pay for what you use.

EventDescriptionPrice
result-returnedCharged per result returned. Includes data transformation and structured output.$0.03

Example: 100 events = $3.00 · 1,000 events = $30.00

Documentation

Search the FDA's database of 174,000+ 510(k) premarket notification clearances for medical devices. Filter by device name, company, product code, advisory committee, decision type, clearance type, date range, or country. Each result includes computed days-to-decision timelines that are not available in the raw FDA data.

No API key required. Just enter a device name like pulse oximeter and get back structured clearance data in seconds.

Why Use FDA 510(k) Device Clearance Search?

Finding 510(k) clearance data means navigating the FDA's AccessData interface or constructing complex openFDA API queries by hand. This actor handles query construction, pagination (up to 1,000 results), date formatting, field normalization, and computes the days-to-decision metric automatically — giving you clean, structured JSON you can feed directly into spreadsheets, databases, or analysis pipelines.

Features

  • Device name search — find clearances by product name (e.g., "pulse oximeter", "glucose monitor", "surgical robot", "AI diagnostic")
  • Company lookup — search by applicant company (e.g., "Medtronic", "Abbott", "Siemens Healthineers", "Philips")
  • Product code filtering — use FDA's three-letter classification codes (e.g., "DQA" for pulse oximeters, "QAS" for AI/ML software)
  • K number lookup — retrieve a single submission by its 510(k) number (e.g., "K240912")
  • Date range filtering — search by decision date range in YYYY-MM-DD format
  • Advisory committee filter — narrow by FDA specialty area (20 committees from Anesthesiology to Toxicology)
  • Decision type filter — filter by outcome: Substantially Equivalent, Not Substantially Equivalent, Third Party, etc.
  • Clearance type filter — Traditional, Special 510(k), Abbreviated 510(k), or Dual Track
  • Country code filter — filter by applicant country of origin (US, DE, JP, CN, IL, etc.)
  • Days-to-decision computation — calculates elapsed time from FDA receipt to decision, a metric not available in the raw API
  • Summary statistics — automatic computation of average/min/max review times, decision breakdowns, and clearance type distributions logged at the end of each run
  • Retry with backoff — built-in exponential backoff for API rate limits and transient errors

How to Use

  1. Enter search criteria — provide at least one filter: device name, applicant, product code, K number, date range, advisory committee, decision type, clearance type, or country code.

  2. Set the result limit — choose how many clearances to return (1–1,000). The default is 100. The openFDA API caps results at 1,000 per query.

  3. Run and download — click "Start" and wait for the run to complete (typically 5–30 seconds depending on result count). Download the structured JSON dataset.

  4. Review summary stats — check the run log for automatic summary statistics including average days-to-decision, decision breakdown, and clearance type distribution.

Input Parameters

ParameterTypeRequiredDefaultDescription
deviceNameStringNo*Device name search (e.g., "pulse oximeter", "glucose monitor")
applicantStringNo*Company/applicant name (e.g., "Medtronic", "Abbott")
productCodeStringNo*FDA three-letter product code (e.g., "DQA", "QAS")
kNumberStringNo*Specific 510(k) number (e.g., "K240912")
decisionDateFromStringNoStart of decision date range (YYYY-MM-DD)
decisionDateToStringNoEnd of decision date range (YYYY-MM-DD)
advisoryCommitteeSelectNoAllFDA advisory committee code (20 options)
decisionTypeSelectNoAllClearance decision type (6 options)
clearanceTypeSelectNoAllTraditional, Special, Abbreviated, or Dual Track
countryCodeStringNoTwo-letter country code (e.g., "US", "DE", "JP")
maxResultsIntegerNo100Maximum clearances to return (1–1,000)

*At least one search parameter is required.

Input Examples

Find all pulse oximeter clearances:

{
    "deviceName": "pulse oximeter",
    "maxResults": 100
}

Look up a specific 510(k) submission:

{
    "kNumber": "K240912"
}

Medtronic clearances in 2024:

{
    "applicant": "Medtronic",
    "decisionDateFrom": "2024-01-01",
    "decisionDateTo": "2024-12-31",
    "maxResults": 500
}

AI/ML software devices (product code QAS):

{
    "productCode": "QAS",
    "maxResults": 200
}

Cardiovascular devices cleared in 2024:

{
    "advisoryCommittee": "CV",
    "decisionDateFrom": "2024-01-01",
    "decisionDateTo": "2024-12-31",
    "maxResults": 500
}

Devices denied clearance (Not Substantially Equivalent):

{
    "decisionType": "SEKD",
    "decisionDateFrom": "2020-01-01",
    "maxResults": 100
}

German medical device companies since 2023:

{
    "countryCode": "DE",
    "decisionDateFrom": "2023-01-01",
    "maxResults": 200
}

Input Tips

  • Use productCode for the most precise device-type filtering. The FDA maintains thousands of three-letter codes — search the FDA Product Classification Database to find the right code for your device category.
  • Combine advisoryCommittee with a date range to analyze clearance trends in a specific specialty area over time.
  • Set decisionType to "SEKD" (Not Substantially Equivalent) to find devices that were denied clearance — useful for competitive intelligence and regulatory risk assessment.
  • For large result sets, partition your search using date ranges to stay within the 1,000 result limit.
  • Device name and applicant searches support partial matching — "pulse" will match "pulse oximeter", "pulse wave analyzer", etc.

Output

Each clearance record includes:

{
    "kNumber": "K240912",
    "deviceName": "Tempus Pro Vital Signs Monitor",
    "applicant": "Philips Medical Systems",
    "decisionCode": "SESE",
    "decisionDescription": "Substantially Equivalent",
    "decisionDate": "2024-08-15",
    "dateReceived": "2024-06-18",
    "daysToDecision": 58,
    "productCode": "DQA",
    "advisoryCommittee": "AN",
    "advisoryCommitteeDescription": "Anesthesiology",
    "clearanceType": "Traditional",
    "city": "Andover",
    "state": "MA",
    "country": "US",
    "zipCode": "01810",
    "contact": "John Smith",
    "address": "3000 Minuteman Road",
    "thirdPartyReview": false,
    "expeditedReview": false,
    "statementOrSummary": "Summary",
    "deviceClass": "2",
    "regulationNumber": "868.2500",
    "openfdaDeviceName": "Oximeter, Pulse",
    "openfdaSpecialty": "Anesthesiology"
}

Output Fields

FieldTypeDescription
kNumberStringUnique 510(k) submission number (e.g., "K240912")
deviceNameStringName of the medical device
applicantStringCompany that submitted the 510(k)
decisionCodeStringFDA decision code (SESE, SEKD, etc.)
decisionDescriptionStringHuman-readable decision description
decisionDateStringDate of FDA decision (YYYY-MM-DD)
dateReceivedStringDate the submission was received by FDA (YYYY-MM-DD)
daysToDecisionInteger / nullComputed days from receipt to decision (not in raw API)
productCodeStringFDA three-letter product classification code
advisoryCommitteeStringTwo-letter advisory committee code
advisoryCommitteeDescriptionStringFull name of the advisory committee
clearanceTypeStringTraditional, Special, Abbreviated, or Dual Track
cityStringApplicant city
stateStringApplicant state (US two-letter code)
countryStringApplicant country code (US, DE, JP, etc.)
zipCodeStringApplicant ZIP/postal code
contactStringContact person name
addressStringApplicant street address
thirdPartyReviewBooleanWhether reviewed by an FDA-accredited third party
expeditedReviewBooleanWhether the submission received expedited review
statementOrSummaryStringWhether a 510(k) summary or statement is available
deviceClassString / nullFDA device classification (1, 2, or 3). Null for older records
regulationNumberString / nullCFR regulation number (e.g., "868.2500"). Null for older records
openfdaDeviceNameString / nullStandardized device name from openFDA enrichment layer
openfdaSpecialtyString / nullMedical specialty description from openFDA

Use Cases

  • Regulatory affairs teams benchmarking FDA review timelines by product code and clearance type — use daysToDecision to set realistic submission-to-clearance expectations
  • Medical device companies tracking competitor clearances to identify new market entrants, product launches, and shifts in regulatory strategy
  • Regulatory consultants searching for predicate devices — every 510(k) submission requires a legally marketed predicate with similar intended use
  • Healthcare investors and analysts researching a company's cleared device portfolio as part of due diligence before funding or acquisition decisions
  • Patent attorneys cross-referencing device clearances with patent filings to establish prior art and identify infringement risks
  • Market research firms analyzing clearance trends by advisory committee, product type, country, and date to map the medical device competitive landscape
  • Quality and compliance auditors verifying that marketed devices have valid 510(k) clearances and matching product codes

How to Use the API

Python

import requests
import time

run = requests.post(
    "https://api.apify.com/v2/acts/ryanclinton~fda-510k-clearances/runs",
    params={"token": "YOUR_APIFY_TOKEN"},
    json={
        "deviceName": "pulse oximeter",
        "decisionDateFrom": "2024-01-01",
        "maxResults": 100
    },
    timeout=30,
).json()

run_id = run["data"]["id"]
while True:
    status = requests.get(
        f"https://api.apify.com/v2/actor-runs/{run_id}",
        params={"token": "YOUR_APIFY_TOKEN"},
        timeout=10,
    ).json()
    if status["data"]["status"] in ("SUCCEEDED", "FAILED", "ABORTED"):
        break
    time.sleep(3)

dataset_id = status["data"]["defaultDatasetId"]
items = requests.get(
    f"https://api.apify.com/v2/datasets/{dataset_id}/items",
    params={"token": "YOUR_APIFY_TOKEN"},
    timeout=30,
).json()

for item in items:
    print(f"{item['kNumber']} | {item['deviceName']} | {item['applicant']} | {item['daysToDecision']} days")

JavaScript

const response = await fetch(
    "https://api.apify.com/v2/acts/ryanclinton~fda-510k-clearances/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN",
    {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({
            deviceName: "pulse oximeter",
            decisionDateFrom: "2024-01-01",
            maxResults: 100,
        }),
    }
);

const clearances = await response.json();
clearances.forEach(c =>
    console.log(`${c.kNumber} | ${c.deviceName} | ${c.daysToDecision} days`)
);

cURL

curl -X POST "https://api.apify.com/v2/acts/ryanclinton~fda-510k-clearances/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "deviceName": "pulse oximeter",
    "decisionDateFrom": "2024-01-01",
    "maxResults": 100
  }'

How It Works

Input (deviceName, applicant, productCode, kNumber, dates, filters)
  │
  ▼
┌──────────────────────────────────────────────────┐
│  Step 1: Build Search Query                      │
│  Construct openFDA Lucene-style query string     │
│  from input parameters. Date ranges converted    │
│  to YYYYMMDD format for API compatibility.       │
│  Terms joined with +AND+ conjunction.            │
└──────────────────────────────────────────────────┘
  │
  ▼
┌──────────────────────────────────────────────────┐
│  Step 2: Paginated Fetch                         │
│  Fetch up to 100 results per request using       │
│  skip/limit pagination. Continue until           │
│  maxResults reached or no more results.          │
│  Retry with exponential backoff on 429/errors.   │
└──────────────────────────────────────────────────┘
  │
  ▼
┌──────────────────────────────────────────────────┐
│  Step 3: Transform & Enrich                      │
│  Normalize field names to camelCase.             │
│  Format dates from YYYYMMDD → YYYY-MM-DD.        │
│  Merge address fields. Convert Y/N → boolean.    │
│  Extract openFDA enrichment (class, regulation). │
└──────────────────────────────────────────────────┘
  │
  ▼
┌──────────────────────────────────────────────────┐
│  Step 4: Compute Days to Decision                │
│  Calculate elapsed days between dateReceived     │
│  and decisionDate for each clearance.            │
│  This metric is NOT in the raw openFDA data.     │
└──────────────────────────────────────────────────┘
  │
  ▼
┌──────────────────────────────────────────────────┐
│  Step 5: Summary Statistics                      │
│  Compute avg/min/max daysToDecision.             │
│  Tally decision type and clearance type          │
│  breakdowns. Log to run output.                  │
└──────────────────────────────────────────────────┘
  │
  ▼
Structured clearance records pushed to dataset

Data Sources

SourceAPI EndpointAuth Required
FDA openFDAhttps://api.fda.gov/device/510k.jsonNo

Advisory Committee Reference

CodeSpecialtyCodeSpecialty
ANAnesthesiologyMIMicrobiology
CHClinical ChemistryNENeurology
CVCardiovascularOBObstetrics/Gynecology
DEDentalOPOphthalmic
ENEar, Nose & ThroatOROrthopedic
GUGastroenterology/UrologyPAPathology
HOGeneral HospitalPMPhysical Medicine
HEHematologyRARadiology
IMImmunologySUGeneral/Plastic Surgery
TXClinical Toxicology

Decision Code Reference

CodeMeaning
SESESubstantially Equivalent
SESDSubstantially Equivalent with Limitations
SESTSubstantially Equivalent (Third Party Review)
SEKDNot Substantially Equivalent (Denied)
SESPSubstantially Equivalent (Special)
SESUSubstantially Equivalent (Unclassified)

Common Product Codes

CodeDevice CategoryCodeDevice Category
DQAPulse OximetersMUJCT Scanners
QASAI/ML Software (CAD)OEIUltrasound Systems
DXNECG/EKG SystemsQKQDigital Pathology
JAXIntravascular CathetersQMTClinical Decision Support
LLZGlucose MonitorsNQISurgical Robotics

How Much Does It Cost?

ScenarioResultsEst. TimeEst. Cost
Single K number lookup13 sec< $0.001
Device name search (100 results)10010 sec< $0.01
Full committee + year (1,000 results)1,00030 sec~$0.02

The actor uses 256 MB memory and makes lightweight API calls with no browser rendering, keeping compute costs minimal. The Apify free tier covers thousands of runs per month.

Tips

  • Use product codes for precision — device name searches return broad matches, but product codes target exact device categories. Look up codes in the FDA Product Classification Database.
  • Partition large searches by date — the openFDA API caps at 1,000 results per query. Split multi-year searches into yearly date ranges to get complete data.
  • Combine committee + date for trend analysis — searching advisoryCommittee: "CV" with annual date ranges lets you track cardiovascular clearance volumes over time.
  • Check daysToDecision for planning — if your company is preparing a 510(k) submission, filter by your product code and check the average days-to-decision to set realistic timeline expectations.
  • SEKD denials reveal regulatory risk — searching for Not Substantially Equivalent decisions in your product category shows what the FDA rejects and why (when paired with FDA AccessData records).
  • Batch via API — call this actor programmatically to research multiple product codes or companies in parallel.

Limitations

  • 1,000 result cap — the openFDA API limits results to 1,000 per query. Use date range partitioning for larger datasets.
  • No predicate device chain — the openFDA 510(k) endpoint does not include predicate device references. For predicate chain analysis, use FDA AccessData directly.
  • Older records may have gaps — clearances from the 1970s–1990s may have incomplete dates, addresses, or missing openFDA enrichment fields (deviceClass, regulationNumber).
  • Device name search is broad — searching "monitor" returns patient monitors, blood pressure monitors, display monitors, etc. Use product codes for precision.
  • No full-text summaries — the statementOrSummary field indicates whether a summary exists, but does not contain the full text. Full 510(k) summaries are available on FDA AccessData.
  • openFDA enrichment coverage — the deviceClass, regulationNumber, openfdaDeviceName, and openfdaSpecialty fields come from openFDA's enrichment layer and may be null for some records.
  • Rate limiting — the openFDA API enforces rate limits. The actor handles this automatically with exponential backoff, but very rapid sequential runs may experience delays.

Responsible Use

  • All data is public domain — FDA 510(k) clearance data is published by the US government and is freely available without restrictions.
  • Respect openFDA rate limits — the actor includes built-in retry with backoff. Avoid launching dozens of concurrent runs against the same API endpoint.
  • Use for legitimate purposes — this tool is designed for regulatory intelligence, market research, due diligence, competitive analysis, and academic research.
  • Verify critical decisions — for regulatory submissions, always verify clearance data against the official FDA AccessData database.

FAQ

Is an API key required? No. The openFDA API is free and does not require authentication. Optional API keys are available from openFDA for higher rate limits but are not needed for normal usage.

How current is the data? The openFDA database is updated regularly by the FDA. New clearances typically appear within days to weeks of the official decision.

Can I search for devices from a specific country? Yes. Use the countryCode parameter with a two-letter code (e.g., "DE" for Germany, "JP" for Japan, "CN" for China, "IL" for Israel).

What is the difference between Traditional, Special, and Abbreviated 510(k)? Traditional is the standard pathway. Special 510(k) is for modifications to your own previously cleared device. Abbreviated 510(k) relies on guidance documents and special controls rather than direct predicate comparison.

How is daysToDecision calculated? It is the number of calendar days between dateReceived (when FDA received the submission) and decisionDate (when FDA issued its decision). This is computed by the actor — it is not available in the raw openFDA API.

Can I find which devices were denied clearance? Yes. Set decisionType to "SEKD" (Not Substantially Equivalent) to find all denied submissions. This is valuable for understanding regulatory risk in your product category.

Why does my search return 0 results? The most common cause is overly specific filters. Try broadening your search — remove one filter at a time until results appear. Also check that product codes and country codes are correctly formatted (uppercase, correct length).

How far back does the data go? The database contains 510(k) clearances from 1976 to present — the entire history of the 510(k) program.

Integrations

  • Apify API — trigger runs programmatically and retrieve results as JSON for regulatory intelligence pipelines
  • Zapier — automatically run a 510(k) search when a new competitor is added to your tracking list
  • Make (Integromat) — build workflows that monitor new clearances in your product category and alert your team
  • Google Sheets — export clearance data directly for regulatory strategy analysis and timeline benchmarking
  • Webhooks — receive clearance results as soon as the run completes for real-time monitoring
  • Scheduled Runs — run weekly or monthly to track new clearances in your advisory committee or product code

Related Actors

ActorWhat it doesUse with FDA 510(k)
FDA Medical Device Recall SearchSearch FDA device recallsCross-reference cleared devices with recall history
openFDA Drug Event MonitorFDA adverse event reportsCompanion actor for drug/device safety analysis
FDA Food Recall MonitorFDA food recall dataComplete FDA regulatory data coverage
Clinical Trial TrackerClinicalTrials.gov searchFind clinical trials for devices before/after clearance
USPTO Patent SearchUS patent databaseCross-reference device patents with clearance data
SEC EDGAR Filing AnalyzerSEC filing analysisResearch public device companies' financial filings

How it works

01

Configure

Set your parameters in the Apify Console or pass them via API.

02

Run

Click Start, trigger via API, webhook, or set up a schedule.

03

Get results

Download as JSON, CSV, or Excel. Integrate with 1,000+ apps.

Use cases

Sales Teams

Build targeted lead lists with verified contact data.

Marketing

Research competitors and identify outreach opportunities.

Data Teams

Automate data collection pipelines with scheduled runs.

Developers

Integrate via REST API or use as an MCP tool in AI workflows.

Ready to try FDA 510(k) Device Clearance Search?

Start for free on Apify. No credit card required.

Open on Apify Store