Cvr

CVR Explorer

Unlock Company Data in minutes not weeks with CVR Explorer! (opens in a new tab)

Example- Get upto 100 A/S or ApS companies located in the capital region:

fetch('<<api_url>>/companies', {
  body: JSON.stringify({
    regions: ['capital'],
    types: ['a/s','aps'],
    limit: 100,
  })
}).then(res => res.json())
 
// Returns
// [
//   {
//     cvr: string | number,
//     name: string | null,
//     website: string | null,
//     email: string | null,
//     phone: string | null,
//     branch: string | null,
//     startDate: string | null,
//     type: string | null,
//     ...
//   }
// ]

Get Started

The API is freely available- Get started below or read more (opens in a new tab).

API URL

https://danielzambelli.dk/api/v1/cvr-explorer

Endpoints and examples

GET /companies

Accpets JSON body with CompaniesQuery and returns array of matching Companies.

Lookup specific companies:

fetch('<<api_url>>/companies', {
  body: JSON.stringify({
    cvrs: ['61126228', 15134275],
  })
}).then(res => res.json())

List matching companies:

fetch('<<api_url>>/companies', {
  body: JSON.stringify({
    regions: ['capital'],
    types: ['a/s','aps'],
  })
}).then(res => res.json())

GET /companies/export/excel

Accpets JSON body with CompaniesQuery and redirects to excel file with up to 20.000 matching Companies.

Export to excel:

fetch('<<api_url>>/companies/export/excel', {
  body: JSON.stringify({
    regions: ['capital'],
    employees: ['ANTAL_1_1','ANTAL_5_9','ANTAL_200_499'],
    limit: 5000
  })
}).then(res => res.json())

GET /companies/export/csv

Accpets JSON body with CompaniesQuery and redirects to csv text file with up to 100.000 matching Companies.

Export to csv:

fetch('<<api_url>>/companies/export/csv', {
  body: JSON.stringify({
    regions: ['capital'],
    employees: ['ANTAL_1_1','ANTAL_5_9','ANTAL_200_499'],
    limit: 5000
  })
}).then(res => res.json())

GET /annual-report/:cvr

Accpets a company's :cvr and returns array of AnnualReports.

Get Annual Reports for a company:

fetch('<<api_url>>/annual-report/61126228').then(res => res.json())

Types

CompaniesQuery

paramtypeDescription
cvrsnumber[], string[], optionalmatching cvrs e.g. "23569914"
namesstring[], optionalmatching names e.g. "Danske Bank"
branchCodesnumber[], optionalmatching branchCodes e.g. "889910", Find branch codes (opens in a new tab)
typesstring[], optionalmatching types: 'a/s', 'aps', 'enk', 'ivs', 'is'
regionsstring[], optionalmatching regions: 'capital', 'zealand', 'middle', 'north', 'south'
employeesstring[], optionalmatching employees: 'ANTAL_0_0', 'ANTAL_1_1', 'ANTAL_2_4', 'ANTAL_5_9', 'ANTAL_10_19', 'ANTAL_20_49', 'ANTAL_50_99', 'ANTAL_100_199', 'ANTAL_200_499', 'ANTAL_500_999', 'ANTAL_1000_999999'
activeboolean[], optionalis the company active or closed e.g. true
limitnumberLimits the number of companies returned. Default and max: 500.

Company

cvr: string | number | null,
name: string | null,
typeCode: string | null,
type: string | null,
branch: string | null,
branchCode: number | null,
startDate: string | null,
endDate: string | null,
active: boolean | null,
website: string | null,
email: string | null,
phone: string | null,
employeeCount: string | null,
employeeCountYear: string | null,
adProtected: string | null,

AnnualReport

cvr: number,
startDate: string,
endDate: string,
pdfUrl: string,
xmlUrl: string