EUDAMED Scraper – Medical Devices, Manufacturers, MDR & IVDR
Pricing
from $15.00 / 1,000 results
EUDAMED Scraper – Medical Devices, Manufacturers, MDR & IVDR
Export devices, manufacturers and notified-body certificates from EUDAMED, the EU's mandatory medical device registry. Risk class, market status, sterility, latex and CMR flags, market availability per country, CND codes and warnings — codes resolved to plain language.
Pricing
from $15.00 / 1,000 results
Rating
0.0
(0)
Developer
Perceptron Data
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
18 days ago
Last modified
Categories
Share
EUDAMED Medical Devices
Set a risk class, status or UDI-DI, get one row per device, manufacturer or certificate from EUDAMED, codes resolved to plain language. Manufacturer rows carry the SRN, address and the regulatory email and phone the register publishes.
Limits: the register is slow at busy times – measured from about 2 device profiles per second down to one every 5–6 seconds, company-name searches about 40 seconds per page; runs stop cleanly before their timeout. Devices filter by risk class, market status, Primary DI, Basic UDI-DI, manufacturer SRN, trade name or company name; the country filter works for economic operators only.

How to use – step by step
- Click Try for free on this page (a free Apify account is enough) – the default exports 10 devices with full profiles.
- Choose What to export: devices, economic operators (manufacturers, importers, authorised representatives) or notified-body certificates.
- Set filters: Risk class (devices), Market status (devices), Primary DI, Basic UDI-DI, Manufacturer SRN, Trade name contains or Company name (all modes); for economic operators the Country and Operator type.
- Keep Full device profile on for trade name, sterility, markets and warnings, set Maximum records (default 10) and click Start. Five devices with full profiles took 24.7 seconds in a local test run on 12 October 2026 (the register's speed varies during the day).
- Open the Output tab: the Devices view shows trade name, Primary DI, manufacturer, risk class, market status, country and the EUDAMED link. Export as CSV, Excel or JSON, or read the rows through the API. The free
COVERAGErecord lists records that were found but not delivered, with the reason.
EUDAMED is the EU's mandatory medical device registry. Counted in EUDAMED on 12 Oct 2026: 4,062,764 devices (194,647 of them Class III), 32,576 manufacturers and 5,752 notified-body certificates.
EUDAMED is where every manufacturer must register every device sold in the EU under MDR (2017/745) and IVDR (2017/746). The European Commission also offers a read-only Public EUDAMED API on its SANTE data platform (JSON, 100 records per request, synced with EUDAMED every two hours, reference codes as separate tables). This actor reads the same public data through the interface of the EUDAMED website itself and hands you finished rows: codes resolved, full device profiles merged, filters checked, and a coverage report for every run.
Why this is not a five-minute scraper
The registry's own interface hides most of the value behind three obstacles. This actor solves all three:
| Obstacle | What it means | How this actor handles it |
|---|---|---|
| Codes instead of values | Every field arrives as a token like refdata.risk-class.class-iii or CW010 | Resolves against 12 reference tables — including all 423 standardised warning texts — so you get "Class III" and the full warning sentence |
| Thin list view | The searchable list returns 32 fields of which only ~15 carry data — no trade name, no sterility, no markets | Fetches the full profile per device (61 fields) and merges it |
| Multilingual text arrays | Trade names and descriptions are stored once per EU language | Flattens to your chosen language with English fallback |
On top of that the registry throttles hard — bursts get cut off for minutes, and at busy times a single device profile takes several seconds. This actor paces every request, backs off exponentially and keeps an eye on the run timeout, so a run always finishes with the records it has — instead of dying halfway.
What you get per device
| Field | Example |
|---|---|
tradeName, primaryDi, basicUdi, referenceNumber | ASSUPRO · 48033439452423 · 8033439ASSUPRO4P · 02PY891SAM |
manufacturerName, manufacturerSrn, manufacturerStatus | ASSUT EUROPE SPA · IT-MF-000018178 · Active |
riskClass, deviceStatus | Class III · On the market |
placedOnTheMarketCountry | Italy |
marketsWhereAvailable | Bulgaria, Cyprus, Czechia, Germany, France, Italy, Malta, Romania |
nomenclatures | H010201010402 — Polypropylene monofilament with needle for video surgery |
isSterile, isSingleUse, isReprocessed, containsLatex, containsCmrSubstance, isEndocrineDisruptor, annexXVIApplicable, isOemProduct | true / false flags |
udiProductionIdentifiers | batchNumber, expirationDate |
criticalWarnings | full standardised warning texts |
instructionsForUseUrl | link to the manufacturer's eIFU document |
versionNumber, isLatestVersion, lastUpdated, eudamedUrl | provenance |
Manufacturer mode adds company records with SRN, registration date, postal
address (address, exactly as registered — EUDAMED often leaves the separate
street fields empty), e-mail and phone — the registry's economic-operator
data — filterable by country and name.
Certificate mode returns notified-body certificates with type, status, issue/expiry dates, manufacturer SRN and notified-body number — filterable by company name.
Every row also carries checkedAt (when EUDAMED was asked), query (the exact
filter sent), dataSource and eudamedUrl, the link to the entry in EUDAMED.
Use cases
- Regulatory affairs & market access — verify what a competitor has registered, in which countries, under which risk class
- Competitor research in medtech — track new registrations, device families under a Basic UDI-DI, and market withdrawals
- Supplier & partner search — find every EU manufacturer in a device category, with contact details
- Compliance & audit — check certificate validity and expiry against manufacturers you buy from
- Distribution scouting —
marketsWhereAvailableshows which EU countries a device is not yet sold in - Research & data products — a normalised feed of the EU device market
- AI agents — clean schema and plain-language values, callable via MCP
Input examples
Every high-risk (Class III) device currently on the market, with full profiles:
{"mode": "devices","risk_class": "refdata.risk-class.class-iii","device_status": "refdata.device-model-status.on-the-market","include_details": true,"max_items": 1000}
All versions of one device family:
{ "mode": "devices", "basic_udi": "8033439ASSUPRO4P" }
German manufacturers with contact details (3,710 on 12 Oct 2026):
{ "mode": "manufacturers", "actor_type": "refdata.actor-type.manufacturer", "country": "DE", "max_items": 4000 }
Every device of one manufacturer, by its SRN:
{ "mode": "devices", "manufacturer_srn": "IT-MF-000018178", "include_details": false, "max_items": 1000 }
Notified-body certificates of one company (holder or authorised representative):
{ "mode": "certificates", "operator_name": "Siemens", "max_items": 100 }
Output example (shortened)
{"tradeName": "ASSUPRO","primaryDi": "48033439452423","basicUdi": "8033439ASSUPRO4P","manufacturerName": "ASSUT EUROPE SPA","manufacturerSrn": "IT-MF-000018178","riskClass": "Class III","deviceStatus": "On the market","placedOnTheMarketCountry": "Italy","marketsWhereAvailable": ["Bulgaria", "Cyprus", "Czechia", "Germany", "France", "Italy", "Malta", "Romania"],"nomenclatures": [{ "code": "H010201010402", "description": "POLYPROPYLENE MONOFILAMENT WITH NEEDLE FOR VIDEO SURGERY" }],"isSterile": true,"isSingleUse": true,"containsLatex": false,"udiProductionIdentifiers": ["batchNumber", "expirationDate"],"instructionsForUseUrl": "https://www.assuteurope.com/public/eifu/12A_MDR_R0.pdf","eudamedUrl": "https://ec.europa.eu/tools/eudamed/#/screen/search-device/8de0765f-..."}
Performance & limits – stated honestly
- The registry serves 300 records per page maximum, and this is a hard server-side cap that cannot be raised.
- With
include_details: trueeach device costs one extra request. The registry's own speed varies a lot during the day: measured between ~2 devices per second and one device every 5–6 seconds. Plan large exports with a generous run timeout (the default is one hour). - A run never dies at its timeout. The actor watches the time left and, when it runs short, stops cleanly, keeps every record it has finished and says so in the status message. The same holds for your maximum cost per run: the run stops there and says how many records it stored.
- A device without its full profile is never sold as one. If EUDAMED
refuses a profile (throttling) the actor asks again at the end of the run;
profiles that still do not load — or no longer exist — are not delivered
and not charged and are listed in the
COVERAGErecord. - If EUDAMED stops answering while paging, everything delivered so far is kept and the run ends with an "incomplete" status instead of failing.
- Filters, each measured against the registry: devices by risk class, market status, Primary DI, Basic UDI-DI, manufacturer SRN, trade name and company name (manufacturer or authorised representative — slow at the source, ~40 s per page); economic operators by type, name and country; certificates by company name. EUDAMED silently ignores parameters it does not know and then returns everything, so the actor checks the first page of every filtered search and stops — before anything is charged — if the filter had no effect.
- If the registry stops answering before any search results arrive, the actor fails loudly with an explanation rather than writing empty rows.
Coverage report – what was checked
Every run writes a free COVERAGE record to its key-value store: the query,
how many records matched in EUDAMED, how many were delivered, which records
were found but could not be delivered (with the reason), and why the run
stopped — all delivered, your maximum reached, your maximum cost per run
reached, the run timeout near, or EUDAMED throttling. The status message says
the same in one line; a run never claims more than it stored.
Data protection
- All data is mandatory public disclosure under MDR Art. 33 / IVDR Art. 30. The EU publishes it precisely so it can be inspected.
- Records describe companies and products, not natural persons. The e-mail and phone fields in operator mode are the company's regulatory contact points as published in the registry.
- No login, no paywall and no access control is circumvented; the endpoints used are the same ones the public web interface calls.
- Not affiliated with or endorsed by the European Commission.
What does a run cost?
$0.02 per run start plus a price per record that drops with your Apify plan — down to half the base price:
| Your Apify plan | Per record | 1,000 records |
|---|---|---|
| Free | $0.03 | $30.02 |
| Starter | $0.0225 | $22.52 |
| Scale | $0.018 | $18.02 |
| Business & Enterprise | $0.015 | $15.02 |
Devices, manufacturers and certificates cost the same per record. You pay only for records actually delivered — if a run stops early because its timeout is near, the records it did not finish are not charged, and neither are devices whose full profile EUDAMED would not deliver.
Changelog
- 12 October 2026 – Certificates filter by company name (Siemens: 38 certificates); new filters: manufacturer SRN, trade name, company name for devices, country for economic operators. Every filtered search is checked against the registry – a filter EUDAMED ignores stops the run before anything is charged. Devices whose full profile does not load are not delivered and not charged; no more duplicate rows across pages; manufacturer rows carry the registered address. Every row carries
checkedAt, the query sent and the source; a freeCOVERAGErecord per run; at your cost limit or near the timeout the run stops cleanly. - 5 October 2026 – The default run stays inside Apify's five-minute test (timeout fixed).
Auf Deutsch: Medizinprodukte aus EUDAMED exportieren
Risikoklasse, Status oder UDI-DI rein, je Medizinprodukt, Hersteller oder Zertifikat eine Zeile raus – aus EUDAMED, der öffentlichen EU-Datenbank für Medizinprodukte, mit Codes im Klartext. Herstellerzeilen enthalten SRN, Anschrift sowie die im Register veröffentlichte E-Mail und Telefonnummer.
Exportiert werden Medizinprodukte, Wirtschaftsakteure (Hersteller, Importeure, Bevollmächtigte) und Zertifikate benannter Stellen nach MDR und IVDR. Risikoklasse, Marktstatus, Sterilität, Latex- und CMR-Kennzeichen, Marktverfügbarkeit je Land, CND-Codes und Warnhinweise kommen in Klartext statt als Codes.
Filter: Risikoklasse, Marktstatus, Primary DI, Basic UDI-DI, Hersteller-SRN,
Handelsname und Firmenname bei Geräten; Typ, Name und Land bei
Wirtschaftsakteuren; Firmenname bei Zertifikaten. Jede Zeile trägt
Prüfzeitpunkt, die gesendete Abfrage, Quelle und Link zum Eintrag in EUDAMED.
Geräte, deren Vollprofil EUDAMED nicht liefert, werden weder geliefert noch
berechnet, sondern im kostenlosen COVERAGE-Datensatz aufgeführt. Typische
Anwendungsfälle: Regulatory Affairs, Wettbewerbsanalyse, Marktzugang,
Lieferanten- und Herstellerprüfung.
FAQ
Is there an official EUDAMED API or export? Yes: the European Commission publishes a read-only Public EUDAMED API on its SANTE data platform (JSON, 100 records per request, synced every two hours, reference codes in separate tables). This actor gives you the same public data as finished rows instead — codes resolved, device list and full profile merged, one language, with filters checked and a coverage report per run.
How many devices are in the registry? Counted on 12 Oct 2026: 4,062,764 devices, 194,647 of them Class III; 32,576 manufacturers; 5,752 notified-body certificates.
Can I filter by manufacturer or country?
Yes. Devices by manufacturer SRN (manufacturer_srn, e.g. IT-MF-000018178 →
7,313 devices) or company name (operator_name); economic operators by country
(country: "DE" → 3,710 manufacturers) and name; certificates by company name
(operator_name: "Siemens" → 38 certificates). Each filter was measured
against the registry, and every filtered run checks that the registry really
applied it.
Why does a large export take a while? Partly by necessity. The registry throttles bursts (HTTP 429/502) and at busy times takes several seconds per device profile. This actor paces itself, backs off exponentially, and keeps an eye on the run's timeout — which is the difference between a run that finishes and a run that dies at 40 %.
What is a Basic UDI-DI? The identifier for a device family. Passing one returns every device version that belongs to it — the fastest way to map a competitor's product line.
What kind of data is this? Public disclosure under MDR Art. 33 and IVDR Art. 30 about companies and products rather than natural persons, published by the EU so it can be inspected.
More from Perceptron Data
| Actor | What it does |
|---|---|
| Advertiser Check (Google & Bing) | Company list in, one row per company out: Google ads, Bing ads, ad counts, accounts |
| Imprint & VAT Check | Domains in, company rows out: legal name, address, register number and EU VAT ID checked against VIES (Swiss UIDs excluded) |
| Free Imprint & Contact Check | The same company row, free, for up to 10 websites per run |
| PDF to Markdown | PDF, Word, Excel and PowerPoint to Markdown for AI – tables as JSON, OCR for scans |
| Research Agent | A question in, cited passages out – every source graded by evidence level |
| App Store & Google Play Data | App IDs or App Store keywords in, one row per app out, plus App Store reviews |
| Arbeitsagentur Jobs | German job listings from the Jobbörse of the Bundesagentur für Arbeit |
| kununu Employer Data | Employer score vs. industry, salary ranges, benefits and reviews for DACH companies |
| Messe München Exhibitors | Exhibitor lists of bauma, IFAT, BAU and more |
| Koelnmesse Exhibitors | Exhibitor lists of Anuga, ISM, imm cologne and more |
| TED Tenders | EU public tenders and contract awards from TED |
| MaStR Energy Assets | Solar, wind and storage units in Germany with operator and capacity |
| Data Source Finder | Free: tells you which ready-made scraper covers your data source |
Support
Bug reports are welcome in the Issues tab.