EUDAMED Scraper & Change Monitor (EU MDR/IVDR) avatar

EUDAMED Scraper & Change Monitor (EU MDR/IVDR)

Under maintenance

Pricing

Pay per usage

Go to Apify Store
EUDAMED Scraper & Change Monitor (EU MDR/IVDR)

EUDAMED Scraper & Change Monitor (EU MDR/IVDR)

Under maintenance

Export the EU EUDAMED medical device database (MDR/IVDR) to JSON/CSV/Excel and schedule daily change-monitoring of new registrations, status & certificate changes by manufacturer, SRN, UDI or risk class. Public data; not affiliated with the European Commission.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

YuanCore

YuanCore

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Search, export and monitor changes in the EU EUDAMED public medical-devices database — the official European Commission registry for devices placed on the EU market under MDR (2017/745) and IVDR (2017/746). Export to JSON / CSV / Excel.

There is no public bulk export of other companies' devices in the official UI — you read it one row at a time. This actor turns the public registry into clean, structured, schedulable data, and (uniquely) lets you watch for changes instead of re-pulling everything.

⭐ Primary use — daily change monitoring

Set monitorSince to an ISO date and schedule the actor daily: it returns only devices whose lastUpdateDate is on/after that date — a lightweight change feed. Ideal for RA/QA and competitive-intelligence teams tracking newly registered or updated devices ahead of the MDR/IVDR registration waves (mandatory EUDAMED use lands 28 May 2026).

This is the cheap, fast, intended mode. Use it instead of repeatedly dumping the whole database.

Bulk / search pull (one-off)

Set filters in searchParams and a maxItems cap to pull a slice. ⚠️ A full pull is ~2.5M devices and takes roughly 1.5–3 hours and significant compute — only do it when you genuinely need a one-off export, and prefer narrowing with searchParams.

What you get per device

basicUdi, primaryDi, uuid, deviceName, tradeName, deviceModel, riskClass, manufacturerName, manufacturerSrn, deviceStatusType, applicableLegislation, sterile, multiComponent, issuingAgency, containerPackageCount, lastUpdateDate, version info. Enable Fetch full device detail for the deep per-device record (EMDN, certificates, etc.).

Who it's for

  • Regulatory Affairs / QA — monitor competitor registrations, certificate and status changes.
  • Medical-device market intelligence — map manufacturers, risk classes and EMDN categories across the EU.
  • Compliance / due-diligence — verify a manufacturer's EUDAMED footprint.

Input

fieldmeaning
monitorSinceISO date (YYYY-MM-DD) — only devices updated on/after it (the change feed). Recommended.
searchParamsextra EUDAMED API filter params (object), e.g. by status; leave {} for all
maxItemsstop after N devices. ⚠️ a full pull is ~2.5M ≈ 1.5–3h
pageSizeAPI page size (size), max 300
fetchDetailsalso pull the deep per-device detail record. ⚠️ +1 API call per device — keep maxItems low (≤500) when on
includePersonalDatainclude the authorised-representative name field. Off by default (redacted) — see Data & compliance
languageIso2Coderesponse language, default en

Reliability

  • Schema-drift guard — if EUDAMED changes its API shape (or an unfiltered pull comes back empty), the run fails loudly instead of silently producing an empty/garbage dataset.
  • De-duplication within a run; identity-less records are never folded together.
  • Core-field completeness is tracked each run and warns if it collapses (a silent-corruption signal).
  • An automated read-back test (npm test) asserts the above against the live API.

Data & compliance

  • Source is the public EUDAMED API (ec.europa.eu/tools/eudamed) — no login; public EU transparency data.
  • Reused under the European Commission reuse policy (CC BY 4.0); attribute European Commission – EUDAMED. Data is structured/normalized by this actor.
  • Company-level data. The authorised-representative name can identify a natural person, so it is redacted by default; enable includePersonalData only with a lawful basis. Users are responsible for GDPR-compliant use.
  • Not affiliated with the European Commission. No warranty on accuracy/completeness; verify against the official source before relying on it for decisions.
  • Polite pacing built in.

