EUDAMED Medical Device Companies Scraper avatar

EUDAMED Medical Device Companies Scraper

Pricing

from $17.00 / 1,000 results

Go to Apify Store
EUDAMED Medical Device Companies Scraper

EUDAMED Medical Device Companies Scraper

Directory of EU EUDAMED-registered medical device operators: manufacturers, authorised reps, importers and pack producers with email, phone, website, address, EU VAT and named regulatory-compliance contacts. JSON, CSV, Excel.

Pricing

from $17.00 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

a day ago

Last modified

Features

Limited permissions

Share

EUDAMED Medical Device Companies Scraper

EUDAMED Medical Device Companies Scraper

Who uses it

  • B2B sales and lead generation: reach medical device manufacturers and importers by country and role, with a company email, phone and a named regulatory-compliance decision-maker.
  • KYB, onboarding and compliance: verify a device company by SRN and EU VAT number, and confirm its registration status and validating authority.
  • Regulatory and market intelligence: map every manufacturer, authorised representative and importer active in a member state, and track new registrations by date.

Start in 3 steps

  1. On the Input tab, fill in country (for example DE).
  2. Click Start to run the actor.
  3. Export the results as JSON, CSV or Excel.

Here is one real result, with every field the actor returns:

{
"name": "'Drux' rotierende Dentalinstrumente GmbH",
"abbreviatedName": "Drux GmbH",
"srn": "DE-MF-000005337",
"actorType": "Manufacturer",
"actorTypeSrnCode": "MF",
"actorStatus": "Active",
"statusFromDate": null,
"country": "Germany",
"countryCode": "DE",
"countryType": "EU_MEMBER_STATE",
"electronicMail": "info@drux-gmbh.de",
"telephone": "0049 2261 29020",
"website": "www.drux-gmbh.de",
"street": "Hardtstraße 2",
"postBox": null,
"city": "Gummersbach",
"postalCode": "51643",
"europeanVatNumber": "DE120678877",
"versionNumber": 1,
"regulatoryComplianceResponsibles": [
{
"fullName": "Claudia Stevenson",
"firstName": "Claudia",
"familyName": "Stevenson"
}
],
"eudamedUrl": "https://ec.europa.eu/tools/eudamed/#/screen/search-eo?submitted=true&text=DE-MF-000005337",
"observedAt": "2026-11-06T19:31:02.304Z",
"error": null
}

The most complete EUDAMED company scraper available. It returns every registered medical device economic operator in the European database, manufacturers, authorised representatives, importers and system/procedure pack producers, with their contact email and phone, EU VAT number, website, full address and the named regulatory-compliance responsible person(s). Filter by country and operator role, or search by company name.

Input | Output | Pricing | ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

EUDAMED is the European Database on Medical Devices, the EU-wide register every manufacturer, authorised representative, importer and system/procedure pack producer must register in to place devices on the European market. This actor reads the public economic-operator register, applies the filters you pass, paginates through every matching company, and writes one normalized record per operator to the run's dataset.

Each record carries:

  • Company identity: registered name, Single Registration Number (SRN), operator role, status, and a direct link to the operator's EUDAMED page.
  • Contact block: email, phone, website and full postal address.
  • Verification identifiers: SRN and EU VAT number, ideal for KYB, onboarding and matching to local company registries.
  • Named compliance contacts: the name(s) of the person(s) responsible for regulatory compliance (the "PRRC" required under EU MDR/IVDR Article 15), all grouped on the operator's single record.
  • Status: active or inactive, and the date the status took effect when published.

Coverage is the entire European Union register, roughly 51,000 operators across all member states.

Quickstart

Open the actor, paste this into the input, and press Run. It returns 5 German manufacturers.

{
"country": ["DE"],
"actorType": ["manufacturer"],
"maxRecords": 5
}

Leave every filter empty to pull operators across all countries and roles. All filters are optional and combine together.

Input reference

FieldTypeRequiredDefaultDescription
maxRecordsintegerno10Maximum number of operators to collect. The register holds ~51,000 operators; for large pulls narrow by country and/or operator type.
searchNamestringno(empty)Keyword matched against the registered name, short name or SRN, for example medical, Medtronic. Leave empty to pull all operators matching the filters.
actorTypearrayno(all)One or more operator roles: manufacturer, authorised-representative, importer, system-procedure-pack-producer.
countryarrayno(all)Two-letter ISO country codes of the operator's registered address, for example DE, IT, FR, NL. Multiple codes are each fetched.

Output reference

One dataset item per economic operator. Types: string, integer, object[], or null when the source value is absent.

FieldTypeDescription
namestringRegistered operator (company) name.
srnstringSingle Registration Number, the EUDAMED identifier (e.g. DE-MF-000005337).
actorTypestringOperator role: Manufacturer, Authorised Representative, Importer or System / Procedure Pack Producer.
actorTypeSrnCodestringTwo-letter role code embedded in the SRN (MF, AR, IM, PR).
actorStatusstringRegistration status (Active / Inactive).
countrystringCountry of the operator's registered address.
countryCodestringTwo-letter ISO country code.
countryTypestringEU_MEMBER_STATE or NON_EU.
electronicMailstringOperator contact email.
telephonestringOperator contact phone.
websitestringOperator website.
streetstringStreet and building number.
citystringCity.
postalCodestringPostal code.
europeanVatNumberstringEU VAT number.
versionNumberintegerEUDAMED record version number.
regulatoryComplianceResponsiblesobject[]Named regulatory-compliance responsible person(s): fullName, firstName, familyName. null when the register lists none.
eudamedUrlstringLink to search this operator on the EUDAMED public site.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.

Fields shown as null are genuinely absent for that operator in the register; nothing is guessed.

Run via API and CLI

Any Apify run option works. Example with the Apify CLI:

apify call scrapers_lat/eudamed-medical-device-actors-scraper \
--input '{"country":["IT"],"actorType":["importer"],"maxRecords":50}'

Or via the REST API:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~eudamed-medical-device-actors-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"country":["FR"],"actorType":["manufacturer"],"maxRecords":100}'

Fetch results

Results land in the run's dataset and can be exported as JSON, CSV or Excel from the Apify console or the API:

$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=csv&token=YOUR_TOKEN"

Billing and limits

  • Pay per result. You are charged once per operator record written to the dataset. Failed runs never charge.
  • Free Apify plans are capped at 10 results per run; upgrade your Apify plan for larger pulls.
  • Set maxRecords to control run size and cost. The register holds ~51,000 operators total; use the country and operator-type filters to target the exact segment you need.

FAQ and troubleshooting

Which companies are covered? Every economic operator registered in the EU's EUDAMED database: manufacturers, authorised representatives, importers and system/procedure pack producers, across all member states.

How fresh is the data? It is read live from the EUDAMED public register on each run.

Why are some fields null? Not every operator publishes a phone, website, VAT number or named compliance contact. Those fields are returned as null when the register has no value; they are never guessed.

Are EORI, trade-register numbers or contact emails of the compliance person included? No. The register no longer provides these for automated access, so they are not part of the output. Compliance contacts are returned by name, and the company email and phone are included.

Can I get more than the count I set? No. maxRecords is a hard cap; the actor stops once it is reached.

Do I need a proxy or an API key? No. You only set your filters and run it.