EUDAMED Medical Device Lookup – UDI, SRN, Class avatar

EUDAMED Medical Device Lookup – UDI, SRN, Class

Pricing

from $50.00 / 1,000 device delivereds

Go to Apify Store
EUDAMED Medical Device Lookup – UDI, SRN, Class

EUDAMED Medical Device Lookup – UDI, SRN, Class

EUDAMED lookup for medtech regulatory affairs and procurement: find EU medical devices by UDI-DI, manufacturer SRN, product name, risk class or EMDN code, with manufacturer, authorised representative, status, registration date and notified-body certificates. Monitor mode reports new registrations.

Pricing

from $50.00 / 1,000 device delivereds

Rating

0.0

(0)

Developer

Leyten Data

Leyten Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

What does EUDAMED Medical Device Lookup do?

EUDAMED lookup for medtech regulatory affairs, distributors, hospital procurement and market analysts: look up any device in the EU medical device database by UDI-DI, Basic UDI-DI, manufacturer SRN, product name, risk class or EMDN code, and get one record with the device identification, manufacturer, authorised representative, risk class and legislation, market status, registration date, EMDN nomenclature and the notified-body certificates behind it. Switch to monitor mode and every new registration in a risk class, nomenclature branch or competitor's portfolio, and every status or certificate change of a watched device, arrives as a dataset item the day EUDAMED shows it.

Why now

Since 28 May 2026 the use of EUDAMED's Actor, UDI/Devices, Certificates and Market Surveillance modules is mandatory (Commission Decision (EU) 2025/2371): a device may only be placed on the EU market once it is registered, and legacy devices must be registered by November 2026. The public registers hold 3.5 million UDI-DIs and grow by some 15,000 device versions a day. For the first time, the complete EU device landscape is public, current and machine-readable; the catch is that the Commission's web application answers one screen at a time, in five separate modules.

Monitor mode: competitive intelligence from the register

Set mode to monitor, keep the same searches, schedule the task daily.

  • Per manufacturer: every device a competitor registers, with class, EMDN and certificate; every device they withdraw from the market; every certificate that is suspended, withdrawn or renewed.
  • Per risk class and EMDN branch: new class III vascular implants (riskClasses: ["class-iii"], emdnCodes: ["P07"]), new IVDR class D assays, new software devices in a nomenclature branch, restricted to MDR or IVDR if you wish.
  • Per product name or per UDI-DI: the devices you distribute or buy, watched for status and certificate changes.

The first run delivers every watched device as a baseline record, priced as a device like a lookup, so you see what is watched. Later runs deliver only new devices (added, priced as a device) and changes (changed/removed, priced as a change, at most maxChangesPerRun per run) with a one-line summary written for an inbox: Unloader One (05690977326316) – Össur: status On the EU market → No longer placed on the EU market (since 2026-09-10); certificate C-1 Issued → Withdrawn. Every device of a watched UDI-DI, Basic UDI-DI or manufacturer is read again on each run, because EUDAMED's search does not say whether a device group changed (at most 50,000 devices read again per run); product-name, risk-class and EMDN feeds read their newest pages until a page holds no new device, so a device that has slipped out of that window is not read again. Unchanged devices cost nothing, so a daily watch on a large portfolio costs the start fee when nothing happened. Wording next to a code is not compared, only the code: the labels of risk class, legislation, device status, manufacturer status, certificate type and certificate status, EMDN term names, the manufacturer's country name and notified-body names. Links, version numbers, the last-update date and the two spellings EUDAMED uses for one device status are not compared either. Adding a search to a watch, or changing its legislation or onlyOnTheMarket, starts a new baseline for the searches affected, charged per device again.

Sources

Two public interfaces of the European Commission, combined:

  • API - EUDAMED Public v1.0 on the DG SANTE data lake (documentation): the Commission's documented public API, a nightly snapshot of the UDI and actor registers with exact-match filters. Used to resolve UDI-DIs and SRNs in a second.
  • The live EUDAMED database (ec.europa.eu/tools/eudamed), through the JSON interface its own web application uses (described by OpenRegulatory): device search newest-first, device and device-group records, version history, certificates, notified bodies and economic operators. Used for everything the snapshot lacks: details, certificates, today's registrations. It is not documented by the Commission; the Actor validates every response and fails a lookup, uncharged, rather than deliver a half record when the interface changes.

