Medical Device Manufacturer Data — FDA Registrations
Pricing
$4.00 / 1,000 company records
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
Maintained by CommunityActor 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)
- Choose your targets — manufacturer names (
Medtronic,Abbott), registration numbers or FEI numbers. - Set the cap —
maxResultsPerQuerylimits rows per query (default 50). - Run and export — get a clean dataset as JSON, CSV or Excel.
📥 Input
{"queries": ["Medtronic", "Boston Scientific"],"maxResultsPerQuery": 50}
| Field | Type | Description |
|---|---|---|
queries | array | Manufacturer names, FDA registration numbers or FEI numbers. |
maxResultsPerQuery | integer | Caps rows per query (default 50, max 100 per openFDA). |
maxConcurrency | integer | How many queries to fetch at once (default 4). |
includeRaw | boolean | Attach 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).
| Field | Type | Description |
|---|---|---|
companyName | string | Establishment / firm name |
registrationNumber | string | FDA registration number — the join key |
feiNumber | string | FDA Establishment Identifier |
ownerOperator | string | Owner / operator firm (+ number) |
status | string | active / inactive, from the registration status |
registrationExpiresOn | string | Registration expiry (year-end) |
address / city / postalCode / countryName | string | Establishment (site) location |
ownerAddress | string | Owner/operator corporate (HQ) contact address |
deviceClasses | array | FDA device class(es) across listed products |
productCodes | array | Product code + device name, specialty, regulation number |
clearanceNumbers | array | 510(k) / PMA clearance ids |
proprietaryNames | array | Brand / proprietary device names |
listingCount | integer | Number of listed products |
isInitialImporter | boolean | Whether the firm is an initial importer |
createdOn | string | Earliest listing creation date (ISO) |
sourceUrl | string | Public 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 ApifyClientclient = 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.
⚖️ Is it legal to scrape this data?
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
- 🌐 Website: data.foxlabs.com.tr
- 📧 Email: info@foxlabs.com.tr
- 🐛 Issues: open a ticket in the Actor’s Issues tab
- 🧠 More clean B2B data actors: Fox Labs on Apify
Changelog
0.3 — 2026-09-06
- Added the owner/operator corporate address. New
ownerAddressfield carries the firm’s corporate contact address (the HQ), distinct from the establishment address — filled on effectively every record. Recovered fromowner_operator.contact_address, which the earlier version ignored.
0.2 — 2026-09-06
- Recovered brand names.
proprietaryNamesread 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.
clearanceNumberspreviously 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.
createdOnmapped a PMA number to a date (always empty). It now uses the earliest productcreated_date— a real date, present on every listing. - Removed a dead column.
operations(fromestablishment_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.jsonso 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.