Sådan kalder du endpointet
Send telefonnummeret som de 8 cifre uden landekode, mellemrum eller bindestreger:
curl https://apicvr.dk/api/v1/search/phone/44448888Eksempel på svar
Svaret er en liste, fordi flere virksomheder kan dele nummer – typisk koncernselskaber eller foreninger på samme hovednummer:
[
{
"vat": 32657222,
"name": "NOVO NORDISK PHARMA OPERATIONS A/S",
"address": "Novo Alle 1",
"zipcode": 2880,
"city": "Bagsværd",
"phone": "44448888",
"status": "NORMAL",
"protected": false,
"industrydesc": "...",
...
},
...
]Normalisér nummeret først
Søgningen er en fritekstsøgning i CVR-registrets telefonfelt. Sender du +45 44 44 88 88, bliver de enkelte tal matchet hver for sig, og du får tilfældige resultater. Fjern derfor landekode og alt andet end cifre, før du kalder API'et:
import re
import requests
def find_by_phone(raw: str) -> list:
digits = re.sub(r"\D", "", raw)
if digits.startswith("45") and len(digits) == 10:
digits = digits[2:]
if len(digits) != 8:
return []
res = requests.get(f"https://apicvr.dk/api/v1/search/phone/{digits}", timeout=10)
res.raise_for_status()
return [c for c in res.json() if c["phone"] == digits]
for company in find_by_phone("+45 44 44 88 88"):
print(company["vat"], company["name"], company["status"])Gode råd
- Tjek feltet
phonei hvert resultat, hvis du kun vil have eksakte match. - Resultatet indeholder også ophørte virksomheder. Filtrér på
enddateellerstatus, hvis du kun vil have aktive. - Kun numre, virksomheden selv har registreret i CVR, kan findes. Mobilnumre på medarbejdere står der typisk ikke.
- Brug
?limit=til at begrænse antallet af resultater (standard er 100). - Ringer du til virksomhederne i markedsføringsøjemed, så respektér
protected: er feltettrue, har virksomheden frabedt sig reklamehenvendelser.
Ofte stillede spørgsmål
Kan jeg søge med +45 foran nummeret?
Nej, send kun de 8 cifre. Landekode og mellemrum giver upræcise resultater, fordi søgningen matcher hvert tal for sig.
Hvorfor får jeg flere virksomheder på ét nummer?
Flere CVR-enheder kan have registreret samme telefonnummer, fx datterselskaber, fonde eller personaleforeninger på et fælles hovednummer.
Koster det noget?
Nej. Endpointet er gratis og kræver ingen API-nøgle.