Reuse of Commission data is permitted under CC BY 4.0 (Commission Decision 2011/833/EU). Records delivered by this Actor should carry the attribution Source: EUDAMED, European Commission. Registration in EUDAMED is a manufacturer's own declaration; certificates are entered by notified bodies; neither replaces a Declaration of Conformity or an EU certificate as evidence.

Features

  • EU medical device lookup by UDI-DI, Basic UDI-DI, manufacturer SRN, product name, risk class or EMDN code
  • Device identification, risk class, legislation and market status in one record, with legacyDevice and special device types
  • Manufacturer and authorised representative with SRN, country and EUDAMED status; the manufacturer record itself is free
  • Notified-body certificates per device group and per manufacturer: number, type, status, issue and expiry dates
  • EMDN nomenclature codes with names, and searches by nomenclature branch
  • EUDAMED monitor: new registrations per class, branch or manufacturer, and status or certificate changes of watched devices, with a webhook
  • GS1 check-digit validation of UDI-DIs before anything is searched
  • No personal data: contact persons, e-mail addresses and telephone numbers that EUDAMED publishes are never read
  • Runs through the Apify API, on a schedule, or from Make, Zapier and n8n

Use cases

Regulatory affairs: competitor and portfolio watch

Watch competitor SRNs and your own: new devices, withdrawals, certificate status. A watch on ten manufacturers with 2,000 devices in total costs a baseline of $100 once (the same as looking them up) and then only what changes.

Distributors and hospital procurement: is this device on the EU market, and who stands behind it?

Look up the UDI-DIs on the quotation. deviceStatus, legislation (MDR or still a legacy directive), certificates with expiry and manufacturer.status answer the compliance part of a tender in one run; authorisedRepresentative names the EU counterpart of a non-EU manufacturer.

// npm install apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('lwsdjfls/eudamed-device-lookup').call({ udiDis: ['05690977326316', '00733132622610'] });
const { items } = await client.dataset(run.defaultDatasetId).listItems({ clean: true });
for (const { payload } of items) {
if (payload.kind !== 'device' || payload.status !== 'found') { console.warn(payload.input, payload.status, payload.statusReason); continue; }
const certs = payload.certificates.map((c) => `${c.number} ${c.status} until ${c.expiresOn} (${c.notifiedBody.name})`).join('; ');
console.log(`${payload.tradeName}${payload.manufacturer.name} (${payload.manufacturer.country}): ${payload.riskClass}, ${payload.legislation}, ${payload.deviceStatus}, registered ${payload.registeredOn}. ${certs || 'no certificate linked'}`);
}

Market analysts: what enters the market

A daily feed of new class III vascular implants, or of every new IVDR class D assay, with manufacturer country and notified body: the register as a market signal, months before launch announcements.

Notified-body and consultancy intelligence

Manufacturer records list certificates with their notified body; a watch on manufacturers shows NB switches and certificate renewals as they are entered.

How to use it

  1. Search by what you have. Put device identifiers into UDI-DIs or Basic UDI-DIs, a manufacturer's registration number into Manufacturer SRNs, or a product name into Product names. You can also sweep a whole category with Risk classes and EMDN codes, which is how procurement teams map a market rather than a device.
  2. Start with a handful and look at one record. You get the manufacturer, the authorised representative, the device status, the registration date and, when Include manufacturer certificates is on, the certificates with their notified body. The devices view is the device table and manufacturers groups the same data the other way round.
  3. Switch Mode to monitor with a State key and a schedule once you want to follow a market instead of check a device. The monitor reports new registrations and status changes in the categories you follow, which is the signal a competitor watch actually needs.

A category search can be enormous, so Maximum devices per search and Maximum devices per run exist to keep a run and its cost predictable. Class and EMDN sweeps produce hundreds of new registrations a day, which is why they are deliberately kept out of the small default input.