FAQ

Is there an official EUDAMED API for downloading device data?

Not for reading other companies' devices in bulk. The European Commission exposes a restricted machine-to-machine (M2M) API, but it requires official registration through a national authority and is designed for submitting your own UDI/device data into EUDAMED — not for pulling the whole public registry out. The public search UI at ec.europa.eu/tools/eudamed is backed by undocumented JSON endpoints (e.g. /api/devices/udiDiData), but there is no supported public bulk export, no official CSV/Excel "download all," and no documented change feed. This actor reads only those public, no-auth endpoints and turns them into clean, schedulable, structured output. Not affiliated with the European Commission.

How do I export EUDAMED to Excel or CSV?

The official UI has no usable bulk "export to Excel/CSV" of the public registry — you read results one page at a time, and the Excel templates you find online are for uploading your own data into EUDAMED, not exporting other manufacturers' records. With this actor you run a search (or a monitorSince change pull), then on the Storage / Dataset tab click Export and pick CSV, Excel (XLSX), JSON, or HTML — or fetch the dataset via Apify's API. Tip: narrow with searchParams and cap with maxItems first, because a full registry pull is ~2.5M devices and takes hours.

Can I monitor competitor registrations or status changes?

Yes — that's the headline mode. Set monitorSince to an ISO date and schedule the actor daily: it returns only devices whose lastUpdateDate is on/after that date — a lightweight diff feed of newly registered or updated devices. Combine it with searchParams (e.g. a manufacturer SRN, risk class, or device status) to watch a specific competitor, product family, or category. It's especially relevant in 2026: under Commission Decision (EU) 2025/2371, the first EUDAMED modules become mandatory on 28 May 2026, and legacy devices must be registered by 28 November 2026 — a sustained registration wave worth watching.

Is the data public and GDPR-compliant to use?

The source is the public EUDAMED database — no login, EU transparency data, reused under the European Commission reuse policy (CC BY 4.0; attribute European Commission – EUDAMED). The output is company-level (manufacturer, SRN, UDI, risk class, status). The one field that can identify a natural person — the authorised-representative name — is redacted by default; enable includePersonalData only if you have a lawful basis. You remain the controller for your downstream use. Not affiliated with the European Commission; verify against the official source before relying on it for regulatory decisions.

How fresh is this data?

EUDAMED is updated continuously as manufacturers and authorised representatives register and amend records. This actor reads the live public API at run time, so a scheduled daily run with monitorSince set to "yesterday" gives you a same-day view of what changed. Each output row carries lastUpdateDate (from EUDAMED) and scrapedAt (when this actor read it) so you can audit freshness.

EUDAMED website vs this actor

Manual EUDAMED search (official UI)This actor
Bulk exportNone — read one page at a timeOne run → CSV / Excel / JSON / HTML
Change monitoringNot available — re-check manuallymonitorSince returns only devices updated on/after a date; schedule daily
SpeedSearches commonly take 10–20s; each page = a new searchPaged API pulls, de-duplicated, structured
FilteringBasic UI filterssearchParams passed straight to the EUDAMED API (status, class, SRN, etc.)
Scheduling / automationManual, browser-onlyApify Schedules + API/webhooks; pay-per-usage
Structured outputCopy/paste from the pageNormalized fields per device (basicUdi, primaryDi, riskClass, manufacturerSrn, lastUpdateDate, …)
PII handlingNames shown in UIAuthorised-rep name redacted by default (GDPR)
ReliabilityYou eyeball itSchema-drift guard fails loudly on API shape changes / empty pulls; completeness tracked per run

Public data only; not affiliated with the European Commission. A full registry pull is ~2.5M devices (hours of compute) — prefer monitorSince + searchParams.