Medical Device Manufacturer Data — FDA Registrations avatar

Medical Device Manufacturer Data — FDA Registrations

Pricing

$4.00 / 1,000 company records

Go to Apify Store
Medical Device Manufacturer Data — FDA Registrations

Medical Device Manufacturer Data — FDA Registrations

Look up medical device manufacturers, importers and contract sterilizers in the FDA establishment registration database by firm name. Returns registration and FEI numbers, facility address, operations performed, device classes, product codes and 510(k)/PMA numbers.

Pricing

$4.00 / 1,000 company records

Rating

0.0

(0)

Developer

Berkan Kaplan

Berkan Kaplan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Medical Device Manufacturer Data — FDA Registrations 🩺

foXLabs US registry-data series: US Healthcare Organizations (NPI) · Pharma Companies (Drugs@FDA)

🎉 Turn the FDA Device Registration & Listing system into clean, structured manufacturer data — no login, no API key, one row per registered establishment. Built for medical-device supply-chain & sourcing, regulatory / quality intelligence, competitive analysts and B2B sellers into device makers.

🔍 What is the Medical Device Manufacturer Data — and when should you use it?

Give this actor a manufacturer name (Medtronic), an FDA registration number or an FEI number and it returns the matching registered establishments — firm name, registration + FEI numbers, owner/operator, status and expiry, address, device classes, product codes, brand (proprietary) names, 510(k)/PMA clearance numbers, listing count and importer flag — as clean rows.

Use it when you need: every FDA-registered establishment for a manufacturer; the device classes, product codes and clearances a firm holds; or resolving a registration/FEI number to its establishment.

Use something else when: you need drug approvals (use the Drugs@FDA actor) or a healthcare provider (use the NPI actor).

🤖 Use with AI agents

Already on the Apify MCP server? Ask for this Actor by name: foxlabs/fda-device-manufacturer-data.

Your agent can pay for its own runs. This Actor is pay-per-event with agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — no Apify account or API token of its own. Billing is the same either way: per delivered record, never for errors.

Otherwise paste this into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want to pull data using the Apify Actor `foxlabs/fda-device-manufacturer-data`.
Input: `queries` is a list of manufacturer names, FDA registration numbers or FEI numbers. `maxResultsPerQuery` caps rows per query (default 50).
Start with:
{ "queries": ["Medtronic"], "maxResultsPerQuery": 25 }
Ask me what to look up, run the Actor, then summarise the rows as a table.

Things you can ask your agent for:

  • "List every FDA-registered Medtronic establishment with its device classes."
  • "What 510(k)/PMA clearances does Boston Scientific hold?"
  • "Resolve this FEI number to its establishment and status."

The machine-readable API, MCP config and OpenAPI definition live at apify.com/foxlabs/fda-device-manufacturer-data.md.

📋 Overview

Everything you need to turn FDA Device Registration & Listing — the FDA’s official openFDA API, keyless into clean, structured data — in one actor, with no login, cookies or API key.

Why teams pick this actor:

  • Whole establishment profile, one call — name/number in; registration, devices and clearances out.
  • 🏷️ Brand names recovered — proprietary (brand) names read from the correct record field (e.g. Medtronic → Affinity, ECMO, Minimax).
  • 📄 Clearance ids — 510(k)/PMA numbers from the record root, filled for most establishments.
  • 🧭 Device classes + product codes — regulatory class and product-code detail on every row.
  • 💰 Pay only for results — per-row pricing, empty/failed lookups never billed.
  • 🤖 Agent-ready — MCP + x402 agentic payments.

✨ Features

  • 🔍 Name / registration / FEI search — one input, three ways in.
  • 🏭 Establishment profile — firm name, owner/operator, status, expiry, importer flag, address.
  • 🩺 Device detail — device classes, product codes (with regulation number + specialty), listing count.
  • 📄 Clearances + brands — 510(k)/PMA numbers and proprietary brand names.
  • 📦 Clean export — deduplicated camelCase rows, ready for CSV/Excel/JSON.

🎬 Quick Start

curl -X POST "https://api.apify.com/v2/acts/foxlabs~fda-device-manufacturer-data/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "queries": ["Medtronic"], "maxResultsPerQuery": 25 }'

🚀 Getting Started (3 steps)

  1. Choose your targets — manufacturer names (Medtronic, Abbott), registration numbers or FEI numbers.
  2. Set the capmaxResultsPerQuery limits rows per query (default 50).
  3. Run and export — get a clean dataset as JSON, CSV or Excel.

📥 Input

{
"queries": ["Medtronic", "Boston Scientific"],
"maxResultsPerQuery": 50
}
FieldTypeDescription
queriesarrayManufacturer names, FDA registration numbers or FEI numbers.
maxResultsPerQueryintegerCaps rows per query (default 50, max 100 per openFDA).
maxConcurrencyintegerHow many queries to fetch at once (default 4).
includeRawbooleanAttach the source’s untouched record under raw.

📤 Output

One row per record, saved to the dataset. Every row also carries query, scrapedAt, and — when a lookup fails — an error explaining why (never silently dropped, never billed).

