API til CVR-data: kom i gang
CVR API forklaret: hent CVR-data via Erhvervsstyrelsens egen adgang eller et færdigt REST-API, med vilkår, persondata og et kodeeksempel du kan køre.
Et CVR API giver dit eget system adgang til oplysningerne i Det Centrale Virksomhedsregister, så du kan slå virksomheder op automatisk i stedet for én ad gangen i en browser. Du kan hente data direkte hos Erhvervsstyrelsen gennem deres system-til-system-adgang, eller bruge et færdigt API, der har gjort arbejdet med at hente, rense og samle data for dig.
Hvorfor ikke bare bruge CVR-søgningen?
Erhvervsstyrelsens søgning på datacvr.virk.dk er lavet til mennesker. CVR-bekendtgørelsens § 17 giver adgang til gratis enkeltopslag, "én enhed ad gangen", og siger direkte, at det ikke er tilladt at crawle registret eller bruge "andre metoder til automatisk indeksering og opslag". Skal et system slå virksomheder op, fx når en kunde opretter sig i din webshop, eller når du vil berige en kundeliste, skal det ske gennem en af de adgange, der er beregnet til det.
Typiske grunde til at bruge et CVR API:
- Udfyld formularer automatisk: Kunden skriver sit CVR-nummer, og navn og adresse udfyldes.
- Kundekontrol: Kontrollér, at en ny kunde findes og er aktiv, før du giver kredit.
- Hold kundedata opdateret: Find kunder, der er flyttet, har skiftet navn eller er gået konkurs.
- Analyse: Tæl virksomheder i en branche eller kommune, eller følg nye registreringer.
Vej 1: Erhvervsstyrelsens system-til-system-adgang
Erhvervsstyrelsen stiller CVR-data til rådighed i en Elasticsearch-løsning, hvor du kan søge direkte i registret og hente større mængder data. Sådan foregår det:
- Ansøg om adgang. Du anmoder Erhvervsstyrelsen om adgang (kontakt: cvrselvbetjening@erst.dk). Som en del af det skal du underskrive en erklæring om, at du overholder betingelserne for data om reklamebeskyttede virksomheder. Der er sagsbehandlingstid.
- Få brugernavn og adgangskode. Med dem kan du kun læse og søge, ikke ændre.
- Byg din egen integration. Data ligger i Elasticsearch (Erhvervsstyrelsen oplyser version 6.8.23) som typerne
virksomhed,produktionsenhedogdeltager. Du skriver selv forespørgsler og bygger din egen kopi, hvis du har brug for den.
Fordelen er, at du får data direkte fra kilden og uden mellemled. Ulemperne er praktiske:
- Erhvervsstyrelsen yder ikke support på brugen af Elasticsearch.
- Data er rå og omfattende. Du skal selv finde ud af feltstrukturen og håndtere historik, adressebeskyttelse og reklamebeskyttelse.
- Erhvervsstyrelsen skriver, at de midlertidigt kan spærre adgangen, hvis en løsning belaster systemet uhensigtsmæssigt.
- Regnskaber er ikke en del af CVR-data. Årsrapporterne skal hentes og fortolkes for sig.
Datafordeleren
Dele af CVR udstilles også gennem Datafordeleren, den fælles offentlige platform for grunddata. Ifølge Datafordeleren er det kun entiteten CVRPerson, der er adgangsbegrænset, mens de øvrige CVR-entiteter kan hentes uden at anmode registret om adgang. Datafordeleren oplyser samtidig, at brugertyperne Webbruger og Tjenestebruger udfases ved udgangen af 2026, så tjek de aktuelle vilkår, før du bygger på den.
Vej 2: Et færdigt CVR API
Et færdigt API henter data fra Erhvervsstyrelsen, holder en opdateret kopi og giver dig enkle opslag med en API-nøgle. Du slipper for at sætte Elasticsearch-forespørgsler op, og ofte får du mere end CVR, fx regnskabstal fra årsrapporterne.
cvrradars API er et eksempel. Det svarer i JSON med danske feltnavne, og adresserne starter med https://cvrradar.dk/v1. Uden nøgle kan du lave 50 opslag i døgnet fra samme IP-adresse, men kun på stamdata. Med en gratis nøgle er der flere opslag, og betalte pakker giver regnskab, kreditvurdering, ejergraf og digital profil (se priser).
Det første kald uden nøgle ser sådan ud:
curl "https://cvrradar.dk/v1/virksomhed/10203040"Med en nøgle sender du den i headeren Authorization:
curl "https://cvrradar.dk/v1/virksomhed/10203040" \
-H "Authorization: Bearer cvr_DIN_NOEGLE"Svaret er stamdata om virksomheden (CVR-nummeret i eksemplet er opdigtet):
{
"cvr": "10203040",
"navn": "Havnens Smedje ApS",
"branche": { "kode": "432200", "tekst": "VVS- og blikkenslagerarbejde" },
"virksomhedsform": { "kode": 80, "kort": "ApS", "tekst": "Anpartsselskab" },
"status": "NORMAL",
"aktiv": true,
"stiftet": "2019-03-14",
"ansatte": "10-19",
"reklamebeskyttet": false
}Felter, der ikke er oplyst i CVR, er null. Et ukendt CVR-nummer giver 404, og et ugyldigt giver 400.
Det kan du hente
| Område | Endpoint |
|---|---|
| Stamdata | GET /v1/virksomhed/{cvr} |
| Søgning på navn | GET /v1/soeg?q=... |
| Opslag på domæne eller mail | GET /v1/domaene/{domaene} |
| Personer og roller | GET /v1/virksomhed/{cvr}/personer |
| Regnskab | GET /v1/virksomhed/{cvr}/regnskab |
| Kreditvurdering | GET /v1/virksomhed/{cvr}/kredit |
| Ejergraf | GET /v1/virksomhed/{cvr}/ejergraf |
| Op til 500 på én gang | POST /v1/virksomheder |
Den fulde liste, svarformater og fejlkoder står i dokumentationen. En OpenAPI-beskrivelse ligger på /v1/openapi.json og kræver ingen nøgle, og der er også en MCP-server, så AI-assistenter kan slå virksomheder op (se /ai).
Gode vaner i din integration
- Kald fra din server. Læg aldrig nøglen i kode, der kører i en browser eller en app. Hent den fra en miljøvariabel.
- Brug masseopslag. Skal du berige en kundeliste, så send op til 500 CVR-numre i ét
POST /v1/virksomhederi stedet for 500 enkeltkald. - Håndter 429. Når kvoten er brugt, svarer API'et
429med headerenRetry-After. Vent det antal sekunder, og prøv igen. - Gem svarene. Stamdata ændrer sig sjældent, og cvrradar synkroniserer med CVR én gang i døgnet. En cache på din side sparer opslag.
Trin for trin, fra nøgle til første kald, står i Kom i gang.
Hvilken vej skal du vælge?
| Erhvervsstyrelsens adgang | Færdigt API | |
|---|---|---|
| Pris for data | Gratis brugsret til data | Gratis opslag i et vist omfang, betaling for mere |
| Opstart | Ansøgning, erklæring og sagsbehandlingstid | Nøgle med det samme |
| Format | Rå data i Elasticsearch | Færdige opslag i JSON |
| Regnskaber | Ikke med, hentes for sig | Ofte med |
| Drift | Du bygger og vedligeholder selv | Leverandøren holder data opdateret |
| Afhængighed | Direkte af Erhvervsstyrelsen | Af leverandøren og dennes adgang |
Vælg Erhvervsstyrelsens adgang, hvis du skal bruge hele registret, har udviklere til at bygge og drive en integration, og vil være uafhængig af mellemled. Vælg et færdigt API, hvis du bare skal slå virksomheder op i dit system og hellere vil bruge tiden på dit eget produkt. Mange starter med et færdigt API og skifter, hvis behovet vokser.
Vilkår: hvad må du bruge data til?
CVR-data er offentlige, og Erhvervsstyrelsens "Vilkår for brug af danske offentlige data" giver en gratis, ikke-eksklusiv og i øvrigt ubegrænset brugsret. Data må blandt andet kopieres, offentliggøres, sammensættes med andet og bruges kommercielt. Der er dog nogle grænser:
- Ingen falsk godkendelse. Data må ikke bruges, så det ser ud, som om Erhvervsstyrelsen godkender eller anbefaler dig eller dit produkt.
- Som de er. Erhvervsstyrelsen har intet ansvar for fejl i data og garanterer ikke, at de fortsat stilles til rådighed.
- CPR-numre må ikke videregives til private.
- Reelle ejere er ikke offentlige og må ikke videregives til andre end dem, der har adgang. Se Find ejeren af en virksomhed.
- Reklamebeskyttede virksomheder må ikke bruges til direkte markedsføring, og deres kontaktoplysninger må kun gives videre med en tydelig markering. Se Hvad er reklamebeskyttelse?
Persondata
CVR indeholder personer: indehavere af enkeltmandsvirksomheder, direktører, bestyrelsesmedlemmer og ejere. Når du henter og gemmer dem, behandler du personoplysninger, og så er du selv dataansvarlig for din behandling. Hent kun det, du har brug for, og slet det, når du ikke længere skal bruge det. cvrradar leverer kun det, der står i CVR om personers roller, og henter eller gemmer hverken CPR-numre, privatadresser eller reelle ejere. Reglerne for brug af data fra cvrradar står i Reklamebeskyttelse og persondata.
Guiden er almen information og ikke juridisk rådgivning.
Kilder
- Bekendtgørelse om Det Centrale Virksomhedsregister og data.virk.dk (BEK nr. 1243 af 29. august 2022), §§ 16 og 17
- Lov om Det Centrale Virksomhedsregister (LBK nr. 246 af 5. februar 2026), §§ 18, 18 a og 19
- Erhvervsstyrelsen: Kom godt i gang med Elasticsearch
- Erhvervsstyrelsen: Vilkår for brug af danske offentlige data (PDF)
- Datafordeleren: Det Centrale Virksomhedsregister (CVR)
- Datasætbeskrivelse af CVR-data med adgangsbetingelser
Skrevet af cvrradar, lavet af Mahoje. Er noget forkert eller uklart? Skriv til mig.