CVR-API — danske virksomheder på CVR-nummer
Grundfast genudstiller Det Centrale Virksomhedsregister (CVR) i en ren, gensammensat form: CVR-data som navn, status, selskabsform, branche og beliggenhedsadresse — med oversatte kommune- og regionsnavne. Opslag på CVR-nummer er live nu som Register #8; kun selve virksomhedsposten (aldrig den adgangsbegrænsede CVRPerson-entitet) — demo og datakontrakt kan du teste uden nøgle.
GET /v1/cvr/:cvrCVR API — slå virksomhed op på CVR-nummer
Grundfast er et CVR API til Det Centrale Virksomhedsregister: ét CVR-opslag på et 8-cifret CVR-nummer giver dig virksomhedens navn, livsstatus, selskabsform, DB07-branchekode og beliggenhedsadresse — som ét fladt JSON-svar. Du slipper for selv at joine Datafordelers CVR-entiteter (CVR_Virksomhed, CVR_Navn, CVR_Adressering og CVR_Branche) og for at oversætte kommune-, regions- og branchekoder til læsbar tekst.
Kald mønstret er ét endpoint — GET /v1/cvr/12345678 — med din gf_live_-nøgle. Samme nøgle, auth og metering som BBR, Matriklen og adresser, så et virksomheds-API og et ejendoms-API deler ét abonnement. Hele datakontrakten kan afprøves uden nøgle via den nøglefrie demo nedenfor.
Prøv CVR live
Kør det nøglefrie /v1/demo/cvr og se en gensammensat virksomhed — navn, status, branche og adresse med oversatte kommune-/ regionsnavne, med rigtig svartid.
Tryk Kør live for at hente et rigtigt virksomhedssvar fra den nøglefrie demo — navn, status, branche og adresse med oversatte kommune-/regionsnavne.
Nøglefri demo: /v1/demo/cvr svarer med et fast virksomhedseksempel (en fast juridisk enhed). Med din nøgle slår /v1/cvr/:cvr en rigtig virksomhed op i samme form over Datafordelers CVR-GraphQL.
Hvad CVR-API’et giver dig
Virksomhed på CVR-nummer
Slå en virksomhed op på dens CVR-nummer og få navn, status, selskabsform, branche og beliggenhedsadresse — gensammensat fra Datafordelers entitetsmodel, så du ikke selv joiner CVR_Virksomhed, CVR_Navn, CVR_Adressering og CVR_Branche.
Kommune & region oversat
Beliggenhedsadressen kommer med kommune- og regionsNAVN (ikke bare koder), oversat offline via DAGI — klar til “find virksomheder i dit område” uden et ekstra opslag.
Normaliseret virksomhedsstatus
Livsstatus normaliseret til aktiv / ophørt / under konkurs / under tvangsopløsning, så du kan filtrere ophørte virksomheder fra med ét felt.
Kun virksomhedsposten
Vi bruger aldrig den adgangsbegrænsede CVRPerson-entitet — kun selve virksomhedsposten. For juridiske enheder (ApS, A/S mv.) er der ingen personoplysninger; for personligt ejede former (fx enkeltmandsvirksomhed) kan virksomhedens eget navn og adresse dog i sig selv være personoplysninger, og feltet reklamebeskyttet gør det muligt at respektere. Cachet og retry’et oven på Datafordeler, så opslag står op selv når upstream flapper.
Kald CVR-API’et i din stack
Samme CVR-opslag i cURL, TypeScript og Python — send CVR-nummeret, læs den gensammensatte virksomhed. Endpointet er GET /v1/cvr/:cvr med en gf_live_-nøgle:
curl -H "Authorization: Bearer gf_live_…" \ https://api.grundfast.dk/v1/cvr/12345678
Svaret er ét fladt objekt — auth og metering er de samme som på de øvrige registre:
# Register #8 (CVR), Bearer gf_live_…: GET /v1/cvr/12345678 → 200 { virksomhed: { cvr: "12345678", navn: "Eksempel Nedrivning ApS", status: "aktiv", virksomhedsform: "Anpartsselskab", adresse: { vejnavn: "Industrivej", husnr: "12B", postnr: "9310", postnrnavn: "Vodskov", kommunekode: "0851", kommune_navn: "Aalborg", regionskode: "1081", region_navn: "Region Nordjylland" }, branche: { kode: "439990", tekst: "Anden bygge- og anlægsvirksomhed" }, reklamebeskyttet: false } }
Felter i svaret
Hvert CVR-opslag returnerer objektet virksomhed med disse felter — koder er allerede oversat til tekst:
| Felt | Type | Beskrivelse |
|---|---|---|
| cvr | string | Virksomhedens CVR-nummer (8 cifre). |
| navn | string | Virksomhedens aktuelle navn. |
| status | string | Normaliseret livsstatus: aktiv / ophørt / under konkurs / under tvangsopløsning. |
| virksomhedsform | string | Selskabsform i klartekst, fx “Anpartsselskab”. |
| adresse | object | Beliggenhedsadresse — se de udfoldede felter nedenfor. |
| adresse.postnr / .postnrnavn | string | Postnummer og by for beliggenhedsadressen. |
| adresse.kommunekode / .kommune_navn | string | Kommunekode + oversat kommunenavn (via DAGI, offline). |
| adresse.regionskode / .region_navn | string | Regionskode + oversat regionsnavn. |
| branche.kode | string | DB07-branchekode (6 cifre). |
| branche.tekst | string | Branchetekst, oversat fra DB07-nomenklaturen. |
| reklamebeskyttet | boolean | Om virksomheden har reklamebeskyttelse registreret i CVR. |
Der er én parameter — selve CVR-nummeret i stien:
| Parameter | Placering | Beskrivelse |
|---|---|---|
| cvr | sti | 8-cifret CVR-nummer, fx 12345678. Ikke-numeriske eller for lange værdier afvises med 400. |
CVR vs. DAWA vs. rå Datafordeler
DAWA dækkede aldrig CVR — den kolonne er nej hele vejen. Den reelle sammenligning er mod Datafordelers rå CVR-GraphQL, hvor du selv joiner entiteter og slår koder op:
| Funktion | Grundfast | DAWA | Rå Datafordeler |
|---|---|---|---|
| Slå op på CVR-nummer | Ja | Nej | Ja |
| Oversat DB07-branchekode + tekst | Ja | Nej | Nej |
| Kommune- & regionsnavn (ikke kun koder) | Ja | Nej | Nej |
| Normaliseret status (aktiv/ophørt/…) | Ja | Nej | Nej |
| Ét fladt svar (ingen entitets-join) | Ja | Nej | Nej |
| Cachet SLA-mirror + retry | Ja | Nej | Nej |
| Bro til adresse → BFE → ejendom | Ja | Nej | Nej |
| Fritekst-/navnesøgning | På vej | Nej | Nej |
Hvornår skal du bruge CVR-API’et
CVR-opslag på nummer dækker de fleste beriger- og validerings-flows, hvor du allerede har CVR-numrene:
- Berig CRM & leadlister. Slå CVR-nummeret op og udfyld firmanavn, branche og beliggenhedsadresse automatisk — i stedet for manuelt indtastede, forældede felter.
- KYC & onboarding-validering. Bekræft at et CVR-nummer eksisterer og hører til den forventede virksomhed, før du opretter en kunde eller leverandør.
- Filtrér ophørte selskaber fra. Forgren på det normaliserede
status-felt og luk ophørte, konkursramte eller tvangsopløste virksomheder ude med ét felt. - Segmentér pr. kommune eller region. Beliggenhedsadressen kommer med oversatte kommune- og regionsnavne, så du kan gruppere virksomheder geografisk uden et ekstra opslag.
Branchekode-opslag
Hver virksomhed kommer med sin branche som branche.kode (en 6-cifret DB07-branchekode) og branche.tekst (den oversatte branchetekst). Vi slår DB07-nomenklaturen op for dig, så du ikke selv skal vedligeholde kodelisten — brug koden til at filtrere eller segmentere din liste og teksten direkte i din UI:
# branche på hver virksomhedspost — kode + oversat tekst: GET /v1/cvr/12345678 → … "branche": { "kode": "439990", # DB07-branchekode (6 cifre) "tekst": "Anden bygge- og anlægsvirksomhed" # oversat branchetekst } # Filtrér din leadliste på branche.kode (fx alle "41.20.00 Opførelse af bygninger") # uden selv at slå DB07-nomenklaturen op.
Berig en hel virksomhedsliste med CVR
Det stærke ved at have CVR i samme API som ejendomsdata er krydsopslaget: fra et CVR-nummer kan du gå CVR → adresse → BFE → ejendom med samme gf_-nøgle. Slå virksomheden op, vask beliggenhedsadressen til et BFE-nummer, og åbn så bygninger, enheder, jordstykke og ejerlav — uden at skifte leverandør undervejs:
# CVR → adresse → BFE → ejendom — samme gf_-nøgle hele vejen: # 1) CVR-nummer → virksomhedens beliggenhedsadresse GET /v1/cvr/12345678 → virksomhed.adresse = { vejnavn: "Industrivej", husnr: "12B", postnr: "9310", postnrnavn: "Vodskov", … } # 2) adresse → koordinat + BFE (datavask matcher tekst → DAR + jordstykke) GET /v1/datavask/adgangsadresser?betegnelse=Industrivej%2012B%2C%209310%20Vodskov → resultater[0] = { adgangsadresse_id, bfe_nummer: 5651067, koordinat } # 3) BFE → hele ejendommen, i samme datamodel GET /v1/bbr/ejendom/5651067 # bygninger + enheder GET /v1/matrikel/ejendom/5651067 # jordstykke + ejerlav
Beriger du kundelister med CVR-data? Kombinér med datavask af kundelister — så vaskes både adresser og virksomhedsfelter i ét flow.
Har du kun firmanavne og ikke CVR-numrene endnu? Fritekst-/navnesøgning på virksomhed er en separat flade på vej — den kræver et lokalt indeks over et CVR-udtræk. Indtil da er opslag på CVR-nummer live.
Status & datakontrakt
Endpointet er GET /v1/cvr/:cvr med en gf_live_-nøgle. Den nøglefrie GET /v1/demo/cvr spejler samme datakontrakt og virker offline.
/v1/cvr/:cvrCVR-nummer → ren, gensammensat virksomhed. Live nu — klar at kalde.
/v1/demo/cvrOffline eksempel — prøv datakontrakten allerede nu, uden nøgle.
Kom i gang med virksomhedsdata
Opret en gratis nøgle og prøv /v1/demo/cvr nu — så er du klar til /v1/cvr/:cvr, der allerede er live. Skal du berige en hel virksomhedsliste? Skriv til os.
Se også BBR-API’et og Adresse-API’et (DAR), Datafordeler-alternativ og Migrering 2026.
Ofte stillede spørgsmål
Hvad er CVR / et virksomheds-API?
CVR (Det Centrale Virksomhedsregister) er den autoritative kilde til danske virksomheder. Grundfast genudstiller CVR i en ren, gensammensat form: navn, status, selskabsform, branche og beliggenhedsadresse med oversatte kommune-/regionsnavne — i stedet for Datafordelers rå entitetsmodel (CVR_Virksomhed + CVR_Navn + CVR_Adressering + …).
Hvilke CVR-data får jeg?
Hvert opslag returnerer de centrale CVR-data om virksomheden: navn, CVR-nummer, livsstatus (aktiv / ophørt / under konkurs / under tvangsopløsning), virksomhedsform, branche (kode + tekst) og beliggenhedsadresse med oversatte kommune- og regionsnavne. Vi gensammensætter disse CVR-data fra Datafordelers entitetsmodel (CVR_Virksomhed, CVR_Navn, CVR_Adressering, CVR_Branche), så du får ét rent felt-sæt i stedet for selv at joine rå entiteter. Alle CVR-data stammer fra Det Centrale Virksomhedsregister via Datafordeler, og vi krediterer kilden.
Er CVR-API’et live?
Ja — opslag på CVR-nummer er live som Register #8 (GET /v1/cvr/:cvr), oven på Datafordelers CVR-GraphQL. Den nøglefrie demo (GET /v1/demo/cvr) virker også offline.
Indeholder det personoplysninger?
For langt de fleste opslag: nej. Vi bruger aldrig den adgangsbegrænsede CVRPerson-entitet — kun selve virksomhedsposten, som for juridiske enheder (ApS, A/S mv.) ikke er personoplysninger. Undtagelsen er personligt ejede virksomheder (fx enkeltmandsvirksomhed), hvor virksomhedens eget navn og beliggenhedsadresse kan udgøre indehaverens personoplysninger. Det håndterer vi efter en DPIA, og felterne virksomhedsform og reklamebeskyttet gør det muligt at filtrere og respektere.
Kan jeg slå op på virksomhedsnavn?
v1 er opslag på CVR-nummer (det dækker beriger-flows, der allerede har CVR-numrene). Fritekst-/navnesøgning er en separat flade på vej — den kræver et lokalt indeks over et CVR-udtræk.
Hvad koster CVR-opslag?
CVR kører på den fælles selvbetjente prismodel (Free / Starter / Pro / Scale) med samme nøgle og metering som BBR, Matriklen og adresser. Se priser for kald-inkluderet og overforbrug.
Er Grundfast officielt / tilknyttet SDFI?
Nej. Grundfast er et uafhængigt compatibility-lag — uofficielt, men det virker. CVR-data leveres via Datafordeler; vi krediterer kilden.
CVR — virksomheder i hele Danmark
Slå enhver dansk virksomhed op på CVR-nummer — gensammensat, ryddet post fra Det Centrale Virksomhedsregister, serveret fra den cachede mirror. Landsdækkende, i din egen gf_-nøgle.