FieldTypeDescription
companyNamestringEstablishment / firm name
registrationNumberstringFDA registration number — the join key
feiNumberstringFDA Establishment Identifier
ownerOperatorstringOwner / operator firm (+ number)
statusstringactive / inactive, from the registration status
registrationExpiresOnstringRegistration expiry (year-end)
address / city / postalCode / countryNamestringEstablishment (site) location
ownerAddressstringOwner/operator corporate (HQ) contact address
deviceClassesarrayFDA device class(es) across listed products
productCodesarrayProduct code + device name, specialty, regulation number
clearanceNumbersarray510(k) / PMA clearance ids
proprietaryNamesarrayBrand / proprietary device names
listingCountintegerNumber of listed products
isInitialImporterbooleanWhether the firm is an initial importer
createdOnstringEarliest listing creation date (ISO)
sourceUrlstringPublic accessdata.fda.gov registration URL
{
"companyName": "Medtronic …",
"registrationNumber": "…",
"feiNumber": "…",
"deviceClasses": ["2"],
"productCodes": [{ "code": "…", "device": "…" }],
"clearanceNumbers": ["K000430"],
"proprietaryNames": ["Affinity", "ECMO", "Minimax"],
"createdOn": "2008-03-14",
"sourceUrl": "https://www.accessdata.fda.gov/…"
}

💼 Use cases

1. Supplier / manufacturer sourcing — find and qualify device makers by name, class and location. Input: manufacturer names in queries. Output: establishments + device classes + status. Use: shortlist qualified, FDA-registered suppliers.

2. Regulatory / quality intelligence — see a firm’s registrations, clearances and product codes. Input: names or registration/FEI numbers. Output: clearances + product codes + expiry. Use: track a competitor’s regulatory footprint.

3. Import due diligence — verify a foreign manufacturer’s FDA registration. Input: FEI or registration numbers. Output: exact establishment records. Use: confirm status before importing.

🔗 Integration

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('foxlabs/fda-device-manufacturer-data').call({ "queries": ["Medtronic"], "maxResultsPerQuery": 25 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('foxlabs/fda-device-manufacturer-data').call(run_input={ "queries": ["Medtronic"], "maxResultsPerQuery": 25 })
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

Automation (n8n / Zapier / Make): schedule or webhook → HTTP request to the actor API with your queries → handle the JSON dataset → push to a sheet, CRM or dashboard.

📊 Pricing

Pay-per-event: $0.002 per delivered record. Empty or failed lookups are never billed. Bulk queries scale linearly; you pay for the rows you actually get. View current pricing.

❓ FAQ

Do I need an FDA account, login or API key? No. This reads the public openFDA device registration & listing API.

What do I search by? A manufacturer name, an FDA registration number or an FEI number.

Do rows include brand names and clearances? Yes — proprietary (brand) names and 510(k)/PMA clearance numbers are included where the establishment carries them.

Why is there no phone or headcount? FDA device registration carries no firmographics; we don’t ship empty columns. Pair with a firmographic actor from Fox Labs.

Can I export to CSV / Excel / JSON? Yes — directly from the Apify dataset.

🐛 Troubleshooting

  • Fewer rows than expected — openFDA caps a single query at 100; split large manufacturers or raise the cap toward 100.
  • No clearances on a row — not every establishment has a linked 510(k)/PMA; the field is present when the source lists one.
  • No rows for a name — try the legal firm name, the owner/operator name, or the registration/FEI number.

⚠️ Trademark

Independent tool built on the public openFDA device registration dataset. Not affiliated with or endorsed by the FDA or any named manufacturer. Company and product names belong to their owners and are used for identification only.

This actor reads public device-registration records (business data) from an official US government API published for public use. Results can still contain personal data (e.g. an official’s name); personal data is protected by the GDPR and similar laws, so only process it with a legitimate basis. See Apify’s blog post on the legality of web scraping.

🤝 Support & contact

Changelog

0.3 — 2026-09-06

  • Added the owner/operator corporate address. New ownerAddress field carries the firm’s corporate contact address (the HQ), distinct from the establishment address — filled on effectively every record. Recovered from owner_operator.contact_address, which the earlier version ignored.

0.2 — 2026-09-06

  • Recovered brand names. proprietaryNames read a per-product field that does not exist on this endpoint; the proprietary-name array lives at the record root. Now populated (e.g. Medtronic → Affinity, ECMO, Minimax, Intersept).
  • Recovered clearance numbers. clearanceNumbers previously read only the per-product openFDA arrays (~5% fill). The primary 510(k)/PMA id sits on the record root — now included, so most establishments carry their clearance id.
  • Fixed the listing date. createdOn mapped a PMA number to a date (always empty). It now uses the earliest product created_date — a real date, present on every listing.
  • Removed a dead column. operations (from establishment_type) is [null] across the dataset — dropped rather than shipped empty.
  • Dropped empty-promise columns. Removed firmographic template fields FDA device registration never carries (taxNumber, legalForm, incorporatedOn, dissolvedOn, industryCode, employees, capital, website, email, phone, officers).
  • Output schema linked in actor.json so the Store renders the Output tab.

0.1

  • Initial release: device manufacturer / establishment lookup from FDA Device Registration & Listing by firm name, registration number or FEI number. Returns owner/operator, registration status + expiry, device classes, product codes, listing count and importer flag.