Nyt: Regnskabstal som JSON via CVR API

Hent danske virksomheders regnskabstal som strukturerede data: bruttofortjeneste, resultat, egenkapital og balance for op til 10 år — parset fra officielle XBRL-årsrapporter.

Alle danske selskaber indsender årsrapporter til Erhvervsstyrelsen, og rapporterne er offentlige. Men de ligger som XBRL- og PDF-dokumenter — fine til mennesker og revisorer, ubrugelige i en kreditmodel, et CRM-felt eller en onboarding-flow. Det har vi lavet om på: GET /api/v1/company/{cvr}/financials returnerer nu virksomhedens regnskabstal som strukturerede data, regnskabsår for regnskabsår.

Hvad får du?

Ét kald giver dig op til 10 års nøgletal parset direkte fra de officielle XBRL-årsrapporter:

  • Resultatopgørelse: omsætning, bruttofortjeneste, personaleomkostninger, EBIT, resultat før skat og årets resultat
  • Balance: aktiver (anlæg, tilgodehavender, likvider), egenkapital og gældsposter
  • Antal ansatte, når rapporten oplyser det
  • Perioder, publiceringsdato og syncedAt, så du altid ved, hvor friske tallene er

Indsender en virksomhed en omgørelse (en korrigeret årsrapport), vinder den nyeste indberetning automatisk — du får de tal, der gælder, ikke de først indsendte.

Prøv det

bash
curl -H "Authorization: Bearer cvr_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  "https://cvrlookup.dk/api/v1/company/43269070/financials"

Svaret er rent JSON, nyeste regnskabsår først:

json
{
  "success": true,
  "data": {
    "cvr": "43269070",
    "count": 4,
    "syncedAt": "2026-07-17T10:43:26.487Z",
    "periods": [
      {
        "periodStart": "2025-01-01",
        "periodEnd": "2025-12-31",
        "publishedAt": "2026-05-20T10:40:38.000Z",
        "figures": {
          "grossProfit": 2042685,
          "employeeBenefitsExpense": 1536189,
          "profitBeforeTax": 489638,
          "netResult": 425200,
          "equity": 1193023,
          "totalAssets": 1747314,
          "cashAndCashEquivalents": 1271470
        }
      },
      {
        "periodStart": "2024-01-01",
        "periodEnd": "2024-12-31",
        "publishedAt": "2025-06-17T11:40:44.000Z",
        "figures": {
          "grossProfit": 2409341,
          "netResult": 784152,
          "equity": 1167823,
          "totalAssets": 1842075
        }
      }
    ]
  }
}

Fra tal til nøgletal

Fordi felterne er strukturerede, er nøgletal én linje kode væk — her soliditetsgrad og resultat pr. år i Node:

javascript
// soliditet.mjs — nøgletal direkte fra årsrapporterne
const API_BASE = "https://cvrlookup.dk/api/v1";
const API_KEY = process.env.CVRLOOKUP_API_KEY;

const res = await fetch(`${API_BASE}/company/43269070/financials`, {
  headers: { Authorization: `Bearer ${API_KEY}` },
});
const body = await res.json();
if (!body.success) throw new Error(body.error.code);

for (const period of body.data.periods) {
  const { equity, totalAssets, netResult } = period.figures;
  const soliditet =
    equity != null && totalAssets != null
      ? ((equity / totalAssets) * 100).toFixed(1) + "%"
      : "n/a";
  console.log(
    period.periodEnd.slice(0, 4),
    "resultat:", netResult ?? "n/a",
    "soliditet:", soliditet,
  );
}

Det med småt — som vi siger højt

Regnskabstal fra CVR har ærlige begrænsninger, og dem skjuler vi ikke bag tomme felter uden forklaring:

  • Omsætning er ofte udeladt. Mindre selskaber (regnskabsklasse B) må lovligt udelade nettoomsætningen (ÅRL §32). Derfor er grossProfit — bruttofortjenesten — det universelle toplinjetal, og revenue er kun sat, når virksomheden faktisk oplyser den.
  • Alle felter er valgfrie.Hvad en årsrapport indeholder afhænger af regnskabsklassen. Et manglende felt betyder "ikke oplyst" — aldrig nul.
  • Ældste rapporter er PDF-only. Digitale XBRL-indberetninger blev standard i 2012-13; ældre år kan mangle.

Hvor kommer tallene fra?

Direkte fra Erhvervsstyrelsens offentlige distributionsservice for offentliggjorte regnskaber — samme kilde som virk.dk. Vi henter XBRL-dokumenterne, parser dem mod den danske regnskabstaksonomi og cacher resultatet, så dit kald typisk svarer på få hundrede millisekunder. Er distributionsservicen nede, serverer vi den senest kendte version med et ærligt syncedAt, frem for at fejle.

Kom i gang

Regnskabstal er en del af Pro-planen (149 kr/måned) med 14 dages gratis prøve. Vil du bare se tallene med det samme, er de også på hver virksomheds side her på sitet — slå fx en kunde op via søgningen og scroll til Regnskab-sektionen. Endpoint-detaljer, feltliste og fejlkoder står i dokumentationen.