Hent ejere og direktion for en dansk virksomhed

Til KYC, kreditvurdering og onboarding skal du ofte vide, hvem der ejer og leder en virksomhed. CVR-API giver dig de aktuelle legale ejere med ejerandel og stemmeret, direktionen og de fuldt ansvarlige deltagere – direkte fra CVR.

To måder at hente dem på

Det fulde opslag /api/v1/{cvr} indeholder felterne direktion, fuldt_ansvarlige og ejere. Har du kun brug for personerne, er det slanke endpoint hurtigere, fordi det springer P-enheder og stamdata over:

bash
curl https://apicvr.dk/api/v1/24256790/direktion-og-ansvarlig

Eksempel på svar

json
{
  "vat": 24256790,
  "direktion": [
    {
      "name": "Karsten Munk Knudsen",
      "role": "DIREKTØR",
      "type": "PERSON",
      "cvr": null,
      "startdate": "2018-02-15",
      ...
    }
  ],
  "fuldt_ansvarlige": [],
  "ejere": [
    {
      "name": "Novo Holdings A/S",
      "type": "VIRKSOMHED",
      "cvr": 24257630,
      "country": "DK",
      "ownership_percent": 0.25,
      "ownership_range": "25-33,32%",
      "voting_rights_percent": 0.6667,
      "voting_rights_range": "66,67-89,99%",
      "startdate": "2000-11-13"
    }
  ]
}

Sådan læser du felterne

FeltBetydning
direktionNuværende direktører (fx DIREKTØR eller ADM. DIR.).
fuldt_ansvarligeDeltagere med personlig hæftelse, fx interessenter i et I/S.
ejereLegale ejere fra ejerregistret med andel og stemmeret.
ownership_percentEjerandel som decimaltal: 0.25 betyder 25 %.
ownership_rangeDet interval, CVR registrerer andelen i, fx 25-33,32%.
typePERSON, VIRKSOMHED (med cvr) eller ANDEN_DELTAGER, fx en udenlandsk ejer.

Find den samlede ejerkæde

Når en ejer er en virksomhed, har den selv et CVR-nummer. Så kan du gå et niveau op ad gangen:

python
import requests

def owner_chain(cvr: int, depth: int = 0, max_depth: int = 5):
    url = f"https://apicvr.dk/api/v1/{cvr}/direktion-og-ansvarlig"
    data = requests.get(url, timeout=10).json()
    for owner in data["ejere"]:
        share = owner["ownership_percent"] or 0
        print("  " * depth + f"{owner['name']} ({share:.0%})")
        if owner["type"] == "VIRKSOMHED" and owner["cvr"] and depth < max_depth:
            owner_chain(owner["cvr"], depth + 1, max_depth)

owner_chain(24256790)

Værd at vide

Ofte stillede spørgsmål

Får jeg også de reelle ejere?

API'et returnerer de legale ejere fra CVR. Reelle ejere (UBO) registreres separat og er ikke en del af svaret.

Hvorfor er ownership_percent 0.25 og ikke 25?

Andelen er et decimaltal mellem 0 og 1. Gang med 100 for at få procent.

Hvad er forskellen på direktion og fuldt ansvarlige?

Direktionen leder selskabet. Fuldt ansvarlige hæfter personligt for gælden, fx interessenter i et I/S eller komplementarer i et K/S.