Denmark Company Filings (CVR) API and MCP — Annual Reports & Announcements
Send a CVR number and this source lists the company's filings: annual reports, announcements and registrations, each with a date, a type, a description and links to the documents.
- You send
- A CVR number, plus optional max_items and start_page
- You get back
- Annual reports, announcements and registrations with date, type, description and document links
- Coverage
- Denmark — entities on CVR.
- Price
- 1 point per returned record — $1 per 1,000
- Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| CVR directly | Open the company on CVR and page through the list | Usually free, sometimes per-document | A different interface, language and data shape for every country you add |
| Collecting it yourself | Build and host a crawler per register, then keep each one alive | Infrastructure and maintenance | Registers change their pages without warning, and nobody is on the hook when yours breaks |
| NeuralVerge | One request, the same shape as every other source in the catalog | $1 per 1,000, misses not billed | Covers Denmark — other countries are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
total_items | number | Records returned in this response. |
total_found | number | Filings the register reports for the company. |
page_count | number | Pages read for this response. |
first_item | object | The first filing, same shape as items entries. |
items | array | Returned filings. |
items[].id | string | Identifier of the filing. |
items[].date | string | Filing date, YYYY-MM-DD. |
items[].type | string | Kind of filing, for example annual_report. |
items[].name | string | Title in Danish, for example Halvårsrapport (half-year report). |
items[].description | string | Title with the reporting period. |
items[].url | string | Link to the filing document. |
items[].document_url | string | Link to the filing document, same as url in the sample. |
items[].reporting_type | string | Register code for the report type. |
items[].period_start | string | Start of the reporting period. |
items[].period_end | string | End of the reporting period. |
items[].approval_date | null | Approval date. Null in the sample. |
items[].meeting_chair | null | Chair of the approving meeting. Null in the sample. |
items[].reissued | boolean | Whether the report was reissued. |
items[].withdrawn | boolean | Whether the report was withdrawn. |
items[].documents | array | Files of the filing, each with document name, format and url. |
items[].registration_number | string | Empty string in filings results. |
items[].status, address, company_type, incorporation_date | null | Company fields shared with the search shape. Null in filings results. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "dk_company_filings",
"company": "24256790",
"company_id": "24256790",
"max_items": 2,
"start_page": 1,
"partial": false,
"human": "# Denmark — CVR — company filings\n\n- **Company:** 24256790\n- **Results:** 2 of 266 found\n- **Proxy traffic:** 530.6 KB",
"machine": {
"total_items": 2,
"first_item": {
"registration_number": "",
"status": null,
"address": null,
"company_type": null,
"incorporation_date": null,
"id": "amNsb3VkczovLzAzLzY3L2EzLzJjLzdmLzEyMzQtNDQ2My05ZjliLTk0NGQ4YTZjODIyNA",
"date": "2026-08-05",
"type": "annual_report",
"name": "Halvårsrapport",
"description": "Halvårsrapport, 2026-01-01 – 2026-06-30",
"url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzLzY3L2EzLzJjLzdmLzEyMzQtNDQ2My05ZjliLTk0NGQ4YTZjODIyNA&cvrNummer=24256790",
"document_url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzLzY3L2EzLzJjLzdmLzEyMzQtNDQ2My05ZjliLTk0NGQ4YTZjODIyNA&cvrNummer=24256790",
"reporting_type": "AARSRAPPORT_MV",
"period_start": "2026-01-01",
"period_end": "2026-06-30",
"approval_date": null,
"meeting_chair": null,
"reissued": false,
"withdrawn": false,
"documents": [
{
"document": "HALVAARSRAPPORT",
"format": "XML",
"url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzLzY3L2EzLzJjLzdmLzEyMzQtNDQ2My05ZjliLTk0NGQ4YTZjODIyNA&cvrNummer=24256790"
},
{
"document": "HALVAARSRAPPORT_ESEF",
"format": "XML",
"url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzLzk4LzFmL2U0L2M1LzJkZGUtNGI2MC05MmMyLWI3ZWIxMDFkMGJlNw&cvrNummer=24256790"
}
]
},
"items": [
{
"registration_number": "",
"status": null,
"address": null,
"company_type": null,
"incorporation_date": null,
"id": "amNsb3VkczovLzAzLzY3L2EzLzJjLzdmLzEyMzQtNDQ2My05ZjliLTk0NGQ4YTZjODIyNA",
"date": "2026-08-05",
"type": "annual_report",
"name": "Halvårsrapport",
"description": "Halvårsrapport, 2026-01-01 – 2026-06-30",
"url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzLzY3L2EzLzJjLzdmLzEyMzQtNDQ2My05ZjliLTk0NGQ4YTZjODIyNA&cvrNummer=24256790",
"document_url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzLzY3L2EzLzJjLzdmLzEyMzQtNDQ2My05ZjliLTk0NGQ4YTZjODIyNA&cvrNummer=24256790",
"reporting_type": "AARSRAPPORT_MV",
"period_start": "2026-01-01",
"period_end": "2026-06-30",
"approval_date": null,
"meeting_chair": null,
"reissued": false,
"withdrawn": false,
"documents": [
{
"document": "HALVAARSRAPPORT",
"format": "XML",
"url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzLzY3L2EzLzJjLzdmLzEyMzQtNDQ2My05ZjliLTk0NGQ4YTZjODIyNA&cvrNummer=24256790"
},
{
"document": "HALVAARSRAPPORT_ESEF",
"format": "XML",
"url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzLzk4LzFmL2U0L2M1LzJkZGUtNGI2MC05MmMyLWI3ZWIxMDFkMGJlNw&cvrNummer=24256790"
}
]
},
{
"registration_number": "",
"status": null,
"address": null,
"company_type": null,
"incorporation_date": null,
"id": "amNsb3VkczovLzAzL2MyL2FjLzNjLzEzLzM2N2MtNDg0Mi05YTJmLTNjZTEyNTVjOTkxYg",
"date": "2026-05-06",
"type": "annual_report",
"name": "Delårsrapport",
"description": "Delårsrapport, 2026-01-01 – 2026-03-31",
"url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzL2MyL2FjLzNjLzEzLzM2N2MtNDg0Mi05YTJmLTNjZTEyNTVjOTkxYg&cvrNummer=24256790",
"document_url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzL2MyL2FjLzNjLzEzLzM2N2MtNDg0Mi05YTJmLTNjZTEyNTVjOTkxYg&cvrNummer=24256790",
"reporting_type": "AARSRAPPORT_MV",
"period_start": "2026-01-01",
"period_end": "2026-03-31",
"approval_date": null,
"meeting_chair": null,
"reissued": false,
"withdrawn": false,
"documents": [
{
"document": "DELAARSRAPPORT_ESEF",
"format": "XML",
"url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzL2MyL2FjLzNjLzEzLzM2N2MtNDg0Mi05YTJmLTNjZTEyNTVjOTkxYg&cvrNummer=24256790"
},
{
"document": "ESEF_EXTENSION",
"format": "ZIP",
"url": "https://datacvr.virk.dk/gateway/dokument/downloadDokumentForVirksomhed?dokumentId=amNsb3VkczovLzAzLzkyL2Q3LzFiLzlmLzBkNzItNGUzNy04M2FhLTBjYmZlMmI2Zjc2OQ&cvrNummer=24256790"
}
]
}
],
"total_found": 266,
"page_count": 1,
"blocked": false,
"proxy_traffic_bytes": 543307
},
"total_points": 2
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.
curl -X POST https://api.neuralverge.ai/functions/v1/run-dk-company-filings \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"24256790","max_items":2}'What teams use it for
Where this field shows up in an actual workflow.
Get the document links for each reporting period and fetch the files you need.
The list is newest first, so a small max_items shows what was filed most recently.
Line up reporting periods and filing dates to see how regularly a company reports.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Denmark — entities on CVR.
Read at request time, so the answer reflects the register as it stands when you ask.
CVR is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —Each returned filing is billed, so set max_items to what you need.
- —The documents array lists file names and formats. This source returns links, not file contents.
- —Company-level fields such as address and status are empty here. Use the Denmark company source for those.
Questions, answered
The docs describe annual reports, announcements and registrations. The sample shows periodic reports with their document files.
Related sources
Try denmark company filings on your own data
One request format across every source in the catalog.