Calling the endpoint
Pass the address in address and, ideally, the postal code in postal_code to keep the search within one postal district:
curl "https://apicvr.dk/api/v1/search/address?address=Hedeager%2042&postal_code=8200"Example response
[
{
"vat": 28118244,
"name": "VESTAS AMERICAS A/S",
"address": "Hedeager 42",
"zipcode": 8200,
"city": "Aarhus N",
"status": "NORMAL",
"protected": false,
...
},
{
"vat": 27988210,
"name": "VESTAS MANUFACTURING A/S",
"address": "Hedeager 42",
...
}
]How matching works
The API tries three strategies in order and returns the result of the first one that finds anything:
- Exact match on the full address designation.
- Structured match on street name and house number, which the API parses from your text.
- Typo-tolerant match across the address fields, so misspellings and abbreviations still return results.
So you almost always get something back – but a fuzzy match can hit neighbouring numbers. Check address and zipcode in the response if you need certainty.
Python example
import requests
res = requests.get(
"https://apicvr.dk/api/v1/search/address",
params={"address": "Hedeager 42", "postal_code": "8200", "limit": 50},
timeout=10,
)
res.raise_for_status()
active = [c for c in res.json() if not c["enddate"]]
for company in active:
print(company["vat"], company["name"])Tips
- Always pass
postal_codewhen you know it – it removes many false hits. - Results include companies that have ceased. Filter on
enddate. - The search looks at each company's main address. To find workplaces, use the production units from a CVR lookup.
- Sole proprietorships are often registered at the owner's home. Handle them with care, and respect
protectedfor marketing.
Frequently asked questions
Does the address have to be spelled exactly right?
No. If the exact search finds nothing, the API falls back to a typo-tolerant search. Add the postal code for more precise results.
Can I search a whole postal code or street?
The endpoint is built for specific addresses. A street without a house number can return many results, capped by limit (default 100).