Data sources / EU company ids
EU company ids: sources and method
One row per company website domain and official identifier: national register number, VAT number or LEI, with the sources that state it, when they stated it and a confidence.
- Row
- Domain × identifier (type, value)
- Key
- Company website domain; the identifier itself for the reverse lookup
- Refresh
- Register and GLEIF pairs refresh with each register sync; legal-notice pages follow the Common Crawl releases (about monthly). Coverage numbers below are dated.
Coverage by country
214,275 domain-to-id pairs for 174,910 European company domains, as of 2026-10-23. 13,222 of the 80,433 European company domains in our jobs, shops, reviews and tenders data (16.4%) have at least one national register or VAT id; an LEI alone is not counted. 2,517 pairs are stated by two independent sources.
| Country | Pairs | Domains with an id | Main id types | Domains in our other data | Of those, with a register or VAT id |
|---|---|---|---|---|---|
| Finland | 78,769 | 66,285 | Y-tunnus (FI) 68,717, LEI 9,948 | 1,210 | 46.9% |
| Norway | 44,343 | 39,474 | Organisasjonsnummer (NO) 42,102 | 1,022 | 38.1% |
| Germany | 22,958 | 15,189 | VAT 12,898, Handelsregister (DE) 5,965, LEI 3,630 | 14,600 | 59.3% |
| France | 17,546 | 13,528 | SIREN (FR) 13,929, TVA (FR) 2,043, LEI 1,433 | 5,430 | 14.3% |
| Czechia | 16,294 | 13,757 | IČO (CZ) 13,938, LEI 2,320 | 2,355 | 13.6% |
| United Kingdom | 6,211 | 5,273 | Companies House (UK) 5,117, LEI 551, VAT 468 | 13,056 | 1.9% |
| Denmark | 4,941 | 3,856 | VAT 3,892, LEI 1,017 | 1,579 | 3.7% |
| Netherlands | 4,782 | 3,927 | KvK (NL) 3,748, LEI 583, VAT 402 | 6,581 | 3.3% |
| Sweden | 3,566 | 2,497 | Organisationsnummer (SE) 2,384, LEI 913 | 6,112 | 11.9% |
| Belgium | 3,385 | 2,757 | KBO / BCE (BE) 2,785, LEI 533 | 1,371 | 24.7% |
| Italy | 2,460 | 1,740 | Partita IVA (IT) 1,774, LEI 613 | 4,215 | 3.0% |
| Poland | 2,368 | 1,275 | KRS (PL) 857, NIP (PL) 654, REGON (PL) 452 | 3,659 | 3.4% |
| Spain | 1,812 | 1,614 | NIF / CIF (ES) 1,498, LEI 235 | 2,965 | 3.8% |
| Austria | 1,614 | 977 | VAT 700, Firmenbuchnummer (AT) 667, LEI 232 | 1,016 | 38.9% |
| Greece | 642 | 598 | VAT 592, LEI 44 | 451 | 2.7% |
| Portugal | 541 | 512 | VAT 492, LEI 37 | 1,176 | 1.9% |
| Romania | 360 | 331 | VAT 282, LEI 67 | 3,712 | 1.3% |
| Slovakia | 247 | 216 | LEI 156, VAT 75, IČO (CZ) 16 | 225 | 1.8% |
| Hungary | 215 | 203 | VAT 140, LEI 69 | 1,366 | 0.7% |
| Latvia | 197 | 191 | VAT 99, LEI 97 | 318 | 0.6% |
| Switzerland | 167 | 149 | LEI 143 | 1,340 | 0.5% |
| Lithuania | 165 | 156 | VAT 83, LEI 76 | 1,292 | 0.8% |
| Ireland | 127 | 112 | VAT 83, LEI 34 | 1,774 | 0.8% |
| Croatia | 126 | 112 | VAT 99, LEI 22 | 1,220 | 1.1% |
| Slovenia | 118 | 110 | VAT 85, LEI 30 | 640 | 1.3% |
| Estonia | 112 | 108 | VAT 93, LEI 16 | 199 | 2.0% |
| Bulgaria | 80 | 71 | VAT 61, LEI 12, Companies House (UK) 4 | 789 | 0.4% |
| Luxembourg | 54 | 47 | VAT 40, LEI 12 | 99 | 2.0% |
| Cyprus | 43 | 39 | VAT 31, LEI 9 | 335 | 0.9% |
| Malta | 19 | 15 | VAT 13, LEI 4, SIREN (FR) 1 | 79 | 1.3% |
| Iceland | 10 | 10 | LEI 7, SIREN (FR) 2, KBO / BCE (BE) 1 | 235 | 0.0% |
| Liechtenstein | 3 | 3 | LEI 3 | 12 | 0.0% |
Domains in our other data: company domains from our jobs, shops, reviews and tenders data, the base for the share. Country of a pair: the country we hold for the domain, else its country-code domain, else the country of the id. A group site can carry ids from several countries.
By id type
| Id | Pairs | Domains |
|---|---|---|
| Y-tunnus (FI) | 69,074 | 66,431 |
| Organisasjonsnummer (NO) | 42,349 | 39,588 |
| LEI | 37,014 | 35,586 |
| VAT | 20,899 | 20,295 |
| SIREN (FR) | 14,348 | 13,869 |
| IČO (CZ) | 14,059 | 13,829 |
| Handelsregister (DE) | 5,999 | 5,335 |
| Companies House (UK) | 5,268 | 5,031 |
| KvK (NL) | 3,868 | 3,800 |
| KBO / BCE (BE) | 2,871 | 2,797 |
| Organisationsnummer (SE) | 2,499 | 2,438 |
| TVA (FR) | 2,153 | 2,103 |
| Partita IVA (IT) | 1,838 | 1,752 |
| NIF / CIF (ES) | 1,541 | 1,495 |
| KRS (PL) | 876 | 842 |
| Firmenbuchnummer (AT) | 764 | 734 |
| NIP (PL) | 679 | 667 |
| REGON (PL) | 459 | 446 |
By source and freshness
| Source | Pairs it states | Latest observation |
|---|---|---|
| Wikidata | 88,009 | 2026-10-23 |
| PRH / YTJ (FI) | 67,524 | 2026-10-23 |
| GLEIF | 45,789 | 2026-10-23 |
| Brønnøysund Register Centre (NO) | 36,835 | 2026-10-23 |
| Company's own legal notice | 16,914 | 2026-10-23 |
| CORDIS (EU research grants) | 2,659 | 2026-10-23 |
| INSEE SIRENE (FR) | 526 | 2026-10-23 |
A pair can have several sources, so the column adds up to more than the total. 100.0% of pairs were seen by a source in the 30 days before 2026-10-23. The numbers as JSON: company-ids-coverage.json.
Where it comes from
| Source | How we read it | Licence or basis |
|---|---|---|
| The company's own legal notice (imprint, mentions légales, aviso legal), Common Crawl copy first | Common Crawl index and archive; the live page only when Common Crawl has none, anonymous | Information the company must publish on its own site (e.g. German DDG §5, French LCEN art. 6) |
| Wikidata: official website and register-id properties | Public SPARQL endpoint, anonymous | CC0 1.0 |
| GLEIF: LEI records and the register id each entity is registered under | Public GLEIF API and golden-copy files, anonymous | CC0 1.0 |
| Norway: Brønnøysund Register Centre (Enhetsregisteret) | Official bulk file of all main units, anonymous | Norwegian Licence for Open Government Data (NLOD) 2.0 |
| Finland: Finnish Patent and Registration Office (PRH), YTJ open data | Official open-data API (daily bulk file), anonymous | Creative Commons Attribution 4.0 |
| France: INSEE SIRENE stock of legal units (data.gouv.fr) | Official open-data file, anonymous | Licence Ouverte / Open Licence 2.0 (Etalab) |
| EU research grants: CORDIS participant records (European Commission) | Official open-data files, anonymous | Reuse under Commission Decision 2011/833/EU (CC BY 4.0), attribution "© European Union" |
How the data is collected
- For each company domain we hold, the legal-notice page is found in Common Crawl (the live site only as a fallback) and read in memory; only identifiers are kept, never the page text.
- Every identifier is checked against its scheme: check digits where the scheme has one (SIREN, Partita IVA, KBO, NIP, REGON, IČO, organisasjonsnummer, Y-tunnus, LEI and others), the format plus its label where it has none (KvK, KRS, Companies House, Handelsregister).
- Wikidata, GLEIF and the national registers add pairs the company states elsewhere: the register row that names the website, the Wikidata item with both, the LEI record behind a register id.
- Each pair keeps its sources and the time each source showed it. A pair stated by two independent sources is marked corroborated.
Legal basis and collection rules
- Identifiers that companies are required to publish, and official open data used under its licence.
- Only pages and endpoints that answer an anonymous visitor: no login, no account, no credentials, tokens or keys of anyone else, no paywalled content.
- Before a source goes live we read its robots.txt and terms and record what they say. They are one of the signals we weigh for each source, together with whether the data is public without login and what the data is.
- Low request rates, only the pages and fields we need, and we slow down or stop when a site signals it.
Personal data
- Identifiers only: no names of people, no addresses of people, no page text is stored.
- Ids built from a person’s own number (Spanish DNI/NIE, Swedish personnummer, Czech birth-number VAT) are rejected by the validators, and sole traders get no name in any answer.
Details: privacy policy.
Quality and limits
- A pair enters the join set only with confidence 0.8 or more and when the id appears on at most 3 domains (a web agency’s or host’s id in many footers is dropped).
- A domain that more than 3 companies name as their website (a franchise chain, a property manager, a website builder) keeps only its corroborated ids. Where one id of a kind is corroborated and others are not, the others rank below it.
- Precision is audited on a stratified 300-row sample (id type × source × country) plus an automatic check of every pair against the other sources.
- Coverage follows the countries whose law puts the id on the website and the registers that state a website: strongest in DE, NO, FI, FR, CZ; thin in southern and eastern Europe.
- A group that runs one site for several legal entities can carry several ids of one kind; the corroborated one comes first.
- Not a register: the live status of an id comes from the official register or VIES at the time of the call, not from this table.
How to get it
Removal requests
If you run a source we read, or a record is about you or your business, write to [email protected] with the source or the record (a domain or a URL is enough). We stop collecting it and remove it from the files, the API, the MCP tools and the data pages within 24 hours, and reply once it is done.