How to get CVR data programmatically
CVR's own bulk access requires a signed agreement with Erhvervsstyrelsen; the public front end is not designed for programmatic use.
One request
curl "https://lemreveal.com/api/public/v1/search?q=ACME&country=DK"
No key, no account. Swap ACME for a company name or a CVR-nummer.
What CVR publishes
- Registered legal name and CVR-nummer
- Registration status (active, struck off, dissolved)
- Registered address and legal form
- Officers / directors as published by the register
Official source: Det Centrale Virksomhedsregister. We link the exact record URL on every response so you can verify anything yourself.
Changes you can watch for
- Legal name change
- Registration status change (active, struck off, dissolved)
- Registered address change
- Legal form change
- Officer (ledelse) change
- Production unit (P-enhed) change
Polling a government register yourself is how you get rate-limited. CVR monitoring does the re-check and emails you the field that moved — free for three companies.
Questions
Does CVR have a public API?
CVR has a registered-access API; the public search at datacvr.virk.dk is HTML only.
How do I get Denmark company data without an API key?
Send a GET request to /api/public/v1/search with q set to the company name or CVR-nummer and country set to DK. There is no authentication and no signup; the limit is 120 requests per hour per IP.
What fields come back for Denmark?
Registered legal name, CVR-nummer, registration status, legal form and registered address where CVR publishes them, plus officers. Every field carries the source URL and the time it was read.
Can I detect changes to a Denmark company record?
Yes. CVR monitoring re-checks the record and emails you the exact field that changed: legal name change, registration status change (active, struck off, dissolved), registered address change, legal form change. Free for up to three companies.