Two caveats about the source itself, not about this Actor. EUDAMED is still being filled: not every device on the European market is in it yet, so absence is not evidence that a device is unregistered. And the data is what the manufacturer registered, so treat it as the manufacturer's declaration rather than as a verified fact.

{
"mode": "lookup",
"udiDis": ["05690977326316", "00733132622610"],
"manufacturerSrns": ["DE-MF-000006413"]
}

Input

FieldWhat it doesExample
modelookup delivers every device on every run; monitor delivers a baseline first (charged per device, like a lookup) and later only new devices and changes."lookup"
udiDisDevice identifiers, one per line: GS1 (14 digits, check-digit validated), HIBCC (+…), ICCBBA (=…) or IFA.["05690977326316", "00733132622610"]
basicUdiDisDevice group identifiers; every UDI-DI registered under the group is delivered.["OSSURTKVNK3ZHP9ZQ"]
manufacturerSrnsSingle Registration Numbers. Delivers the manufacturer record (free) with its certificates, and every device registered under the SRN, newest first.["DE-MF-000006413"]
productNamesTrade-name searches (contains), newest first.["Unloader"]
riskClassesNewest devices of a risk class (MDR I, IIa, IIb, III; IVDR A, B, C, D).["class-iii"]
emdnCodesEMDN codes or prefixes (P = implantable prosthetics, P07 = vascular implants and stents). Combined with every product name and risk class above.["P07"]
legislationRestrict searches to devices registered under one legislation. Changing it on a watch starts a new baseline for its searches."any"
onlyOnTheMarketSkip devices marked as no longer placed on the EU market or not intended for it. Changing it on a watch starts a new baseline for its searches.false
includeManufacturerCertificatesAdds the notified-body certificates issued to each manufacturer SRN (up to 300).true
maxDevicesPerSearchCap per product name, risk class, EMDN code, Basic UDI-DI or manufacturer, newest first. In monitor mode it must exceed the number of new registrations between two runs.100
maxDevicesPerRunCaps the charged device records in one run, baseline records included; watched devices read again do not count (at most 50,000 of those per run).500
maxChangesPerRunMonitor mode: caps the charged changes in one run; changes above the cap are delivered by the next run.200
maxConcurrencySearches and lookups running at the same time; requests to EUDAMED are paced at 8 per second regardless.4
webhookUrlReceives a POST with a summary after each run that delivered new devices or changes; a public URL, stored encrypted.https://hooks.example.com/eudamed
stateKeySeparates independent monitors. Defaults to the task ID; a new key starts a new baseline.competitors-2026
{
"udiDis": ["05690977326316", "00733132622610"],
"manufacturerSrns": ["DE-MF-000006413"],
"riskClasses": ["class-iii"],
"emdnCodes": ["P07"],
"maxDevicesPerSearch": 100
}

UDI-DIs are check-digit validated when they are GS1 codes. Searches (product name, risk class, EMDN code, Basic UDI-DI, manufacturer) return the newest devices first, up to maxDevicesPerSearch each; legislation and onlyOnTheMarket narrow every search. EMDN codes combine with every product name and risk class given (class III × P07 = the newest vascular implants and stents); on their own they are a search per code.

Monitor mode:

{
"mode": "monitor",
"manufacturerSrns": ["DE-MF-000006413", "IS-MF-000000173"],
"riskClasses": ["class-iii"],
"emdnCodes": ["P07"],
"legislation": "mdr",
"maxDevicesPerSearch": 600,
"webhookUrl": "https://hooks.example.com/eudamed"
}

Output

