EU + UK company identifiers: a 6-country KYB reference

A one-page reference to the company-number formats, checksums, registries, and data freshness you need to verify companies across Spain, France, the UK, Ireland, Poland, and Norway. When a KYB integration crosses a border, the "company id" stops being a single thing — store the wrong one, or validate it with the wrong rule, and you get silent "company not found" failures at onboarding.

Identifier formats at a glance

Coverage, freshness, and beneficial ownership

Spain (company + people + events) and France (company + events) refresh daily and expose director/representative identity from the gazettes. The UK refreshes daily with officers plus PSC beneficial ownership. Norway refreshes daily from Brønnøysundregistrene with companies and officers — the fourth country with director data — but has no gazette equivalent, so corporate-event endpoints return nothing for NO. Ireland and Poland are company-level only today — no directors, UBO, or event timeline. Beneficial ownership is a first-class feed only for the UK (PSC); register access differs sharply by member state and some are legally restricted. Live per-country counts and latest refresh are always at /coverage — the source of truth, not this article.

One shape, six countries

Pass ?country=ES|FR|GB|IE|PL|NO on /companies/search and /companies/{id}; Spain is the default. Each country returns its native identifiers plus a normalized company object, so one integration covers all six. Store the registry primary key as your canonical reference (SIREN not SIRET in France), normalize on write, and validate format and checksum client-side to reject typos without spending a lookup.

Read more · Get a free API key

Identifier formats at a glance

CountryRegistryPrimary IDFormat & exampleChecksumAlso seen
🇪🇸 SpainBORMENIF / CIFLetter + 7 digits + control char — B12345678Yes (control char)
🇫🇷 FranceBODACC + RNESIREN9 digits — 552100554Yes (Luhn)SIRET (14 = SIREN + 5), RCS
🇬🇧 UKCompanies HouseCompany number8 chars: 8 digits, or 2-letter prefix + 6 — 12345678, SC123456No
🇮🇪 IrelandCROCRO numberUp to ~6–7 digits — 123456No
🇵🇱 PolandKRSKRS number10 digits, zero-padded — 0000123456NoNIP (10, checksum), REGON (9/14)
🇳🇴 NorwayBrønnøysundregistrene (Enhetsregisteret)Organisasjonsnummer9 digits — 123456789VAT number = organisasjonsnummer + MVA

Coverage, freshness, and beneficial ownership

CountryDepthRefreshDirectors / beneficial ownership?country=
🇪🇸 SpainCompany + people + corporate eventsDaily (BORME)Director/officer identity; no separate UBO registerES (default)
🇫🇷 FranceCompany + corporate eventsDaily (BODACC/RNE)Director/representative identity from BODACCFR
🇬🇧 UKCompany + officers + PSC + eventsDaily (Companies House)PSC beneficial ownership + officer appointmentsGB
🇮🇪 IrelandCompany-levelRolling (CRO Open Data)Not yet exposedIE
🇵🇱 PolandCompany-level (active legal entities)Rolling (KRS)Not yet exposedPL
🇳🇴 NorwayCompany + officers (no event timeline)Daily (Brønnøysundregistrene)Officer/director identity; no UBO feedNO

Frequently asked questions

Which identifier should I store for each country?
Store the registry primary key: NIF/CIF in Spain, SIREN in France (SIRET only if you need a specific establishment), the Companies House number in the UK, the CRO number in Ireland, the KRS number in Poland (plus NIP if you also need the tax identifier), and the organisasjonsnummer in Norway. These are the values Prometiam keys on for /companies/{id} lookups.
How do I validate a Spanish NIF or French SIREN before calling the API?
A Spanish NIF/CIF is a leading letter (legal form) + 7 digits + a control character you can recompute locally. A French SIREN is 9 digits with a Luhn checksum. Validating the format client-side before an API call rejects typos early and saves quota.
Does Prometiam provide beneficial ownership for all six countries?
UK beneficial ownership is available via the Companies House PSC (person-with-significant-control) register on /companies/{id}?country=GB and /people/{id}?country=GB. Spain, France and Norway expose director/officer identity; Ireland and Poland are company-level today, with no UBO feed. Register access differs by member state and some are legally restricted.
How fresh is the data per country?
Spain (BORME), France (BODACC/RNE), the UK (Companies House) and Norway (Enhetsregisteret / Brønnøysundregistrene) are refreshed daily from the official sources. Ireland (CRO) and Poland (KRS) are company-level and refreshed on a rolling basis. Live counts and the latest refresh per country are published at /coverage.
How do I query a specific country?
Pass ?country=ES|FR|GB|IE|PL|NO on /companies/search and /companies/{id}. Spain is the default. Each country returns its native identifiers and a normalized company shape so one integration covers all six.