# APICVR.dk > Free, open-source JSON API for the Danish company register (CVR). No API key, no account. Every endpoint is a GET request that returns JSON, with live data from the Danish Business Authority's official CVR distribution. Base URL: https://apicvr.dk. CORS is enabled. Fair-use rate limits apply. Check the `protected` field before using data for marketing (CVR Act sections 19 and 22). ## Docs - [API reference](https://apicvr.dk/en/api-reference/): every endpoint, parameter, response field and error code - [API-dokumentation (dansk)](https://apicvr.dk/api-dokumentation/) - [OpenAPI spec](https://apicvr.dk/openapi.json) ## Endpoints - `GET /api/v1/{cvrNumber}`: Get a company by CVR number. Example: https://apicvr.dk/api/v1/41013583 - `GET /api/v1/{cvrNumber}/direktion-og-ansvarlig`: Management, fully liable participants and owners. Example: https://apicvr.dk/api/v1/41013583/direktion-og-ansvarlig - `GET /api/v1/search`: Combined search by name and/or CVR. Example: https://apicvr.dk/api/v1/search?name=novo&limit=5 - `GET /api/v1/search/company/{companyName}`: Search by company name. Example: https://apicvr.dk/api/v1/search/company/Novo%20Nordisk?limit=5 - `GET /api/v1/search/fuzzy/{companyName}`: Typo-tolerant name search (autocomplete). Example: https://apicvr.dk/api/v1/search/fuzzy/novo%20nordsk?limit=5 - `GET /api/v1/search/address`: Search by address. Example: https://apicvr.dk/api/v1/search/address?address=Novo%20All%C3%A9%201&postal_code=2880 - `GET /api/v1/search/email/{email}`: Search by email. Example: https://apicvr.dk/api/v1/search/email/info@example.dk - `GET /api/v1/search/email-domain/{domain}`: Search by email domain. Example: https://apicvr.dk/api/v1/search/email-domain/novonordisk.com - `GET /api/v1/search/phone/{phone}`: Search by phone number. Example: https://apicvr.dk/api/v1/search/phone/44448888 ## Company response fields - `vat`: The CVR number (8 digits). - `name`: Current name. - `address`: Street, number, floor and door. - `zipcode`: Postal code. - `city`: City (postal district). - `cityname`: Town name, when it differs from the postal district. - `addressco`: c/o address. - `protected`: `true` if the company has opted out of marketing. - `phone`: Publicly registered phone number. - `email`: Publicly registered email. - `website`: Website, if registered. - `startdate`: Founding date (YYYY-MM-DD). - `enddate`: Closing date, otherwise `null`. - `employees`: Headcount (latest filing). - `industrycode`: Industry code (DB07, 6 digits). - `industrydesc`: Industry description. - `companycode`: Company type code. - `companydesc`: Company type, e.g. Aktieselskab. - `companytypeshort`: Short company type, e.g. A/S or ApS. - `status`: E.g. `NORMAL`, `OPHØRT` or `UNDERKONKURS`. - `bankrupt`: `true` if the company is bankrupt. - `p_units`: List of production units (P-units) with address, industry and headcount. - `direktion`: Current directors. - `fuldt_ansvarlige`: Participants with unlimited personal liability. - `ejere`: Legal owners with ownership share and voting rights. ## Errors - HTTP 400 `MISSING_QUERY`: `/api/v1/search` was called without `name` or `cvr`. - HTTP 404 `NOT_FOUND`: No company with that CVR number. - HTTP 422 `–`: A parameter has the wrong type, e.g. a CVR number containing letters. - HTTP 502 `HTTP_ERROR`: The Danish Business Authority's CVR distribution returned an error. Retry. - HTTP 502 `TRANSPORT_ERROR`: The CVR distribution could not be reached. Retry shortly. ## Guides: Get started in your language - [CVR lookups in Python](https://apicvr.dk/en/guides/cvr-api-python): Look up Danish companies from Python with a free CVR API. Code examples for CVR lookup, name search, owners, management and error handling. - [CVR lookups in JavaScript](https://apicvr.dk/en/guides/cvr-api-javascript): Look up Danish companies with JavaScript and fetch. Works in the browser and in Node.js. Examples for CVR lookup, name search, owners and errors. - [CVR lookups in PHP](https://apicvr.dk/en/guides/cvr-api-php): Fetch Danish company data in PHP with a free CVR API. Examples using cURL and file_get_contents for CVR lookup, name search and owners. - [CVR lookups in C# and .NET](https://apicvr.dk/en/guides/cvr-api-csharp): Look up Danish companies in C# and .NET with HttpClient and System.Text.Json. Examples for CVR lookup, name search, owners and error handling. - [CVR lookups in Java](https://apicvr.dk/en/guides/cvr-api-java): Look up Danish companies in Java with the built-in HttpClient and Jackson. Code examples for CVR lookup, name search, owners and error handling. - [CVR lookups in Go](https://apicvr.dk/en/guides/cvr-api-go): Look up Danish companies in Go with net/http and encoding/json from the standard library. Examples for CVR lookup, name search, owners and errors. - [CVR lookups in Ruby and Rails](https://apicvr.dk/en/guides/cvr-api-ruby): Look up Danish companies in Ruby and Rails with Net::HTTP and JSON from the standard library. Examples for CVR lookup, name search, caching and errors. - [CVR lookups in Excel with Power Query](https://apicvr.dk/en/guides/cvr-lookup-excel): Pull Danish company data from CVR straight into Excel with Power Query. Enrich a list of CVR numbers with name, address, industry and owners, no VBA. - [CVR lookups in Google Sheets](https://apicvr.dk/en/guides/cvr-lookup-google-sheets): Build a =CVR() formula in Google Sheets with Apps Script. Look up a Danish company's name, address and industry from its CVR number in your sheet. ## Guides: Lookups and searches - [Find a Danish company by phone number](https://apicvr.dk/en/guides/find-company-by-phone-number): Look up a Danish company by phone number with a free CVR API. One GET request returns every company that registered the number in the CVR register. - [Find a Danish company by email or domain](https://apicvr.dk/en/guides/find-company-by-email): Find Danish companies from an email address or email domain. A free CVR API with no API key – ideal for enriching leads and CRM records. - [Find companies registered at an address](https://apicvr.dk/en/guides/find-companies-by-address): See which companies are registered at a Danish address. Free CVR API with exact, structured and typo-tolerant address search – no API key needed. - [Get owners and management of a Danish company](https://apicvr.dk/en/guides/company-owners-and-management-api): Get legal owners with ownership share and voting rights, plus management and fully liable participants, for any Danish company. Free CVR API, JSON, no API key. - [Get production units and P-numbers for a company](https://apicvr.dk/en/guides/p-number-production-unit-api): Get every production unit (P-number) for a Danish company with address, industry and headcount. Free CVR API with no API key. - [How to validate a Danish CVR number](https://apicvr.dk/en/guides/validate-cvr-number): How to validate a Danish CVR number: check the 8 digits with modulus 11, then confirm with a free API lookup that the company exists and is still active. ## Guides: Integrations - [CVR lookup in WooCommerce checkout](https://apicvr.dk/en/guides/woocommerce-cvr-lookup): Add a CVR field to WooCommerce checkout and autofill company name and address with a free CVR API. Complete PHP and JavaScript code included. - [CVR lookup in Shopify](https://apicvr.dk/en/guides/shopify-cvr-lookup): How to fetch company name and address from the Danish CVR register in your Shopify store. An honest guide to what's possible in cart, sign-up and checkout. - [CVR autocomplete in React](https://apicvr.dk/en/guides/react-cvr-autocomplete): Build a React form with company-name autocomplete and autofill from the CVR number. Free CVR API, no API key, complete code. - [CVR lookup in Zapier, Make and n8n](https://apicvr.dk/en/guides/zapier-make-cvr-lookup): Enrich leads and customers with company data from the Danish CVR register in Zapier, Make or n8n. One HTTP step, no API key, no code. - [CVR data for AI agents and LLMs](https://apicvr.dk/en/guides/cvr-data-for-ai-agents): Give your AI agent or chatbot access to Danish company data. Ready-made tool definitions, a Python handler and llms.txt for CVR lookups with no API key. ## Guides: Glossary: CVR terms explained - [What is a CVR number?](https://apicvr.dk/en/guides/what-is-a-cvr-number): A CVR number is a Danish company's 8-digit ID in the Central Business Register. Learn the format, the modulus 11 check, and how to look one up via API. - [What is a P-number?](https://apicvr.dk/en/guides/what-is-a-p-number): A P-number is the 10-digit ID of a production unit – each physical address a Danish company operates from. See how it differs from a CVR number and fetch it via API. - [Marketing protection (reklamebeskyttelse) in CVR](https://apicvr.dk/en/guides/marketing-protection-reklamebeskyttelse): Marketing-protected Danish companies have opted out of direct marketing. Learn what it means, how to read the protected field in CVR-API, and what to respect. - [Danish company types](https://apicvr.dk/en/guides/danish-company-types): Overview of Danish company types – sole proprietorship, I/S, K/S, P/S, ApS, A/S, IVS, associations and foundations – and their codes in CVR-API's companycode field. - [Danish industry codes (branchekoder)](https://apicvr.dk/en/guides/danish-industry-codes): Danish industry codes are 6-digit codes from Statistics Denmark based on the EU's NACE. Learn how they are structured and how to use industrycode in CVR-API. ## Guides: Comparisons and alternatives - [Danish CVR APIs compared](https://apicvr.dk/en/guides/cvr-api-comparison): Compare Danish CVR APIs: price, API key, daily limits, owners, search and annual reports. apicvr.dk, cvrapi.dk, cvr.dev and System-til-System side by side. - [Switch from cvrapi.dk to apicvr.dk](https://apicvr.dk/en/guides/migrate-from-cvrapi-dk): Hitting cvrapi.dk's 50 lookups-a-day limit? Switch to apicvr.dk in minutes. URLs, field names and a drop-in function for PHP and JavaScript. - [CVR System-til-System or a CVR API?](https://apicvr.dk/en/guides/cvr-system-til-system-access): What is the Danish Business Authority's System-til-System access to CVR, what does a query look like, and when is a ready-made CVR API the easier choice? ## Optional - [Source code (MIT)](https://github.com/NoahBohme/apicvr.dk)