EU Company Data Extractor – domain to company + VIES
Pricing
$6.00 / 1,000 company records
EU Company Data Extractor – domain to company + VIES
Turn any European company website into a structured record: legal name, legal form, address, registration number (HRB, SIREN, KvK, Companies House, P.IVA, CIF, CVR…), VAT ID validated via EU VIES, representatives, contacts and social links. EU, UK, CH. One record per domain.
Pricing
$6.00 / 1,000 company records
Rating
0.0
(0)
Developer
Este Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
EU Company Data Extractor – domain to company record (+ VIES VAT check)
Run it on Apify: https://apify.com/etse/eu-company-data-extractor · Source: MIT, https://github.com/Estefanolabudda/eu-company-data-extractor
Give it a list of company websites from anywhere in the EU, UK or Switzerland and get back one clean, structured company record per domain: legal name, legal form, address, company registration number, VAT ID validated live against EU VIES, representatives, contact data, share capital, hosting provider and the company's social profiles.
It reads the page every European business has to publish anyway: the Impressum (DE/AT/CH), Mentions légales (FR/BE/LU), Colofon (NL), Legal notice / Company information (UK/IE), Note legali (IT), Aviso legal (ES), plus terms and privacy pages as a fallback, and turns the free text into fields for your CRM, KYB workflow or AI agent.
Countries and identifiers
| Country | Registration number | VAT ID |
|---|---|---|
| Germany | HRB / HRA + Registergericht | DE… |
| Austria | FN (Firmenbuch) | ATU… |
| Switzerland | CH-… UID register | CHE-… MWST (not in VIES) |
| France | SIREN / SIRET, RCS city | FR… |
| Netherlands | KvK number | NL…B01 |
| Belgium | KBO/BCE enterprise number | BE0… |
| Luxembourg | RCS Luxembourg B… | LU… |
| United Kingdom | Companies House number | GB… (not in VIES) |
| Ireland | CRO number | IE… |
| Italy | Partita IVA, REA | IT… |
| Spain | CIF / NIF, Registro Mercantil | ES… |
| Portugal | NIPC / NIF | PT… |
| Denmark | CVR | DK… |
| Sweden / Norway | Organisationsnummer | SE… |
| Poland | KRS, NIP | PL… |
| Czechia, Hungary, Finland | IČO, Cégjegyzékszám, Y-tunnus | CZ…, HU…, FI… |
| Other EU | generic "registration number" + any EU VAT format | all EU formats |
What you get
| Field | Example |
|---|---|
companyName, legalForm | Lumière Digitale SAS, SAS |
street, postalCode, city, country | 12 rue de la Paix, 75002, Paris, FR |
registerType, registerNumber, registerCourt | SIRET, 81234567800012, RCS Paris |
vatId + vies | FR12812345678 → { valid: true, name: "...", address: "..." } |
representatives[], responsiblePerson | ["Marie Dupont"] |
email, phone, fax, supervisoryAuthority | |
shareCapital, hostingProvider | 50 000 euros, OVH SAS |
websiteTitle, websiteDescription | homepage meta |
linkedinUrl, facebookUrl, instagramUrl, twitterUrl, youtubeUrl, xingUrl | social profiles linked from the homepage |
impressumUrl, fetchedVia, confidence, fieldsFound[], errors[] | provenance and quality |
confidence (0–1) counts how many of the four core blocks were found: name, postal address, an official identifier (registration number / VAT ID), and a contact channel. Filter on confidence >= 0.75 for CRM-grade data.
Why this Actor
- Legal-page aware in 10+ languages. Finds Impressum, Mentions légales, Aviso legal, Note legali, Colofon, Legal notice, Company information; follows index pages with several sub-pages; falls back to terms and privacy pages where UK/NL companies hide their entity.
- Handles JavaScript sites. Pages rendered client-side are re-fetched with a headless browser automatically (cookie banners are accepted so the legal text is in the DOM).
- Country-specific formats built in. UK one-line registered offices (
10 Downing Street, London SW1A 2AA), Dutch1015 CJpostcodes, French number-first streets, Belgian0123.456.789enterprise numbers, Italian P.IVA = VAT, obfuscated e-mails. - VIES validation included. Every EU VAT ID is checked against the official service, with registered name and address where available.
- Enrichment in the same run. Website title and description plus LinkedIn, Facebook, Instagram, X, YouTube and Xing links from the homepage, so a domain list becomes a CRM-ready company list in one step.
- Agent-ready. Works through the Apify MCP server, so an AI agent can look up the legal entity behind a website before writing an offer, a contract or a due-diligence note.
Typical uses (domain to company, company enrichment, KYB)
- Enrich a lead list of domains with legal entity, registration number, VAT ID and LinkedIn page before importing into HubSpot, Pipedrive or Salesforce.
- Supplier / customer onboarding (KYB): confirm that the entity on the website matches the entity on the invoice, VIES status included.
- Build a European company dataset from a list of websites.
- Agencies: check legal-page completeness across client sites.
Input
{"startUrls": [{ "url": "https://www.ovhcloud.com" }, { "url": "mollie.com" }, { "url": "https://www.ocado.com" }],"validateVatId": true,"maxCandidatesPerSite": 3,"tryCommonPaths": true,"useBrowserFallback": true}
Output example
{"domain": "sevdesk.de","impressumUrl": "https://sevdesk.de/impressum/","companyName": "sevDesk GmbH","legalForm": "GmbH","street": "Im Unteren Angel 1","postalCode": "77652","city": "Offenburg","country": "DE","registerCourt": "Amtsgericht Freiburg","registerType": "HRB","registerNumber": "710506","vatId": "DE291779897","vies": { "checked": true, "valid": true },"representatives": ["Rico Andersen"],"email": "support@sevdesk.com","phone": "+49-781-125508-10","linkedinUrl": "https://www.linkedin.com/company/sevdesk","confidence": 1}
Pricing
Pay per event: you are charged only for records with confidence >= 0.25, i.e. domains where company data was actually found. Unreachable or blocked sites and sites without a legal page cost nothing.
Accuracy and limits
- Legal pages are free text; extraction is heuristic. Keep
impressumUrlandconfidencenext to the data and spot-check records below 0.75. - Live benchmark (October 2026,
BENCHMARK.md): on a deliberately hard set of 22 large consumer/tech sites across 12 countries, 10 returned CRM-grade records (confidence ≥ 0.75) and 16 a country; the misses were sites with bot protection (bol.com, allegro.pl, doctolib.fr, cabify.com) or whose legal entity only appears deep inside terms pages. On the simpler DACH benchmark of the sibling Actor, 18 of 20 sites succeed. Typical SME websites with a normal legal page are the easy case. - Sites with aggressive bot protection may return
errors; use Apify Proxy (residential) viaproxyConfigurationif you need those. - UK and Swiss VAT numbers are not in VIES;
vies.checked = falsewith a reason is returned. - Companies that publish only a trading name and no identifiers get a low confidence by design.
Data protection
The Actor only reads information that the website operator is legally obliged to publish or has chosen to publish about the company. Under the Apify Store terms you (the user) are the controller of the data you collect and responsible for a lawful basis for the intended use (e.g. B2B contact, KYB). Do not use the output for unsolicited marketing where local law requires consent.
Changelog
- 0.1 – initial release: 15+ country profiles, legal-page discovery in 10 languages, browser fallback, VIES validation, social-profile enrichment, pay-per-event pricing.