API Documentation
Introduction
The CVRBasen API V1 is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
All users must, when creating an account, indicate that they intend to follow the law on advertising protection. It is illegal to make advertising inquiries to companies that are advertising-protected in CVR.
Feel free to submit suggestions/feature requests to info@synsbasen.dk.
Base url
1https://api.cvrbasen.dk/v1
Authentication
CVR Basen uses API keys to authenticate requests. An API key is private and must not be shared or used across different applications and domains. You can view and manage your API keys in your dashboard.
Required Headers
All requests require you to include the following headers:
Authorization: Bearer <APIKEY>
Content-Type: application/json
Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
Requests without authentication will fail. Sign up now and get a free API key.
Authentications
1Authorization: Bearer <APIKEY>
2Content-Type: application/json
2Content-Type: application/json
Response Codes
Our API uses conventional HTTP response codes to indicate the success or failure of an API request.
Codes in the 2xx range indicate success.
Codes in the 4xx range indicate an error that failed given the information provided (e.g. a required parameter was omitted, insufficient funds etc.).
Codes in the 5xx range indicate an error with Synsbasen’s servers.
HTTP Status Codes
1200OK
2400Bad Request
3401Unauthorized
4403Forbidden
5404Not Found
6429Too Many Requests
7500Internal Server Error
2400Bad Request
3401Unauthorized
4403Forbidden
5404Not Found
6429Too Many Requests
7500Internal Server Error
Search
Some endpoints allows you to include a request body to make advanced searches. The request body object consists of optional parameters regardings filtering, sorting, page index and size etc., which allows you to customize the query to your specific needs.
The keys in the
query object is called search matchers and consists of the name of the attribute concatenated with a predicate. The predicate determines how to match the attribute with the search value.
For instance, using name_cont on the companies endpoint will only return companies where name contains the given search value. Note all predicates are by default case sensitive with the exception of *_i_cont.
See available search attributes in the documentation of the individual resources.
Request parameters
An object where the keys contains of the name of an attribute and a predicate and the values are the term to search for.
A string representing the desired method of the request. If you avoid including a method, the default method is
SELECT.
The available methods are:
- COUNT
- SELECT
- PERCENTAGEAn integer representing the desired page index of the results in the response. The default value is 1.
An integer representing the maximum results in the response. You can set the per page to any integer between 1 and 1000. The default value is 25.
A string representing the sorting argument which consists of the name of an attribute and a direction
ASC/DESC.
You can parse multiple sorting arguments as an array eg. sorts: ["registration ASC", "first_registration_date DESC"].
You can sort the results in random order by using the random keyword eg. sorts: "random".Response parameters
A hash or array representing the data of the response. The data can be either a hash or an array depending on the method used in the request. If the method is
COUNT or PERCENTAGE, the data will be a hash. If the method is SELECT, the data will be an array.A boolean indicating if there are more pages of results.
An integer representing the current page
An integer representing the total number of pages.
An integer representing the total number of results.
An integer representing the maximum number of results per page.
Predicates
Used to filter results based on an exact match.
Used to filter results based on a value that is not equal.
Used to filter results based on a string starting with a value. This is equivalent to using a
LIKE clause in a SQL query with a wildcard suffix.Used to filter results based on a string ending with a value. This is equivalent to using a
LIKE clause in a SQL query with a wildcard prefix.Used to filter results based on a partial substring. This is equivalent to using a
LIKE clause in a SQL query with surrounding wildcards.Used to filter results based on a partial substring that matches any value in an array.
Used to filter results based on a case insensitive partial substring. This is equivalent to using a
ILIKE clause in a SQL query with surrounding wildcards.Used to filter results based on a case insensitive partial substring that matches any value in an array.
Filters results based on values that match a specified pattern. Use
_ to match any single character and % to match any sequence of characters.Filters results based on values that match any pattern in a given list. Use
_ to match any single character and % to match any sequence of characters. Multiple patterns can be provided in an array, and a match with any of them will be included in the response.Used to filter results based on an array of values. This is equivalent to using a
WHERE clause in a SQL query with an IN operatorUsed to filter results based on a value that is false. This is equivalent to using a
WHERE clause in a SQL query with a NOT IN operator.Used to filter results based on a value less than the specified value.
Used to filter results based on a value less than or equal to the specified value.
Used to filter results based on a value greater than the specified value.
Used to filter results based on a value greater than or equal to the specified value.
Used to filter results based on a value that is null.
Used to filter results based on a value that is not null.
Used to filter results based on a value that is true.
Used to filter results based on a value that is false.
Request Body
{
"query": {
"name_cont": "NOVO NORDISK",
"status_eq": "Ophørt"
},
"method": "SELECT",
"page": 1,
"per_page": 3,
"sorts": "end_date DESC"
}Response
{
"data": [
{
"vat": 43210742,
"name": "Novo Nordisk Music Association",
"address": "Novo Alle 1",
"start_date": "2022-04-22",
"end_date": "2025-04-24",
"status": "Ophørt",
...
},
{
"vat": 39440210,
"name": "Novo Nordisk Rideklub",
"address": "Lyngparken 47",
"start_date": "2021-08-05",
"end_date": "2024-07-15",
"status": "Ophørt",
...
},
{
"vat": 42125792,
"name": "Novo Nordisk Idrætsklub",
"address": "Engvej 68",
"start_date": "2021-02-15",
"end_date": "2024-02-17",
"status": "Ophørt",
...
}
],
"has_more": true,
"page": 1,
"total_pages": 5,
"total_count": 15,
"per_page": 3
}Companies
The Companies endpoint provides detailed information about a specific company based on its VAT number. This endpoint is ideal for retrieving company-related data, including legal ownership, industry details, and operational statuses. It is commonly used for compliance checks, legal research, and company data analysis.
Request parameters
The VAT number of the company.
Response parameters
The VAT number of the company.
The official name of the company.
The address of the company.
The care-of address line if applicable.
The postal code of the company's address.
The city where the company is located.
Indicates if the company data is protected.
The phone no of the company, if any.
The fax no of the company, if any.
The email address of the company, if any.
The date the company was registered.
The date the company was deregistered, if applicable.
The no of employees in the company, if any.
The NACE code for the company's industry.
A description of the company's industry.
The code for the company's legal form.
The short form of the company's legal structure.
The full description of the company's legal structure.
The current status of the company.
An array of legal owners with their names and ownership percentages.
An array of production units with their numbers and start/end dates.
Endpoints
1GET/v1/companies/:vat
2POSTv1/companies/search
2POSTv1/companies/search
Response
{
"data": {
"vat": 24256790,
"name": "NOVO NORDISK A/S",
"address": "Novo Alle 1",
"addressco": null,
"zipcode": 2880,
"city": "Bagsværd",
"protected": false,
"phone": "44448888",
"fax": "44442314",
"email": "web@novo.dk",
"start_date": "1931-11-28",
"end_date": null,
"employees": 33718,
"industry_code": "212000",
"industry_description": "Fremstilling af farmaceutiske præparater",
"company_form_code": 60,
"company_form": "A/S",
"company_form_long": "Aktieselskab",
"status": "NORMAL",
"legal_owners": [
{
"type": "company",
"vat": 24257630,
"name": "Novo Holdings A/S",
"ownership_percentage": "0.25",
"voting_rights_percentage": "0.6667"
}
],
"production_units": [
{
"number": 1006455042,
"start_date": "1931-11-28",
"end_date": null
},
{
...
}
]
}
}Companies
Associations
The Company associations endpoint returns a list of companies in which the specified company (identified by its VAT number) holds legal ownership or shares. This endpoint is useful for exploring corporate structures, identifying subsidiaries, and analyzing ownership relationships between companies. It is commonly used for business intelligence, compliance investigations, and organizational mapping.
Request parameters
The VAT number of the company.
Response parameters
The VAT number of the company.
The official name of the company.
The address of the company.
The care-of address line if applicable.
The postal code of the company's address.
The city where the company is located.
Indicates if the company data is protected.
The phone no of the company, if any.
The fax no of the company, if any.
The email address of the company, if any.
The date the company was registered.
The date the company was deregistered, if applicable.
The no of employees in the company, if any.
The NACE code for the company's industry.
A description of the company's industry.
The code for the company's legal form.
The short form of the company's legal structure.
The full description of the company's legal structure.
The current status of the company.
An array of legal owners with their names and ownership percentages.
An array of production units with their numbers and start/end dates.
Endpoint
1GET/v1/companies/:vat/associations
Response
{
"data": [
{
"vat": 39119374,
"name": "Novo Nordisk Research Center Gladsaxe ApS",
"address": "Novo Alle 1",
"addressco": null,
"zipcode": 2880,
"city": "Bagsværd",
"protected": true,
"phone": null,
"fax": null,
"email": "cth@embarkbiotech.com",
"start_date": "2017-11-28",
"end_date": null,
"employees": 7,
"industry_code": "721000",
"industry_description": "Forskning og eksperimentel udvikling inden for naturvidenskab og teknik",
"company_form_code": 80,
"company_form": "APS",
"company_form_long": "Anpartsselskab",
"status": "NORMAL",
"legal_owners": [
{
"type": "company",
"vat": 24256790,
"name": "NOVO NORDISK A/S",
"ownership_percentage": "1.0",
"voting_rights_percentage": "1.0"
}
],
"production_units": [
{
"number": 1023071890,
"start_date": "2017-11-28",
"end_date": null
}
]
},
{
...
},
{
...
}
]
}Companies
Statements
The Company statements endpoint returns a list of financial statements for the specified company (identified by its VAT number). Each statement includes key financial figures such as revenue, profit, equity, and equity ratio, along with links to the official filings. This endpoint is useful for financial analysis, credit assessment, and tracking a company’s performance and stability over time. It is commonly used for business intelligence, investment research, and regulatory compliance.
Request parameters
The VAT number of the company for which to retrieve statements.
Response parameters
The start date of the financial period.
The end date of the financial period.
A direct link to the official XBRL financial statement file.
The timestamp when the statement was published.
The total revenue for the financial period, if available.
The gross profit for the financial period, if available.
The net profit or loss for the financial period, if available.
The total equity reported at the end of the financial period.
The ratio of equity to total assets, expressed as a percentage.
Endpoint
1GET/v1/companies/:vat/statements
Response
{
"data": [
{
"period_start": "2014-01-01",
"period_end": "2014-12-31",
"xml_url": "http://regnskaber.virk.dk/09765242/Y3ZyLmRrOi8veGJybHMvWC0yMTFENTc0RC0yMDE1MDMzMF8xMDU3NTZfNjY3.xml",
"published_at": "2015-03-30T22:00:00.000Z",
"revenue": null,
"gross_profit": 74244000000.0,
"profit": 26481000000.0,
"equity": 40294000000.0,
"equity_ratio": 52.29
},
{
"period_start": "2015-01-01",
"period_end": "2015-12-31",
"xml_url": "http://regnskaber.virk.dk/09765242/ZG9rdW1lbnRsYWdlcjovLzAzLzBlL2YzLzcyLzllL2Y3OTktNDQyNS1hYmQ4LTNjZTYxY2RlNTAzNA.xml",
"published_at": "2016-03-31T07:49:45.519Z",
"revenue": null,
"gross_profit": 91739000000.0,
"profit": 34860000000.0,
"equity": 46969000000.0,
"equity_ratio": 51.17
},
{
"period_start": "2016-01-01",
"period_end": "2016-12-31",
"xml_url": "http://regnskaber.virk.dk/09765242/ZG9rdW1lbnRsYWdlcjovLzAzLzgwLzNiL2FjLzU5LzU1OGMtNDA2YS1iY2M0LTFjMzY4ZmUwNmRkOA.xml",
"published_at": "2017-03-30T11:38:46.852Z",
"revenue": null,
"gross_profit": 94597000000.0,
"profit": 37925000000.0,
"equity": 45269000000.0,
"equity_ratio": 46.41
},
{
...
},
{
"period_start": "2022-01-01",
"period_end": "2022-12-31",
"xml_url": "http://regnskaber.virk.dk/09765242/amNsb3VkczovLzAzLzEyL2Q5LzcxLzRkLzAwMTQtNGVhZC1hMGVlLTg3MGIyODkwNTkxOA.xml",
"published_at": "2023-03-27T09:24:42.290Z",
"revenue": 176954000000.0,
"gross_profit": 148506000000.0,
"profit": 55525000000.0,
"equity": 83486000000.0,
"equity_ratio": 34.6
},
{
"period_start": "2023-01-01",
"period_end": "2023-12-31",
"xml_url": "http://regnskaber.virk.dk/09765242/amNsb3VkczovLzAzLzU5L2IwL2NhLzhmLzgyY2MtNDJiYy05NTM0LWE0NDAwMThhYzFjZg.xml",
"published_at": "2024-04-03T11:01:45.446Z",
"revenue": 232261000000.0,
"gross_profit": 196496000000.0,
"profit": 83683000000.0,
"equity": 106561000000.0,
"equity_ratio": 33.88
},
{
"period_start": "2024-01-01",
"period_end": "2024-12-31",
"xml_url": "http://regnskaber.virk.dk/09765242/amNsb3VkczovLzAzLzQ4LzdmLzNkLzA4L2MzODktNGI4ZC1iNDJhLTE2MTBkYWYzZTY5ZA.xml",
"published_at": "2025-03-28T12:50:56.151Z",
"revenue": 290403000000.0,
"gross_profit": 245881000000.0,
"profit": 100988000000.0,
"equity": 143486000000.0,
"equity_ratio": 30.8
}
]
}