{
  "title": "Company identifier formats by country",
  "source": "https://www.prometiam.com/reference/company-identifiers",
  "updated": "2026-10-24",
  "license": "Free to cite with attribution to Prometiam and a link to https://www.prometiam.com/reference/company-identifiers.",
  "legend": {
    "N": "digit",
    "L": "letter",
    "X": "digit or letter",
    "C": "check digit or check character"
  },
  "regex_note": "Regexes describe the normalised form (normalised_example) and use only syntax shared by JavaScript, Python re and PostgreSQL.",
  "check_digit_values": {
    "enforced": "a wrong check digit is refused",
    "advisory": "a mismatch is a warning; the number is still accepted because genuine numbers exist that fail it",
    "none": "the register publishes no check digit; the shape is the only test"
  },
  "note": "A valid shape and check digit prove a number is well-formed, not that the company exists. Which entities the Prometiam API serves in each country has its own limits (see the country guides).",
  "identifiers": [
    {
      "id": "es-nif",
      "country_code": "ES",
      "country": "Spain",
      "register": "Registro Mercantil (BORME)",
      "identifier": "NIF / CIF",
      "shape": "L N{7} C",
      "regex": "^[ABCDEFGHJNPQRSUVW][0-9]{7}[0-9A-J]$",
      "check_digit": "enforced",
      "algorithm": "Odd positions of the 7 digits are doubled (a product above 9 loses 9) and the rest are added; control = (10 - sum mod 10) mod 10, written as that digit or as its letter (J A B C D E F G H I).",
      "example": "A28015865",
      "normalised_example": "A28015865",
      "other_accepted": [
        "A-28015865"
      ],
      "near_miss": "A28015866",
      "api_parameter": "company_number",
      "api_alias": "nif",
      "api_country": "ES",
      "api_example": "/companies/search?country=ES&company_number=A28015865",
      "vat_number": "ES + NIF (built from the identifier by rule, registration not confirmed)",
      "notes": "The first letter is the legal form (A public limited company, B limited company). A personal DNI or NIE has a different check (a mod 23 letter) and is not a company identifier: the API refuses it.",
      "lookup_tool": "https://www.prometiam.com/tools/nif-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-borme"
    },
    {
      "id": "fr-siren",
      "country_code": "FR",
      "country": "France",
      "register": "INSEE (Sirene), RNE",
      "identifier": "SIREN",
      "shape": "N{8} C",
      "regex": "^[0-9]{9}$",
      "check_digit": "enforced",
      "algorithm": "Luhn (mod 10) over the 9 digits.",
      "example": "552032534",
      "normalised_example": "552032534",
      "other_accepted": [
        "552 032 534"
      ],
      "near_miss": "552032535",
      "api_parameter": "siren",
      "api_alias": null,
      "api_country": "FR",
      "api_example": "/companies/search?country=FR&siren=552032534",
      "vat_number": "FR + 2-digit key + SIREN (built from the identifier by rule, registration not confirmed)",
      "notes": "The SIREN identifies the legal unit; the SIRET adds a 5-digit establishment number. Non-diffusible companies are found only by SIREN or SIRET, never by name.",
      "lookup_tool": "https://www.prometiam.com/tools/siren-lookup",
      "guide": "https://www.prometiam.com/guides/siren-vs-siret"
    },
    {
      "id": "fr-siret",
      "country_code": "FR",
      "country": "France",
      "register": "INSEE (Sirene), RNE",
      "identifier": "SIRET",
      "shape": "N{9} N{4} C",
      "regex": "^[0-9]{14}$",
      "check_digit": "enforced",
      "algorithm": "Luhn (mod 10) over the 14 digits. La Poste (SIREN 356000000) is the documented exception: its digits add up to a multiple of 5.",
      "example": "55203253400646",
      "normalised_example": "55203253400646",
      "other_accepted": [
        "552 032 534 00646"
      ],
      "near_miss": "55203253400647",
      "api_parameter": "siret",
      "api_alias": null,
      "api_country": "FR",
      "api_example": "/companies/search?country=FR&siret=55203253400646",
      "vat_number": "FR + 2-digit key + SIREN (built from the identifier by rule, registration not confirmed)",
      "notes": "SIREN (9 digits) plus the 5-digit NIC of one establishment. Store the SIREN as the company reference.",
      "lookup_tool": "https://www.prometiam.com/tools/siren-lookup",
      "guide": "https://www.prometiam.com/guides/siren-vs-siret"
    },
    {
      "id": "gb-company",
      "country_code": "GB",
      "country": "United Kingdom",
      "register": "Companies House",
      "identifier": "Company number",
      "shape": "N{8} | L{2} N{6}",
      "regex": "^([0-9]{8}|[A-Z]{2}[0-9]{6})$",
      "check_digit": "none",
      "algorithm": "No check digit: 8 digits, or 2 letters and 6 digits. The shape is the only test.",
      "example": "00445790",
      "normalised_example": "00445790",
      "other_accepted": [
        "SC095237"
      ],
      "near_miss": null,
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "GB",
      "api_example": "/companies/search?country=GB&company_number=00445790",
      "vat_number": null,
      "notes": "The prefix names the type: SC Scotland, NI Northern Ireland, OC, SO and NC limited liability partnerships, FC overseas companies. A well-formed number does not prove the company exists.",
      "lookup_tool": "https://www.prometiam.com/tools/companies-house-number-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-companies-house"
    },
    {
      "id": "ie-cro",
      "country_code": "IE",
      "country": "Ireland",
      "register": "CRO",
      "identifier": "CRO number",
      "shape": "N{4,7}",
      "regex": "^[0-9]{4,7}$",
      "check_digit": "none",
      "algorithm": "No check digit: a plain sequential integer (4 to 7 digits are accepted). The shape is the only test.",
      "example": "100416",
      "normalised_example": "100416",
      "other_accepted": [],
      "near_miss": null,
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "IE",
      "api_example": "/companies/search?country=IE&company_number=100416",
      "vat_number": null,
      "notes": "No letter prefix and no check digit. A well-formed number does not prove the company exists.",
      "lookup_tool": "https://www.prometiam.com/tools/cro-number-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-cro"
    },
    {
      "id": "pl-nip",
      "country_code": "PL",
      "country": "Poland",
      "register": "Krajowa Administracja Skarbowa (KAS)",
      "identifier": "NIP",
      "shape": "N{9} C",
      "regex": "^[0-9]{10}$",
      "check_digit": "enforced",
      "algorithm": "Weights 6,5,7,2,3,4,5,6,7 over the first 9 digits; the sum mod 11 is the check digit. A remainder of 10 is never issued.",
      "example": "7740001454",
      "normalised_example": "7740001454",
      "other_accepted": [
        "774-000-14-54"
      ],
      "near_miss": "7740001455",
      "api_parameter": "nip",
      "api_alias": null,
      "api_country": "PL",
      "api_example": "/companies/search?country=PL&nip=7740001454",
      "vat_number": "PL + NIP (built from the identifier by rule, registration not confirmed)",
      "notes": "The NIP is the tax number. The KRS register number (10 digits, zero-padded, taken by company_number) has no check digit and is not validated here.",
      "lookup_tool": "https://www.prometiam.com/tools/krs-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-krs"
    },
    {
      "id": "pl-regon",
      "country_code": "PL",
      "country": "Poland",
      "register": "GUS (REGON)",
      "identifier": "REGON",
      "shape": "N{8} C | N{13} C",
      "regex": "^([0-9]{9}|[0-9]{14})$",
      "check_digit": "enforced",
      "algorithm": "REGON-9: weights 8,9,2,3,4,5,6,7, sum mod 11 (10 reads as 0). REGON-14 repeats that on its first 9 digits and adds a second check over all 13 (weights 2,4,8,5,0,9,7,3,6,1,2,4,8).",
      "example": "610188201",
      "normalised_example": "610188201",
      "other_accepted": [],
      "near_miss": "610188202",
      "api_parameter": "regon",
      "api_alias": null,
      "api_country": "PL",
      "api_example": "/companies/search?country=PL&regon=610188201",
      "vat_number": null,
      "notes": "REGON-9 identifies the entity, REGON-14 a local unit of it.",
      "lookup_tool": "https://www.prometiam.com/tools/krs-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-krs"
    },
    {
      "id": "no-orgnr",
      "country_code": "NO",
      "country": "Norway",
      "register": "Brønnøysundregistrene",
      "identifier": "Organisasjonsnummer",
      "shape": "N{8} C",
      "regex": "^[0-9]{9}$",
      "check_digit": "enforced",
      "algorithm": "Weights 3,2,7,6,5,4,3,2 over the first 8 digits; check = 11 minus the sum mod 11 (0 when the remainder is 0). A result of 10 is never issued.",
      "example": "923609016",
      "normalised_example": "923609016",
      "other_accepted": [
        "923 609 016"
      ],
      "near_miss": "923609017",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "NO",
      "api_example": "/companies/search?country=NO&company_number=923609016",
      "vat_number": "NO + number + MVA (confirmed by the register or published by it)",
      "notes": "Sole proprietorships (ENK) are included as the register publishes them.",
      "lookup_tool": "https://www.prometiam.com/tools/organisasjonsnummer-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-brreg"
    },
    {
      "id": "fi-ytunnus",
      "country_code": "FI",
      "country": "Finland",
      "register": "PRH / YTJ",
      "identifier": "Y-tunnus",
      "shape": "N{7}-C",
      "regex": "^[0-9]{7}-[0-9]$",
      "check_digit": "enforced",
      "algorithm": "Weights 7,9,10,5,8,4,2 over the 7 digits; check = 11 minus the sum mod 11 (0 when the remainder is 0). A remainder of 1 has no check digit, so such a number is never issued.",
      "example": "0112038-9",
      "normalised_example": "0112038-9",
      "other_accepted": [
        "01120389",
        "112038-9"
      ],
      "near_miss": "0112038-8",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "FI",
      "api_example": "/companies/search?country=FI&company_number=0112038-9",
      "vat_number": "FI + the 8 digits without the hyphen (confirmed by the register or published by it)",
      "notes": "A 6-digit body (a pre-2001 trade-register number) is read with its leading zero restored.",
      "lookup_tool": "https://www.prometiam.com/tools/y-tunnus-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-kaupparekisteri"
    },
    {
      "id": "se-orgnr",
      "country_code": "SE",
      "country": "Sweden",
      "register": "Bolagsverket",
      "identifier": "Organisationsnummer",
      "shape": "N{6}-N{3} C",
      "regex": "^[0-9]{6}-[0-9]{4}$",
      "check_digit": "enforced",
      "algorithm": "Luhn (mod 10) over the 10 digits, and the third digit must be 2 or higher.",
      "example": "556012-5790",
      "normalised_example": "556012-5790",
      "other_accepted": [
        "5560125790"
      ],
      "near_miss": "556012-5791",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "SE",
      "api_example": "/companies/search?country=SE&company_number=556012-5790",
      "vat_number": "SE + 10 digits + 01 (built from the identifier by rule, registration not confirmed)",
      "notes": "A personal identity number (personnummer) has a third digit of 0 or 1 and is refused. Sole traders are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/organisationsnummer-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-bolagsverket"
    },
    {
      "id": "hr-mbs",
      "country_code": "HR",
      "country": "Croatia",
      "register": "Sudski registar",
      "identifier": "MBS",
      "shape": "N{8} C",
      "regex": "^[0-9]{9}$",
      "check_digit": "advisory",
      "algorithm": "ISO 7064 MOD 11,10 over the first 8 digits. Advisory: a mismatch is a warning, not a rejection.",
      "example": "080000604",
      "normalised_example": "080000604",
      "other_accepted": [
        "80000604"
      ],
      "near_miss": "080000605",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "HR",
      "api_example": "/companies/search?country=HR&company_number=080000604",
      "vat_number": null,
      "notes": "The court register itself documents a few legacy numbers whose check digit was computed wrongly. A dropped leading zero is restored. Not the OIB.",
      "lookup_tool": "https://www.prometiam.com/tools/mbs-oib-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-sudski-registar"
    },
    {
      "id": "hr-oib",
      "country_code": "HR",
      "country": "Croatia",
      "register": "OIB (Porezna uprava)",
      "identifier": "OIB",
      "shape": "N{10} C",
      "regex": "^[0-9]{11}$",
      "check_digit": "enforced",
      "algorithm": "ISO 7064 MOD 11,10 over the first 10 digits.",
      "example": "27759560625",
      "normalised_example": "27759560625",
      "other_accepted": [],
      "near_miss": "27759560626",
      "api_parameter": "oib",
      "api_alias": null,
      "api_country": "HR",
      "api_example": "/companies/search?country=HR&oib=27759560625",
      "vat_number": "HR + OIB (built from the identifier by rule, registration not confirmed)",
      "notes": "Issued to companies and to individuals alike, so a valid OIB does not say which. Nine digits is the length of an MBS, a different number.",
      "lookup_tool": "https://www.prometiam.com/tools/mbs-oib-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-sudski-registar"
    },
    {
      "id": "be-enterprise",
      "country_code": "BE",
      "country": "Belgium",
      "register": "KBO / BCE",
      "identifier": "Enterprise number",
      "shape": "N{8} C{2}",
      "regex": "^[01][0-9]{3}\\.[0-9]{3}\\.[0-9]{3}$",
      "check_digit": "enforced",
      "algorithm": "10 digits starting with 0 or 1; the last two are 97 minus the first eight digits mod 97.",
      "example": "0417.497.106",
      "normalised_example": "0417.497.106",
      "other_accepted": [
        "0417497106",
        "417497106"
      ],
      "near_miss": "0417.497.107",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "BE",
      "api_example": "/companies/search?country=BE&company_number=0417.497.106",
      "vat_number": "BE + the 10 digits (confirmed by the register or published by it)",
      "notes": "Written 0NNN.NNN.NNN; dots and spaces are optional and a dropped leading zero is restored. Enterprises of natural persons are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/enterprise-number-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-the-kbo"
    },
    {
      "id": "dk-cvr",
      "country_code": "DK",
      "country": "Denmark",
      "register": "CVR (Erhvervsstyrelsen)",
      "identifier": "CVR number",
      "shape": "N{8}",
      "regex": "^[0-9]{8}$",
      "check_digit": "advisory",
      "algorithm": "Weights 2,7,6,5,4,3,2,1 over all 8 digits; the sum should divide by 11. Advisory: a mismatch is a warning.",
      "example": "24256790",
      "normalised_example": "24256790",
      "other_accepted": [
        "24 25 67 90"
      ],
      "near_miss": "24256791",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "DK",
      "api_example": "/companies/search?country=DK&company_number=24256790",
      "vat_number": "DK + CVR (built from the identifier by rule, registration not confirmed)",
      "notes": "Some genuine CVR numbers fail the mod-11 check. Sole proprietorships and estates are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/cvr-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-cvr"
    },
    {
      "id": "ee-registry-code",
      "country_code": "EE",
      "country": "Estonia",
      "register": "Äriregister (RIK)",
      "identifier": "Registry code (registrikood)",
      "shape": "N{7} C",
      "regex": "^[1789][0-9]{7}$",
      "check_digit": "enforced",
      "algorithm": "First digit 1, 7, 8 or 9. Weights 1 to 7 over the first 7 digits, sum mod 11; when that is 10 the weights 3 to 9 are used, and a second 10 reads as 0.",
      "example": "10060701",
      "normalised_example": "10060701",
      "other_accepted": [
        "1006 0701"
      ],
      "near_miss": "10060702",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "EE",
      "api_example": "/companies/search?country=EE&company_number=10060701",
      "vat_number": "EE + 9 digits (KMKR, a separate number) (confirmed by the register or published by it)",
      "notes": "The VAT number (KMKR) is a separate number and cannot be derived from it. Sole traders (FIE) are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/registrikood-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-the-e-business-register"
    },
    {
      "id": "sk-ico",
      "country_code": "SK",
      "country": "Slovakia",
      "register": "RPO",
      "identifier": "IČO",
      "shape": "N{7} C",
      "regex": "^[0-9]{8}$",
      "check_digit": "advisory",
      "algorithm": "Weights 8,7,6,5,4,3,2 over the first 7 digits; check = 11 minus the sum mod 11 (10 reads as 0, 11 as 1). Advisory: a mismatch is a warning.",
      "example": "35763469",
      "normalised_example": "35763469",
      "other_accepted": [
        "151653"
      ],
      "near_miss": "35763460",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "SK",
      "api_example": "/companies/search?country=SK&company_number=35763469",
      "vat_number": null,
      "notes": "About one percent of the IČO of non-commercial legal forms fail the check. Six and seven digit numbers are read with leading zeros restored. Commercial legal persons only.",
      "lookup_tool": "https://www.prometiam.com/tools/ico-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-rpo"
    },
    {
      "id": "ch-uid",
      "country_code": "CH",
      "country": "Switzerland",
      "register": "Zefix, UID-Register (BFS)",
      "identifier": "UID",
      "shape": "CHE N{8} C",
      "regex": "^CHE[0-9]{9}$",
      "check_digit": "enforced",
      "algorithm": "CHE plus 9 digits. Weights 5,4,3,2,7,6,5,4 over the first 8 digits; check = 11 minus the sum mod 11 (11 reads as 0). A result of 10 means no valid UID.",
      "example": "CHE-103.867.266",
      "normalised_example": "CHE103867266",
      "other_accepted": [
        "CHE-103.867.266 MWST",
        "CHE103867266"
      ],
      "near_miss": "CHE-103.867.267",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "CH",
      "api_example": "/companies/search?country=CH&company_number=CHE-103.867.266",
      "vat_number": "the UID + MWST, TVA or IVA",
      "notes": "Dots, hyphens and a MWST, TVA or IVA suffix are accepted. Sole proprietorships are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/uid-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-zefix"
    },
    {
      "id": "lv-regcode",
      "country_code": "LV",
      "country": "Latvia",
      "register": "Uzņēmumu reģistrs",
      "identifier": "Registration number",
      "shape": "N{10} C",
      "regex": "^[4-9][0-9]{10}$",
      "check_digit": "enforced",
      "algorithm": "11 digits starting 4 to 9. Weights 9,1,4,8,3,10,2,5,7,6,1; the sum mod 11 must be 3.",
      "example": "40003032949",
      "normalised_example": "40003032949",
      "other_accepted": [
        "LV40003032949"
      ],
      "near_miss": "40003032940",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "LV",
      "api_example": "/companies/search?country=LV&company_number=40003032949",
      "vat_number": "LV + the 11 digits (State Revenue Service list) (confirmed by the register or published by it)",
      "notes": "An 11-digit number starting 0 to 3 is a personal code and is refused. The oldest 9-digit codes carry no check digit.",
      "lookup_tool": "https://www.prometiam.com/tools/latvia-registration-number-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-the-register-of-enterprises"
    },
    {
      "id": "cy-number",
      "country_code": "CY",
      "country": "Cyprus",
      "register": "DRCOR",
      "identifier": "Registration number",
      "shape": "HE | AE + N{1,9}",
      "regex": "^(HE|AE)[1-9][0-9]{0,8}$",
      "check_digit": "none",
      "algorithm": "No check digit: HE (company) or AE (overseas company) and up to 9 digits without a leading zero. The shape is the only test.",
      "example": "HE165",
      "normalised_example": "HE165",
      "other_accepted": [
        "165",
        "AE3834"
      ],
      "near_miss": null,
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "CY",
      "api_example": "/companies/search?country=CY&company_number=HE165",
      "vat_number": null,
      "notes": "Bare digits mean HE. Trade names and partnerships are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/cyprus-registration-number-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-the-registrar-of-companies-cyprus"
    },
    {
      "id": "ro-cui",
      "country_code": "RO",
      "country": "Romania",
      "register": "ONRC",
      "identifier": "CUI / CIF",
      "shape": "N{1,9} C",
      "regex": "^[1-9][0-9]{1,9}$",
      "check_digit": "advisory",
      "algorithm": "2 to 10 digits without a leading zero. The body is padded to 9 digits and weighted 7,5,3,2,1,7,5,3,2; check = sum x 10 mod 11 (10 reads as 0). Advisory: a mismatch is a warning.",
      "example": "5022670",
      "normalised_example": "5022670",
      "other_accepted": [
        "RO5022670"
      ],
      "near_miss": "5022671",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "RO",
      "api_example": "/companies/search?country=RO&company_number=5022670",
      "vat_number": "RO + CUI (built from the identifier by rule, registration not confirmed)",
      "notes": "A few genuine CUI fail the check. An RO, CUI or CIF prefix is accepted; a 13-digit number is a personal code and is refused.",
      "lookup_tool": "https://www.prometiam.com/tools/cui-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-onrc"
    },
    {
      "id": "us-number",
      "country_code": "US",
      "country": "United States",
      "register": "State registers, SEC (CIK), GLEIF (LEI)",
      "identifier": "State + register number, CIK-, LEI-",
      "shape": "SS-X{1,40} | CIK-N{10} | LEI-X{20}",
      "regex": "^([A-Z]{2}-[0-9A-Za-z][0-9A-Za-z./-]{0,39}|CIK-[0-9]{10}|LEI-[0-9A-Z]{20})$",
      "check_digit": "none",
      "algorithm": "No check digit anywhere: the state code and register number, CIK- and up to 10 digits (an SEC filer), or LEI- and 20 characters. The shape is the only test.",
      "example": "NY-4424185",
      "normalised_example": "NY-4424185",
      "other_accepted": [
        "ny 4424185",
        "CIK-0000320193"
      ],
      "near_miss": null,
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "US",
      "api_example": "/companies/search?country=US&company_number=NY-4424185",
      "vat_number": null,
      "notes": "Register numbers repeat across states, so the state prefix is part of the identifier. The API serves a defined set of state registers plus SEC filers and LEI holders, not every US company.",
      "lookup_tool": "https://www.prometiam.com/tools/us-company-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-a-secretary-of-state-business-search"
    },
    {
      "id": "lt-code",
      "country_code": "LT",
      "country": "Lithuania",
      "register": "JAR (Registrų centras)",
      "identifier": "Company code (juridinio asmens kodas)",
      "shape": "N{8} C",
      "regex": "^[0-9]{9}$",
      "check_digit": "enforced",
      "algorithm": "Weights 1 to 8 over the first 8 digits, sum mod 11; when that is 10 the weights 3,4,5,6,7,8,9,1 are used, and a second 10 reads as 0.",
      "example": "110053842",
      "normalised_example": "110053842",
      "other_accepted": [],
      "near_miss": "110053843",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "LT",
      "api_example": "/companies/search?country=LT&company_number=110053842",
      "vat_number": "LT + 9 or 12 digits (State Tax Inspectorate list) (confirmed by the register or published by it)",
      "notes": "LT in front is a VAT number, not the company code, and is refused. Sole proprietorships and partnerships are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/lithuania-company-code-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-jar"
    },
    {
      "id": "ca-corporation",
      "country_code": "CA",
      "country": "Canada",
      "register": "Corporations Canada",
      "identifier": "Federal corporation number",
      "shape": "N{1,6}-C",
      "regex": "^[0-9]{1,7}-[0-9]$",
      "check_digit": "advisory",
      "algorithm": "2 to 8 digits, written NNNNNN-N. Weights 7,6,5,4,3,2 over the six digits before the last; check = 11 minus the sum mod 11 (10 reads as 0, 11 as 1). Inferred from the register, not documented, so advisory.",
      "example": "426160-7",
      "normalised_example": "426160-7",
      "other_accepted": [
        "4261607",
        "#4261607"
      ],
      "near_miss": "426160-8",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "CA",
      "api_example": "/companies/search?country=CA&company_number=426160-7",
      "vat_number": null,
      "notes": "Nine digits is a Business Number (searched with business_number), not a corporation number. Federal corporations only; provincial corporations are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/canada-corporation-number-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-corporations-canada"
    },
    {
      "id": "au-acn",
      "country_code": "AU",
      "country": "Australia",
      "register": "ASIC (ACN, ARBN)",
      "identifier": "ACN / ARBN",
      "shape": "N{8} C",
      "regex": "^[0-9]{3} [0-9]{3} [0-9]{3}$",
      "check_digit": "enforced",
      "algorithm": "Weights 8,7,6,5,4,3,2,1 over the first 8 digits; check = (10 - sum mod 10) mod 10. Shown in ASIC’s 3-3-3 form.",
      "example": "004 028 077",
      "normalised_example": "004 028 077",
      "other_accepted": [
        "004028077",
        "ACN 004 028 077"
      ],
      "near_miss": "004 028 078",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "AU",
      "api_example": "/companies/search?country=AU&company_number=004%20028%20077",
      "vat_number": "the ABN (11 digits), while active and registered for GST (confirmed by the register or published by it)",
      "notes": "ACN and ARBN share one number space. An 11-digit number is an ABN, a separate number. Proprietary, public and foreign companies only.",
      "lookup_tool": "https://www.prometiam.com/tools/acn-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-asic-company-register"
    },
    {
      "id": "au-abn",
      "country_code": "AU",
      "country": "Australia",
      "register": "Australian Business Register",
      "identifier": "ABN",
      "shape": "N{2} N{9}",
      "regex": "^[0-9]{11}$",
      "check_digit": "enforced",
      "algorithm": "11 digits. Subtract 1 from the first digit, then weights 10,1,3,5,7,9,11,13,15,17,19; the sum must divide by 89.",
      "example": "49004028077",
      "normalised_example": "49004028077",
      "other_accepted": [
        "49 004 028 077",
        "ABN 49004028077"
      ],
      "near_miss": "49004028078",
      "api_parameter": "abn",
      "api_alias": null,
      "api_country": "AU",
      "api_example": "/companies/search?country=AU&abn=49004028077",
      "vat_number": "the ABN itself, while active and registered for GST (confirmed by the register or published by it)",
      "notes": "The ABN is the GST number while the business is active and registered for GST. It is searched with abn= and is never taken by company_number.",
      "lookup_tool": "https://www.prometiam.com/tools/abn-checker",
      "guide": "https://www.prometiam.com/guides/abn-lookup-api"
    },
    {
      "id": "jp-corporate-number",
      "country_code": "JP",
      "country": "Japan",
      "register": "National Tax Agency",
      "identifier": "Corporate number (法人番号)",
      "shape": "C N{12}",
      "regex": "^[1-9][0-9]{12}$",
      "check_digit": "enforced",
      "algorithm": "13 digits; the first is the check digit over the 12-digit base: 9 minus (the sum of the base digits, weighted 1 and 2 alternately from the right, mod 9).",
      "example": "1180301018771",
      "normalised_example": "1180301018771",
      "other_accepted": [
        "T1180301018771"
      ],
      "near_miss": "1180301018772",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "JP",
      "api_example": "/companies/search?country=JP&company_number=1180301018771",
      "vat_number": null,
      "notes": "A T in front and full-width digits are read; the bare 12-digit base is refused. Companies only; government bodies and associations are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/corporate-number-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-the-japanese-corporate-number"
    },
    {
      "id": "il-company",
      "country_code": "IL",
      "country": "Israel",
      "register": "Corporations Authority",
      "identifier": "Company number (ח.פ.)",
      "shape": "N{8} C",
      "regex": "^5[126][0-9]{7}$",
      "check_digit": "advisory",
      "algorithm": "9 digits starting 51, 52 or 56. The Israeli ID Luhn variant: weights 1,2 alternately, digit sums, total divisible by 10. Advisory: a mismatch is a warning.",
      "example": "520013954",
      "normalised_example": "520013954",
      "other_accepted": [
        "ח.פ. 520013954"
      ],
      "near_miss": "520013955",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "IL",
      "api_example": "/companies/search?country=IL&company_number=520013954",
      "vat_number": null,
      "notes": "A personal ID passes the same arithmetic and is refused on the prefix. Partnerships, cooperatives and associations are other registers and never served.",
      "lookup_tool": "https://www.prometiam.com/tools/israel-company-number-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-the-corporations-authority-israel"
    },
    {
      "id": "br-cnpj",
      "country_code": "BR",
      "country": "Brazil",
      "register": "Receita Federal (CNPJ)",
      "identifier": "CNPJ",
      "shape": "X{12} C{2}",
      "regex": "^[0-9A-Z]{12}[0-9]{2}$",
      "check_digit": "enforced",
      "algorithm": "14 characters: 8 for the root, 4 for the order, 2 check digits. First digit: weights 5,4,3,2,9,8,7,6,5,4,3,2 over 12 characters; second: weights 6,5,4,3,2,9,8,7,6,5,4,3,2 over 13; each is 0 when the sum mod 11 is below 2, else 11 minus it.",
      "example": "33.000.167/0001-01",
      "normalised_example": "33000167000101",
      "other_accepted": [
        "33000167000101"
      ],
      "near_miss": "33.000.167/0001-02",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "BR",
      "api_example": "/companies/search?country=BR&company_number=33.000.167%2F0001-01",
      "vat_number": null,
      "notes": "Since July 2026 root and order may carry capital letters; the check digits stay digits. An 11-digit CPF (a person) is refused. One record per CNPJ root: the 8-digit root finds the head office.",
      "lookup_tool": "https://www.prometiam.com/tools/cnpj-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-the-cnpj"
    },
    {
      "id": "ar-cuit",
      "country_code": "AR",
      "country": "Argentina",
      "register": "ARCA (CUIT), Registro Nacional de Sociedades",
      "identifier": "CUIT",
      "shape": "N{2}-N{8}-C",
      "regex": "^(30|33|34)-[0-9]{8}-[0-9]$",
      "check_digit": "enforced",
      "algorithm": "11 digits, written NN-NNNNNNNN-N. Weights 5,4,3,2,7,6,5,4,3,2 over the first ten digits; check = 11 minus the sum mod 11, where 11 reads as 0 and 10 means the body gives no valid number (a company then holds prefix 33 instead of 30).",
      "example": "30-70308853-4",
      "normalised_example": "30-70308853-4",
      "other_accepted": [
        "30703088534",
        "CUIT 30-70308853-4"
      ],
      "near_miss": "30-70308853-5",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "AR",
      "api_example": "/companies/search?country=AR&company_number=30-70308853-4",
      "vat_number": null,
      "notes": "The CUIT is the tax number ARCA gives a legal entity; the Registro Nacional de Sociedades is built on it. A company holds prefix 30 or 33, a foreign legal entity 34; prefixes 20, 23, 24 and 27 are the CUIT and CUIL of people and are refused. A leading CUIT, CUIL or CDI word is dropped. Commercial companies only: associations, foundations, cooperatives and sociedades de hecho are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/company-id-validator",
      "guide": "https://www.prometiam.com/guides/argentina-company-data-api"
    },
    {
      "id": "ua-edrpou",
      "country_code": "UA",
      "country": "Ukraine",
      "register": "Unified State Register (EDR), Ministry of Justice of Ukraine",
      "identifier": "EDRPOU code",
      "shape": "N{8}",
      "regex": "^[0-9]{8}$",
      "check_digit": "advisory",
      "algorithm": "8 digits, leading zeros kept. The last digit is a mod-11 check digit, but it is only advisory here because a few genuine codes of the register fail it.",
      "example": "21673832",
      "normalised_example": "21673832",
      "other_accepted": [
        "UA21673832"
      ],
      "near_miss": "21673833",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "UA",
      "api_example": "/companies/search?country=UA&company_number=21673832",
      "vat_number": null,
      "notes": "The EDRPOU code identifies a legal entity in the Unified State Register of the Ministry of Justice of Ukraine. A shorter number is read with its zeros restored, and a UA prefix, spaces and hyphens are tolerated. A 10-digit number is a person’s tax number and is refused. Commercial legal persons only; individual entrepreneurs (FOP) are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/company-id-validator",
      "guide": "https://www.prometiam.com/guides/ukraine-company-data-api"
    },
    {
      "id": "rs-mb",
      "country_code": "RS",
      "country": "Serbia",
      "register": "Business Registers Agency (APR)",
      "identifier": "Matični broj (MB)",
      "shape": "N{7} C",
      "regex": "^[0-9]{8}$",
      "check_digit": "enforced",
      "algorithm": "8 digits, the leading zero kept; a shorter number is read with its leading zeros restored. Weights 9,4,5,6,7,8,9 over the first 7 digits, s = sum mod 11; the check digit is s, with 10 read as 0. The rule is fitted to the numbers of the register itself, not to a published standard, and a mismatch is refused.",
      "example": "17204106",
      "normalised_example": "17204106",
      "other_accepted": [
        "17-204-106"
      ],
      "near_miss": "17204107",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "RS",
      "api_example": "/companies/search?country=RS&company_number=17204106",
      "vat_number": null,
      "notes": "A 13-digit number is a personal number (JMBG) and is refused. The tax number (PIB) is a separate number that the register open data does not carry and that cannot be derived from the matični broj. Companies only (d.o.o., a.d., o.d., k.d.); entrepreneurs, cooperatives, public enterprises and associations are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/company-id-validator",
      "guide": "https://www.prometiam.com/guides/serbia-company-data-api"
    },
    {
      "id": "ec-ruc",
      "country_code": "EC",
      "country": "Ecuador",
      "register": "Servicio de Rentas Internas (SRI), Superintendencia de Compañías (SCVS)",
      "identifier": "RUC",
      "shape": "N{9} C N{3}",
      "regex": "^(0[1-9]|1[0-9]|2[0-4]|30)[69][0-9]{7}001$",
      "check_digit": "advisory",
      "algorithm": "13 digits: province (01 to 24, 30 abroad), a third digit 9 (private company) or 6 (public), a serial, the check digit and 001, the company itself (002 and up are its establishments). Module 11: weights 4,3,2,7,6,5,4,3,2 over the first nine digits, check = 11 minus the sum mod 11 (11 reads 0), the tenth digit; a public RUC (third digit 6) uses weights 3,2,7,6,5,4,3,2 over eight digits and the ninth digit. Advisory: a mismatch is a warning, not a rejection.",
      "example": "0990023549001",
      "normalised_example": "0990023549001",
      "other_accepted": [
        "990023549001"
      ],
      "near_miss": "0990023548001",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "EC",
      "api_example": "/companies/search?country=EC&company_number=0990023549001",
      "vat_number": null,
      "notes": "A third digit 0 to 5 is a natural person's RUC (the cédula plus 001) and is refused, and so is a RUC ending 002 or higher, which is an establishment. A 12-digit value is read with the zero of the province restored (a spreadsheet drops it). The check digit is only a guide: the numbers of the Sociedades por Acciones Simplificadas are plain serials that often fail it. The RUC is the tax number: there is no separate VAT number.",
      "lookup_tool": "https://www.prometiam.com/tools/company-id-validator",
      "guide": "https://www.prometiam.com/guides/ecuador-company-data-api"
    },
    {
      "id": "cl-rut",
      "country_code": "CL",
      "country": "Chile",
      "register": "Registro de Empresas y Sociedades (RES), Ministerio de Economía, Fomento y Turismo; RUT of the Servicio de Impuestos Internos (SII)",
      "identifier": "RUT",
      "shape": "N{8}-C",
      "regex": "^[5-9][0-9]{7}-[0-9K]$",
      "check_digit": "enforced",
      "algorithm": "Eight digits from 50,000,000 (the block of legal persons), a dash and a check digit (0 to 9 or K), written 76.286.049-K. Weights 2,3,4,5,6,7 repeating from the right over the eight digits; check = 11 minus the sum mod 11, where 11 reads 0 and 10 reads K. The check is strict.",
      "example": "76286049-K",
      "normalised_example": "76286049-K",
      "other_accepted": [
        "76.286.049-K",
        "76286049K",
        "RUT 76286049-k"
      ],
      "near_miss": "76286049-0",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "CL",
      "api_example": "/companies/search?country=CL&company_number=76286049-K",
      "vat_number": null,
      "notes": "The RUT is the tax number the Servicio de Impuestos Internos (SII) gives a Chilean legal entity, and there is no separate VAT number. The register serves only the companies registered under the simplified regime of Ley 20.659 (\"Empresa en un Día\") since 2013, so a valid RUT of an older company, or of one formed before a notary, finds nothing. Dots, the word RUT and a lower-case k are accepted. A RUT below 50,000,000 belongs to a natural person and is refused.",
      "lookup_tool": "https://www.prometiam.com/tools/company-id-validator",
      "guide": "https://www.prometiam.com/guides/chile-company-data-api"
    },
    {
      "id": "co-nit",
      "country_code": "CO",
      "country": "Colombia",
      "register": "RUES (Confecámaras), DIAN",
      "identifier": "NIT",
      "shape": "N{9}-C",
      "regex": "^[89][0-9]{8}-[0-9]$",
      "check_digit": "enforced",
      "algorithm": "9 digits starting 8 or 9, then the verification digit (DV) after a hyphen. Weights 3,7,13,17,19,23,29,37,41 from the right; DV = the remainder of the sum mod 11 when below 2, else 11 minus it.",
      "example": "900843898-9",
      "normalised_example": "900843898-9",
      "other_accepted": [
        "900843898",
        "NIT 900843898-9"
      ],
      "near_miss": "900843898-8",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "CO",
      "api_example": "/companies/search?country=CO&company_number=900843898-9",
      "vat_number": null,
      "notes": "The DV is computed when left out and must match when typed. A number starting 1 to 7 is a personal cédula and is refused.",
      "lookup_tool": "https://www.prometiam.com/tools/nit-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-rues"
    },
    {
      "id": "sg-uen",
      "country_code": "SG",
      "country": "Singapore",
      "register": "ACRA",
      "identifier": "UEN",
      "shape": "N{9} C | L N{2} L{2} N{4} C",
      "regex": "^([0-9]{9}|[TSR][0-9]{2}[A-Z]{2}[0-9]{4})[A-Z]$",
      "check_digit": "enforced",
      "algorithm": "Local company: weights 10,8,6,4,9,7,5,3,1 over the 9 digits, sum mod 11 picks the check letter from Z K C M D N E R G W H. LLPs and foreign branches (T, S or R, year, two letters, serial) use weights 4,3,5,3,10,2,2,5,7 and the letters A B C D E F G H J K L.",
      "example": "196800306E",
      "normalised_example": "196800306E",
      "other_accepted": [
        "T08LL1267L"
      ],
      "near_miss": "196800306F",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "SG",
      "api_example": "/companies/search?country=SG&company_number=196800306E",
      "vat_number": null,
      "notes": "An 8-digit business UEN (sole proprietorship, partnership) is refused. Local companies, LLPs and registered foreign company branches only.",
      "lookup_tool": "https://www.prometiam.com/tools/uen-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-acra"
    },
    {
      "id": "tw-ubn",
      "country_code": "TW",
      "country": "Taiwan",
      "register": "GCIS (Ministry of Economic Affairs), Ministry of Finance",
      "identifier": "Unified business number (統一編號)",
      "shape": "N{7} C",
      "regex": "^[0-9]{8}$",
      "check_digit": "advisory",
      "algorithm": "8 digits. Weights 1,2,1,2,1,2,4,1, each product taken as tens digit plus units digit; the total should divide by 5 (10 before the 2023-24 change; a 7th digit of 7 may count as 0 or 1). Advisory: a mismatch is a warning.",
      "example": "22099131",
      "normalised_example": "22099131",
      "other_accepted": [
        "TW22099131"
      ],
      "near_miss": "22099132",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "TW",
      "api_example": "/companies/search?country=TW&company_number=22099131",
      "vat_number": "the 8-digit UBN, where the company is in the Ministry of Finance tax file (confirmed by the register or published by it)",
      "notes": "A few old dissolved numbers fail both rules. Seven digits are padded with a zero. Companies and Taiwan branches of foreign companies only; names are in Chinese.",
      "lookup_tool": "https://www.prometiam.com/tools/ubn-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-the-taiwan-unified-business-number"
    },
    {
      "id": "cz-ico",
      "country_code": "CZ",
      "country": "Czech Republic",
      "register": "Veřejný rejstřík (Ministry of Justice), RES",
      "identifier": "IČO",
      "shape": "N{7} C",
      "regex": "^[0-9]{8}$",
      "check_digit": "advisory",
      "algorithm": "8 digits, shorter numbers read with leading zeros. Weights 8,7,6,5,4,3,2 over the first 7 digits, r = sum mod 11; check = 1 when r is 0, 0 when r is 1, else 11 minus r. Advisory: a mismatch is a warning.",
      "example": "45274649",
      "normalised_example": "45274649",
      "other_accepted": [
        "CZ45274649"
      ],
      "near_miss": "45274640",
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "CZ",
      "api_example": "/companies/search?country=CZ&company_number=45274649",
      "vat_number": null,
      "notes": "A few live companies fail the check. A 9 or 10 digit number is a birth number (a natural person) and is refused. Sole traders are never served.",
      "lookup_tool": "https://www.prometiam.com/tools/czech-ico-lookup",
      "guide": "https://www.prometiam.com/guides/what-is-the-czech-public-register"
    },
    {
      "id": "de-lei",
      "country_code": "DE",
      "country": "Germany",
      "register": "GLEIF (LEI), Marktstammdatenregister",
      "identifier": "LEI",
      "shape": "X{18} C{2}",
      "regex": "^[0-9A-Z]{18}[0-9]{2}$",
      "check_digit": "enforced",
      "algorithm": "ISO 17442, ISO 7064 MOD 97-10: 18 letters or digits and 2 check digits; each letter becomes 10 to 35 and the whole string, read as one integer, leaves 1 modulo 97.",
      "example": "W38RGI023J3WT1HWRP32",
      "normalised_example": "W38RGI023J3WT1HWRP32",
      "other_accepted": [
        "w38r-gi02-3j3w-t1hw-rp32"
      ],
      "near_miss": "W38RGI023J3WT1HWRP33",
      "api_parameter": "company_number",
      "api_alias": "lei",
      "api_country": "DE",
      "api_example": "/companies/search?country=DE&company_number=W38RGI023J3WT1HWRP32",
      "vat_number": null,
      "notes": "German company records are LEI-registered entities (GLEIF) and companies from the energy market register, not an extract of the Handelsregister. A company of the energy market register is numbered by its commercial-register entry, for example HRB12653/FRANKFURT-AM-MAIN (searched with register_number), declared by the operators and not checked against the register.",
      "lookup_tool": "https://www.prometiam.com/tools/lei-lookup",
      "guide": "https://www.prometiam.com/guides/german-company-data-api"
    },
    {
      "id": "nl-kvk",
      "country_code": "NL",
      "country": "Netherlands",
      "register": "GLEIF (LEI-registered entities); the KVK number of the Kamer van Koophandel",
      "identifier": "KVK number",
      "shape": "N{8}",
      "regex": "^[0-9]{8}$",
      "check_digit": "none",
      "algorithm": "No check digit is published: exactly 8 digits, a leading zero is part of the number (04040577), 00000000 is no number. The shape is the only test.",
      "example": "17085815",
      "normalised_example": "17085815",
      "other_accepted": [
        "04040577"
      ],
      "near_miss": null,
      "api_parameter": "company_number",
      "api_alias": null,
      "api_country": "NL",
      "api_example": "/companies/search?country=NL&company_number=17085815",
      "vat_number": null,
      "notes": "The KVK number is the number of the Dutch Chamber of Commerce. Prometiam serves only Dutch legal entities that hold an LEI and whose KVK number GLEIF records (BV, NV, SE, cooperatives, OWM, CV and VOF), not every Dutch company and not an extract of the Dutch commercial register: a well-formed KVK number of a sole proprietorship, a foundation or an association finds nothing. A 9-digit number is an RSIN and is refused. The Dutch VAT number (btw-nummer) is a separate number and cannot be derived from the KVK number.",
      "lookup_tool": "https://www.prometiam.com/tools/company-id-validator",
      "guide": "https://www.prometiam.com/guides/dutch-company-data-api"
    }
  ]
}
