Denmark Annual Accounts - CVR Financial Statements (Årsrapport) avatar

Denmark Annual Accounts - CVR Financial Statements (Årsrapport)

Pricing

from $10.00 / 1,000 annual accounts statements

Go to Apify Store
Denmark Annual Accounts - CVR Financial Statements (Årsrapport)

Denmark Annual Accounts - CVR Financial Statements (Årsrapport)

Get filed annual reports (årsrapport) of Danish companies by CVR number: revenue, gross profit, net profit, assets, equity, liabilities and employees, as clean JSON with the prior year included. Company and group accounts, up to 5 years per company, balance-checked. Pay per statement.

Pricing

from $10.00 / 1,000 annual accounts statements

Rating

0.0

(0)

Developer

getregdata

getregdata

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Get the filed annual reports (årsrapport) of Danish companies by CVR number. One row per company and fiscal year, with revenue, gross profit, net profit, total assets, equity, liabilities and employee count as clean JSON, plus the prior year from the same filing. The Actor reads the machine-readable (XBRL) annual reports from the Danish Business Authority (Erhvervsstyrelsen) public annual-report distribution. No API key, no proxy, no setup.

What you get

  • Revenue, gross profit, operating profit, profit before tax, net profit
  • Total assets, fixed assets, current assets, cash
  • Equity, share capital, long-term and short-term liabilities, total liabilities
  • Average number of employees
  • The prior year's figures as restated in the same filing (financials.previousYear)
  • Company name, fiscal period, currency, reporting class (Regnskabsklasse B, C, D) or IFRS, publication date
  • Company accounts, plus group (consolidated) accounts on request or when they are the only accounts filed
  • Up to 5 most recent fiscal years per company
  • A _parseQuality flag per row: verified when the balance sheet adds up, partial when it adds up but revenue, profit or equity was not filed, unverified when the figures do not reconcile

Most small Danish companies (class B) report gross profit instead of revenue. They come back as partial with revenue: null, not as an error. Missing figures are always null, never 0.

How to use it

  1. Paste one or more CVR numbers (8 digits, spaces and a leading DK allowed, up to 1,000 per run).
  2. Choose how many fiscal years you want per company (1 to 5).
  3. Switch on group accounts if you also want them next to the company's own accounts. A company that files group accounts only (for example a listed company reporting under IFRS) always gets its group accounts, switch or not.
  4. Run it and download the dataset as JSON, CSV or Excel, or read it through the API.

Input

FieldTypeDefaultNotes
companyIdslist of strings["21766909"]Danish CVR numbers. Anything that is not 8 digits is returned as an invalid_id failure row.
yearsinteger 1-51Most recent fiscal years per company.
includeConsolidatedbooleanfalseAlso return group accounts next to the company's own accounts. Each group statement is an extra row. Companies that file group accounts only get them either way.
{
"companyIds": ["21766909", "25800680"],
"years": 2,
"includeConsolidated": false
}

Example output

One row for Pan Holding, Sæby ApS, fiscal year ending 30 April 2026 (shortened):

{
"country": "DK",
"companyId": "21766909",
"companyName": "Pan Holding, Sæby ApS",
"legalForm": null,
"year": 2026,
"periodStart": "2025-05-01",
"periodEnd": "2026-04-30",
"statementType": "individual",
"currency": "DKK",
"accountingStandard": "Regnskabsklasse B",
"financials": {
"revenue": null,
"grossProfit": 84047,
"operatingProfit": -387039,
"profitBeforeTax": 2655801,
"netProfit": 2029316,
"totalAssets": 35622345,
"fixedAssets": 8255840,
"currentAssets": 27366505,
"cashAndEquivalents": 158368,
"equity": 35269496,
"shareCapital": 500000,
"longTermLiabilities": 51000,
"shortTermLiabilities": 301849,
"totalLiabilities": 352849,
"totalLiabilitiesAndEquity": 35622345,
"employees": 1,
"previousYear": {
"grossProfit": 26613,
"netProfit": -516608,
"totalAssets": 33726254,
"equity": 33375180
}
},
"filingDate": "2026-10-21",
"sourceUrl": "http://regnskaber.virk.dk/90966712/amNsb3VkczovLzAzL2JiLzIxLzFkL2Y3L2YyYzItNDRjYi1hNzE5LWU4Yjc0Yjg4OWRjZg.xml",
"_parseQuality": "partial",
"_derived": ["totalLiabilities", "previousYear.totalLiabilities"],
"_valueUnit": "units",
"success": true
}

Figures are in whole currency units, in the currency the company filed in (usually DKK, some companies file in EUR or USD).

Output fields

FieldMeaning
country, companyIdDK and the CVR number
companyNameName as stated in the annual report
legalFormAlways null. The annual report does not state it.
year, periodStart, periodEndFiscal year (the year the period ends) and the exact period
statementTypeindividual (the company's own accounts) or consolidated (group accounts)
currency, accountingStandardFiling currency, and the Danish reporting class as filed (for example Regnskabsklasse B) or IFRS
financials.*Revenue, gross profit, operating profit, profit before tax, net profit, total / fixed / current assets, cash, equity, share capital, long-term and short-term liabilities, total liabilities, total liabilities and equity, average employees. null when not filed.
financials.previousYearThe same fields for the prior year, as restated in the same filing
filingDateDate the annual report was published
sourceUrlThe official filing document the row came from
_parseQuality, _balanceChecksBalance-sheet checks and the resulting quality flag
_derivedFields worked out rather than read. Danish GAAP filings do not tag total liabilities, so it is total liabilities and equity minus equity.
success, errorFailure rows have success: false and one of invalid_id, not_found, no_filings, source_unavailable, parse_failed

Only the statement totals are read. Equity broken down into its components (share capital, reserves, retained earnings) is not mixed into the equity total.

Pricing

Pay per event plus platform usage. You are charged one "Annual accounts statement" event per successful row (one company, one fiscal year, one statement type). Companies that are not found, have no machine-readable annual report or have an invalid number are returned as failure rows and are not charged.

PlanPrice per statement
Free$0.02
Bronze$0.015
Silver$0.012
Gold$0.01

A small actor-start fee applies to each run. Platform usage is billed to you by Apify and is small for this Actor (512 MB). If you set a maximum cost per run, the Actor stops cleanly when the limit is reached and says so in the run status message.

Good to know

  • Covers companies that file annual reports with the Danish Business Authority (ApS, A/S and other reporting entities). Machine-readable reports exist from about 2012; older years are scanned images and are skipped.
  • If one year's report cannot be downloaded or read, the other years are still returned and that year is left out.
  • When a company re-files a corrected annual report, the latest version for that period is used.
  • Half-year and quarterly reports are ignored.
  • A CVR number with no annual reports at all comes back as not_found. A company whose reports are all scanned images comes back as no_filings.
  • The most recent year may not be available until the company has filed it.
  • Failure rows are returned for every input that produced no data, so the output always accounts for every number you sent, unless the run stops at your spending limit.

Source

Data comes from the public filings in the Danish Business Authority (Erhvervsstyrelsen) public annual-report distribution.