One record per device (and one per manufacturer). In monitor mode, one record per new device or change with structured changes and a summary.

  • status: found, not-found, invalid-identifier (wrong GS1 check digit) or lookup-failed (EUDAMED did not answer completely; nothing charged)
  • Identification: udiDi, issuingAgency (GS1, HIBCC, ICCBBA, IFA), basicUdiDi, tradeName, deviceName, model, reference, description
  • Classification: riskClass (I, IIa, IIb, III; IVDR A–D), legislation (MDR, IVDR or a legacy directive) with legacyDevice, specialDeviceType (software, contact lenses…), emdn codes with names, systemOrProcedurePack
  • Status: deviceStatus (on the EU market, no longer placed, not intended for the EU), statusSince, registeredOn (first version), lastUpdatedOn, versionNumber, discardedOn, placedOnTheMarketIn, availableIn (member states)
  • Characteristics: sterile, singleUse, reusable, implantable, active, measuringFunction, latex, cmrSubstance
  • manufacturer: SRN, name, country, EUDAMED status, address; authorisedRepresentative for non-EU manufacturers with mandate status
  • certificates: every certificate EUDAMED links to the device group: number, type (MDR QMS, EU technical documentation, legacy MDD Annex II…), status with its EUDAMED code (statusCode), issue and expiry dates, and the notifiedBody (number and name); notifiedBodies as a distinct list
  • sourceUrl to the record in EUDAMED, and sourceCheckedAt

Manufacturer SRNs additionally deliver a manufacturer record, free of charge: name, role, EUDAMED status, country, address, VAT and EORI numbers, website, authorised representatives with mandate dates, the number of registered devices, and the certificates issued to the SRN with their notified bodies.

Device details, certificates and searches come from the live database and are as current as EUDAMED itself; UDI-DI resolution uses the Commission's nightly snapshot first and falls back to the live search for devices registered in the last day.

{
"envelopeVersion": 1,
"id": "05690977326316",
"scope": "lookup:udi:05690977326316",
"changeType": "added",
"sourceUrl": "https://ec.europa.eu/tools/eudamed/#/screen/search-device/4ba04706-ea39-4924-9f79-addd38aec119",
"scrapedAt": "2026-09-15T14:00:00.000Z",
"firstSeenAt": "2026-09-15T14:00:00.000Z",
"hash": "e9b54bb6cfb00182cce72bdada41a8497b248f3655b97abdb8eb3d61c3d55d52",
"previousHash": null,
"changes": [],
"summary": "Added: Unloader One® (05690977326316) – Össur Iceland ehf.",
"diffText": null,
"payload": {
"kind": "device",
"input": "05690977326316",
"inputType": "udi-di",
"status": "found",
"statusReason": null,
"udiDi": "05690977326316",
"issuingAgency": "GS1",
"basicUdiDi": "5690967BU00037NG",
"tradeName": "Unloader One®",
"deviceName": null,
"model": "BU00037",
"reference": "B-241519712",
"description": null,
"riskClass": "Class I",
"riskClassCode": "refdata.risk-class.class-i",
"legislation": "MDR (Regulation (EU) 2017/745)",
"legislationCode": "refdata.applicable-legislation.mdr",
"legacyDevice": false,
"specialDeviceType": null,
"emdn": [
{
"code": "Y061209",
"name": "KNEE ORTHOSES"
}
],
"deviceStatus": "On the EU market",
"deviceStatusCode": "refdata.device-model-status.on-the-market",
"statusSince": "2026-05-27",
"registeredOn": "2026-05-27",
"lastUpdatedOn": "2026-05-27",
"versionNumber": 1,
"basicUdiVersionNumber": 1,
"discardedOn": null,
"placedOnTheMarketIn": "Netherlands",
"availableIn": [
"NL"
],
"sterile": false,
"singleUse": false,
"reusable": false,
"implantable": false,
"active": false,
"measuringFunction": false,
"latex": false,
"cmrSubstance": false,
"systemOrProcedurePack": null,
"manufacturer": {
"srn": "IS-MF-000000173",
"name": "Össur Iceland ehf.",
"country": "Iceland",
"countryCode": "IS",
"status": "Active",
"statusCode": "refdata.actor-status.active",
"address": "5 Grjótháls 110 Reykjavík"
},
"authorisedRepresentative": null,
"certificates": [],
"notifiedBodies": [],
"sourceUrl": "https://ec.europa.eu/tools/eudamed/#/screen/search-device/4ba04706-ea39-4924-9f79-addd38aec119",
"sourceCheckedAt": "2026-09-15T14:00:00.000Z"
}
}

