In short
- A CVR number has 8 digits and never starts with 0.
- It is issued by the Danish Business Authority (Erhvervsstyrelsen) on registration.
- It stays with the company for life, through name and address changes.
- Each physical location the company operates from also gets a P-number.
Who gets a CVR number?
All companies (such as ApS and A/S) must register, as must sole proprietorships and other businesses that are, for example, VAT-registered or have employees. Associations, foundations and public authorities have CVR numbers too. See the different Danish company types.
Where is the CVR number used?
On invoices, in contracts, for VAT and tax reporting, in e-invoicing, and whenever a business is set up as a customer. It is also the basis of the Danish VAT number: DK followed by the CVR number.
Check digit: modulus 11
CVR numbers are issued with a modulus 11 check digit. Multiply each digit by the weights 2, 7, 6, 5, 4, 3, 2, 1; the sum must be divisible by 11. This catches most typos before you call an API – but it doesn't prove the company exists. Always confirm with a lookup.
def is_valid_cvr(cvr: str) -> bool:
weights = [2, 7, 6, 5, 4, 3, 2, 1]
if len(cvr) != 8 or not cvr.isdigit() or cvr[0] == "0":
return False
return sum(int(d) * w for d, w in zip(cvr, weights)) % 11 == 0
print(is_valid_cvr("24256790")) # True (Novo Nordisk A/S)
print(is_valid_cvr("24256791")) # False (typo)Look up a CVR number via API
CVR-API needs no key or account. Send a GET request with the CVR number and get the company's name, address, industry, status, production units, management and owners back as JSON:
curl https://apicvr.dk/api/v1/24256790{
"vat": 24256790,
"name": "NOVO NORDISK A/S",
"city": "Bagsværd",
"companydesc": "Aktieselskab",
"industrycode": 212000,
"industrydesc": "Fremstilling af farmaceutiske præparater",
"status": "NORMAL",
...
}vat field holds the CVR number. If the number doesn't exist, the API responds with HTTP 404 and the error code NOT_FOUND.Frequently asked questions
How many digits does a CVR number have?
A CVR number always has 8 digits. A P-number, by comparison, has 10.
Is a CVR number the same as a Danish VAT number?
Almost. The Danish VAT number is the country code DK followed by the CVR number, e.g. DK24256790.
Can I check whether a CVR number is valid?
Yes. The modulus 11 check catches most typos locally. Whether the company actually exists is confirmed by a lookup on /api/v1/{cvr}.