CVR System-til-System eller et CVR API?

Erhvervsstyrelsen udstiller hele CVR-registret som et Elasticsearch-indeks på distribution.virk.dk. Det kaldes System-til-System-adgang. Det er gratis og komplet, men kræver ansøgning, og svarene er tunge at arbejde med. apicvr.dk bygger ovenpå og giver dig de samme data som simpelt JSON.

Hvad er System-til-System?

System-til-System er Erhvervsstyrelsens officielle distribution af CVR-data. Du får et brugernavn og en adgangskode og sender Elasticsearch-forespørgsler til indeksene cvr-permanent/virksomhed, cvr-permanent/produktionsenhed og cvr-permanent/deltager. Svarene indeholder hele historikken for hver virksomhed.

Sådan ser et opslag ud

bash
curl -u "$CVR_USER:$CVR_PASSWORD" \
  -H "Content-Type: application/json" \
  -X POST "http://distribution.virk.dk/cvr-permanent/virksomhed/_search" \
  -d '{
    "query": { "term": { "Vrvirksomhed.cvrNummer": 24256790 } },
    "size": 1
  }'

# Svaret er hele CVR-dokumentet: navne, adresser, deltagere og
# attributter som historiske lister med gyldighedsperioder.

Hvert felt er en liste med gyldighedsperioder. Vil du have det nuværende navn, skal du selv finde den periode, der stadig gælder:

python
# Find det navn, der gælder i dag, i det rå System-til-System-svar
def current_name(vrvirksomhed):
    for navn in vrvirksomhed["navne"]:
        if navn["periode"]["gyldigTil"] is None:
            return navn["navn"]
    return None

Det samme gælder adresser, branchekoder, status, ansatte og ikke mindst deltagerrelationer, hvor ejere og direktion ligger gemt i flere lag.

Det samme opslag med apicvr.dk

bash
curl https://apicvr.dk/api/v1/24256790

{
  "vat": 24256790,
  "name": "NOVO NORDISK A/S",
  "address": "Novo Allé 1",
  "zipcode": 2880,
  "city": "Bagsværd",
  "status": "NORMAL",
  ...
}

apicvr.dk sender forespørgslen til System-til-System for dig, plukker de gældende værdier ud og returnerer et fladt objekt. Ingen ansøgning, ingen adgangskode.

Hvornår skal du bruge System-til-System selv?

Til almindelige opslag i en webshop, et CRM, en onboarding eller et regneark er et færdigt API som apicvr.dk hurtigere at komme i gang med og lettere at vedligeholde.

Kildekoden til apicvr.dk er open source. Har du selv System-til-System-adgang, kan du køre din egen instans med Docker. Se GitHub.

Ofte stillede spørgsmål

Hvordan får jeg System-til-System-adgang?

Du ansøger hos Erhvervsstyrelsen og accepterer deres vilkår. Når ansøgningen er godkendt, får du et brugernavn og en adgangskode til distribution.virk.dk.

Er System-til-System gratis?

Ja, adgangen er gratis, men den kræver godkendelse og en teknisk integration med Elasticsearch.

Bruger apicvr.dk de samme data?

Ja. Hvert opslag går live til distribution.virk.dk, så du får de samme aktuelle oplysninger.