Pricing

EventNameWhat it meansPrice
apify-actor-startActor startCharged by Apify when a run starts: once for a run of up to 1 GB of memory, and once more for every extra GB. It covers the first five seconds of compute.$0.00005 per run up to 1 GB of memory ($0.05 per 1,000)
device-delivered (primary)Device deliveredOne device (UDI-DI) delivered with identification, manufacturer, authorised representative, risk class, legislation, status, registration date, EMDN code and certificates with notified body. In monitor mode: each device of the first run of a watch (baseline) and each device the watch finds later.$0.05 per device ($50.00 per 1,000)
change-detectedChange detectedIn monitor mode: a device already in your watch whose status, certificates, manufacturer, authorised representative or identification changed, or that disappeared from EUDAMED. At most "Maximum changes per run" per run.$0.50 per change ($500.00 per 1,000)

The example input above (two UDI-DIs, one manufacturer with its devices, the newest hundred class III vascular implants) costs about $5. A competitor portfolio of 500 devices costs $25 once, in a lookup or as a watch's baseline, and then $0.50 per change, with maxChangesPerRun (default 200) as the ceiling of one run. The newest class III devices arrive at some 200 a day across all nomenclature branches ($10 a day); narrow the branch with an EMDN code and the feed costs cents.

A watched device whose first lookup failed, or a watched UDI-DI that EUDAMED did not know yet, is priced as a device when it is found, not as a change.

A search that suddenly answers without a single device, while the watch knows devices from it, is treated as an outage and not as a withdrawal of everything it holds: the run reports nothing as removed, charges nothing for that search and says in the log which search it was. The same holds for a watched UDI-DI that neither EUDAMED's public API nor its search returns any more: its last known state is kept, and the change is reported once EUDAMED answers again. EUDAMED keeps a withdrawn device with a status rather than deleting it, so a real withdrawal arrives as a changed record.

Not charged: manufacturer records, devices EUDAMED does not know, invalid identifiers, lookups that failed halfway, and unchanged devices in a watch, including new EUDAMED versions that change nothing a watch compares (links, the last-update date, wording next to a code).

FAQ

UDI-DI, Basic UDI-DI, SRN: which identifier do I use?

The UDI-DI is the identifier on the label of one device model (GS1 GTIN, HIBCC or ICCBBA code). The Basic UDI-DI groups models with the same intended purpose and design; certificates refer to it. The SRN identifies a manufacturer, authorised representative, importer or producer in EUDAMED (DE-MF-000006413). Any of them works; the UDI-DI is the precise one.

Why does a device I know is on the market come back as not found?

Registration is mandatory for devices placed on the market from 28 May 2026; legacy devices already on the market have until November 2026. A device may also be registered under a different issuing agency's format than the one you typed (HIBCC codes start with +, ICCBBA with =). Try the manufacturer's SRN or the trade name.

Why is a certificate missing from a device that certainly has one?

EUDAMED links certificates to the device group (Basic UDI-DI) only when the notified body entered that scope; the manufacturer record lists every certificate issued to the SRN regardless. Legacy (MDD/IVDD) devices often show no certificate at all, because their certificates predate the Certificates module.

Can I export a whole risk class?

Set maxDevicesPerSearch and maxDevicesPerRun high enough (class III holds about 165,000 UDI-DIs, at $0.05 each). For anything above a few thousand devices, split by EMDN branch across several runs; requests to EUDAMED are paced at 8 per second. Monitor mode is no cheaper way to export: its baseline costs the same per device.

The registers are public information published by the European Commission under Regulation (EU) 2017/745 for exactly this transparency purpose, reusable under CC BY 4.0 with attribution. EUDAMED's public actor data includes e-mail addresses, telephone numbers and the names of the persons responsible for regulatory compliance; the Actor does not read those fields, so its records contain no personal data and the GDPR does not apply to the output. It is not affiliated with the European Commission; regulatory conclusions remain yours.

Support

Found a bug or need a feature? Open an issue on the Actor page. We usually respond within a day.