FDA Medical Device Manufacturer Registry
Pricing
from $4.93 / 1,000 item extracteds
FDA Medical Device Manufacturer Registry
Search official openFDA medical device establishment registrations and listed products by manufacturer, device, product code, or registration number.
Pricing
from $4.93 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Automation Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Search official openFDA medical device establishment registration and device listing records. Find FDA medical device manufacturers by establishment name, listed device name, product code, or registration number. Export one dataset row per FDA registration/listing API record, including establishment location, owner/operator, activities and listed products. No FDA API key or browser session is required.
Who is it for
Medtech procurement teams can verify supplier identity and location; regulatory researchers can inspect a registered firm's listed product codes; data teams can refresh a bounded establishment export in a spreadsheet or pipeline. This is a public-data research tool, not a certificate of current compliance or a verified supplier directory.
Why use the official record
Each row links to the precise openFDA API request that returned it. You can check the registration number against the FDA source. Product-code searches retain only matching listed products in the row, so unrelated products attached to the same registration are not mislabeled as matches. The output stays in the default Apify dataset for CSV, Excel and JSON exports.
What data is returned
| Field | Meaning |
|---|---|
registrationNumber, feiNumber | FDA identifiers as supplied by the record |
establishmentName, ownerOperator, establishmentTypes | Registered establishment, owning firm and activities |
address, city, state, country | Establishment address and geography |
listedDevices, productCodes | Listed device names, codes, class and regulation number when available |
sourceUrl, retrievedAt | Official query URL and retrieval timestamp |
Some source fields are absent; nulls and empty arrays mean FDA did not provide them on that record. The same registration number may appear on multiple API records for different listings. Rows are not unique companies.
Get started
- Select a search mode and enter an establishment name, device name, three-letter FDA product code, or registration number.
- Optionally enter a two-letter US establishment state, such as
TN. - Set
maxItems(1–1,000), run the Actor, and inspect the default dataset. - Export the dataset from Apify Console or fetch it with the dataset API. Schedule the same input again to compare snapshots externally; the Actor does not perform change detection.
Input parameters
| Input | Example | Behavior |
|---|---|---|
mode | manufacturer | manufacturer, device, productCode, or registrationNumber |
query | Medtronic | Literal search value; product codes must be three letters, registration numbers 5–12 digits |
state | TN | Optional two-letter state filter on the establishment address |
maxItems | 25 | Maximum emitted rows, capped at 1,000 |
The manufacturer mode searches registered establishment names, not owner/operator names. A matching device name is searched in listed products; the whole listing record is returned. Input is validated before any API request.
Example input
{"mode":"manufacturer","query":"Medtronic","maxItems":2}
A live openFDA result for this input has registration number 1030489, establishment MEDTRONIC SOFAMOR DANEK USA, INC., city Memphis, state TN, and a listed product code MQP. Source fields vary over time; verify current values in the returned row rather than relying on the example.
How much does it cost to search FDA device establishment records?
The Actor charges $0.005 for one start event per run and an item event per emitted registration/listing row. At BRONZE the item price is $0.008212; FREE $0.0094438, SILVER $0.0064054, and GOLD/PLATINUM/DIAMOND $0.0049272. These are monthly Store-spend tiers, not per-run volume discounts. Estimated BRONZE Actor event totals: one row $0.013212, five rows $0.04606, 25 rows $0.2103, 100 rows $0.8262. Final bills may vary with platform/account terms, refunds, fraud, disputes, taxes, corrections or clawbacks; earnings/payout estimates are not guaranteed. Empty searches charge only the start event. Exporting rows adds no Actor event charge. Check the live pricing panel for current prices.
Integrations
Use a scheduled Apify task to rerun a fixed supplier-name lookup, export the dataset to a spreadsheet, and compare successive results in your own system. A product-code lookup can feed a sourcing shortlist; manually verify firms and FDA records before commercial use. Use webhooks or the dataset API to ingest completed runs into an ETL pipeline.
Run with the Apify API
Replace YOUR_TOKEN with your Apify token. The sync endpoint returns dataset items for a short run:
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~fda-medical-device-manufacturer-registry/run-sync-get-dataset-items?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"mode":"productCode","query":"KWI","maxItems":5}'
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/fda-medical-device-manufacturer-registry').call({ mode: 'manufacturer', query: 'Medtronic', maxItems: 10 });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python:
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/fda-medical-device-manufacturer-registry').call(run_input={'mode': 'registrationNumber', 'query': '1030489', 'maxItems': 5})print(client.dataset(run['defaultDatasetId']).list_items().items)
MCP
Expose this Actor as a tool to Claude Code:
$claude mcp add --transport http apify 'https://mcp.apify.com?tools=automation-lab/fda-medical-device-manufacturer-registry'
For Claude Desktop, Cursor, or VS Code, configure the same HTTP endpoint in the client's MCP server settings:
{"mcpServers":{"apify":{"url":"https://mcp.apify.com?tools=automation-lab/fda-medical-device-manufacturer-registry"}}}
Example prompts: “Find Medtronic establishment registrations and show the city and source URL”; “Which Tennessee records under registration 1030489 list medical devices?” The MCP client invokes the Actor and returns its dataset items.
Output coverage
The default dataset contains registration/listing rows rather than a deduplicated manufacturer table. Product names and classification metadata are supplied only where openFDA includes them. To produce an owner/operator list, group or deduplicate exported rows downstream by the identifiers appropriate to your use case.
Limits and freshness
openFDA is a periodically refreshed public snapshot, not a real-time compliance registry. The API search window is limited to the first 1,000 source results; a very broad query can exceed that window. Narrow by name, identifier or state. Anonymous API requests may be rate limited. Transient 429 and 5xx responses are retried twice; persistent errors fail the run instead of silently returning partial results. A valid query with no FDA matches returns an empty dataset.
Legality and responsible use
The FDA cautions that openFDA results are unvalidated and should not be relied on for medical-care decisions. Establishment registration and device listing do not mean FDA approval, clearance, endorsement or a safety determination. Review the openFDA terms and dataset documentation and independently verify critical supplier decisions. Avoid republishing personal contact data without lawful grounds.
FAQ
Why are there several rows for one registration? FDA may expose multiple listing records for a registration. Use registration number and product context together; do not count rows as unique businesses.
Why did a product-code query return fewer rows than the FDA total? The API's search may match a product elsewhere in a nested array. This Actor discards rows whose returned listed products do not include the requested code.
Why is my search empty? Check exact spelling, search mode and state filter. Try a known company without state first; an empty FDA response is not an API outage.
What if the run fails? Check the run log for a validation or FDA HTTP error; reduce query breadth or rerun after upstream rate limits subside. Failed results do not earn per-item charges.
Related automation-lab Actors
For drug application approvals rather than device registrations, see FDA Drug Approval Records Search. For FDA drug shortage information, see FDA Drug Shortages Scraper. These are distinct datasets and do not imply device registration status.