DataCVR API giver nem adgang til danske virksomhedsdata via en moderne REST API. Uanset om du skal integrere CVR-opslag i dit regnskabssystem, bygge en leadgenereringsplatform, eller automatisere compliance-processer, så giver API'et dig de data, du har brug for - hurtigt og i struktureret JSON-format.
Kom i gang
Det tager under 2 minutter at komme i gang med DataCVR API. Følg disse tre trin:
- Opret en gratis konto på datacvrapi.dk/opret-konto
- Find din API-nøgle i dit dashboard under "API-nøgle"
- Lav dit første kald med din API-nøgle som autentificering
Den gratis plan giver dig 25 opslag per dag - nok til at teste og komme i gang.
Autentificering
Alle API-kald kræver en gyldig API-nøgle. Du kan autentificere på tre måder:
1. Bearer Token (anbefalet)
Authorization: Bearer DIN_API_NØGLE
2. X-API-Key Header
X-API-Key: DIN_API_NØGLE
3. Basic Auth
Authorization: Basic base64(DIN_API_NØGLE:)
API-nøglen som brugernavn, tomt password. Eksempel med curl: curl -u "DIN_API_NØGLE:"
Vigtigt: Query parameter-autentificering er ikke understøttet. Brug altid headers.
Base URL
API'et er tilgængeligt via to identiske base-URLs. Begge peger på samme backend, og du kan frit bruge den du foretrækker:
https://datacvrapi.dk/api/v2 (kanonisk, anbefalet)
https://api.datacvrapi.dk/api/v2 (subdomain-alias)
Eksempel: GET /dk/company/10150817 kan kaldes via https://datacvrapi.dk/api/v2/dk/company/10150817 eller https://api.datacvrapi.dk/api/v2/dk/company/10150817. Samme svar.
Vi anbefaler datacvrapi.dk/api/v2 i ny kode. api.datacvrapi.dk eksisterer som alias for bagudkompatibilitet. Bemærk at stien altid starter med /api/v2/, også på api.-subdomainet.
Alle endpoints bruger HTTPS (TLS 1.2+) for sikker kommunikation.
Endpoints oversigt
API'et er opdelt i tre tydelige områder:
- Danske virksomheder: CVR-data fra Erhvervsstyrelsen. Sti-prefix:
/dk/ - Norske virksomheder: Organisationsdata fra Brønnøysundregistrene. Sti-prefix:
/no/ - Scrape tokens (tilkøb): Kontakt-scraping fra virksomhedens hjemmeside. Betales med separate scrape-tokens. Sti:
/account/scrape-tokens+ scrape-endpoints på virksomheder
Derudover findes et public uptime-endpoint GET /api/v2/health (ingen API-nøgle, ingen rate-limit), som returnerer {"status":"ok","version":"v2","timestamp":"..."}. Beregnet til monitorer og deploy smoke-tests.
Til SLA-monitoring findes også et deep health-endpoint GET /api/v2/health/deep, som verificerer database, Erhvervsstyrelsens ES API, og delta-sync freshness. Returnerer HTTP 503 hvis database eller ES API er utilgængelig.
Danske virksomheder (/dk/)
| Endpoint | Metode | Beskrivelse | Plan |
|---|---|---|---|
/dk/company/{cvr} |
GET | Stamdata fra CVR (navn, adresse, status, branche, ejere) | Gratis |
/dk/search/company |
GET | Søg virksomheder (navn, branche, status, by, postnummer) | Alle |
/dk/suggestions/company/{query} |
GET | Autocomplete på virksomhedsnavn | Alle |
/dk/industry/counts |
GET | Antal virksomheder per branchekode | Alle |
/dk/subsidiary/{pnr} |
GET | P-nummer opslag (produktionsenhed) | Alle |
/dk/search/subsidiary |
GET | Søg produktionsenheder | Alle |
/dk/suggestions/subsidiary/{query} |
GET | Autocomplete på P-nummer | Alle |
/dk/participant/{id} |
GET | Deltager opslag (ejer eller ledelse) | Alle |
/dk/search/participant |
GET | Søg ejere og ledelse | Alle |
/dk/suggestions/participant/{query} |
GET | Autocomplete på ejere og ledelse | Alle |
/dk/changed/list/company |
GET | Ændrede DK virksomheder (changed feed) | Alle |
/dk/changed/company/{change_id} |
GET | Enkelt virksomhed fra changed feed | Alle |
/dk/company/{cvr}/accounts |
GET | Alle årsregnskaber for virksomhed (inkl. pdf_url) |
Business+ |
/dk/company/{cvr}/accounts/latest |
GET | Seneste årsregnskab for virksomhed | Business+ |
/dk/search/accounts |
GET | Søg i regnskabsdata | Business+ |
/dk/company/{cvr}/capital-changes |
GET | Detaljerede kapitalændringer (kurs, indbetalingsmåde, beslutningsdato) | Hobby+ |
/dk/company/{cvr}/capital-changes/contribute |
POST | Bidrag rå HTML fra virk.dk registreringsmeddelelser så data kan parses og caches (max 50/dag/bruger) | Business+ |
/dk/company/{cvr}/capital-changes-live |
GET | Live kapitalændringer fra Erhvervsstyrelsens registreringstekster API | Hobby+ |
/dk/company/{cvr}/address-changes |
GET | Adresse- og hjemstedsændringer historik | Hobby+ |
/dk/company/{cvr}/personnel-changes |
GET | Direktion, bestyrelse, tilsynsråd, tegningsberettigede (med enhedsNummer-link til personer) |
Hobby+ |
/dk/company/{cvr}/auditor-changes |
GET | Revisor-skift (fratrådte/tiltrådte med CVR + adresse) | Hobby+ |
/dk/company/{cvr}/status-changes |
GET | Konkurs, opløsning, tvangsopløsning, likvidation, rekonstruktion | Hobby+ |
/dk/company/{cvr}/founding-text |
GET | Fuld stiftelsestekst med stiftere, direktion, bestyrelse, kapital, formål | Hobby+ |
/dk/company/{cvr}/mergers-demergers |
GET | Fusioner og spaltninger (offentliggjort + gennemført, parties med rolle) | Hobby+ |
/dk/company/{cvr}/conversions |
GET | Selskabsomdannelser (ApS→A/S, IVS→ApS, ...) | Hobby+ |
/dk/company/{cvr}/owner-discrepancies |
GET | Uoverensstemmelser i reelle ejere | Hobby+ |
/dk/company/{cvr}/corrections |
GET | Erhvervsstyrelsens rettelser til tidligere registreringer | Hobby+ |
/dk/company/{cvr}/other-registrations |
GET | Vedtægtsændringer, formålsændringer, øvrige | Hobby+ |
/dk/company/{cvr}/registreringstekster |
GET | Raw registreringstekster (alle 12 status-typer, med filter ?status=) |
Hobby+ |
Registreringstekster (officiel Erhvervsstyrelsen-data)
De 12 endpoints under /dk/company/{cvr}/ der ender på -changes, -text, conversions, corrections, mergers-demergers, owner-discrepancies, other-registrations og registreringstekster leverer struktureret data fra Erhvervsstyrelsens officielle CVR-historik (distribution.virk.dk/registreringstekster).
Adgang verificeret via system-til-system aftale med Erhvervsstyrelsen (sagsnr. 146615).
Samlet quota for alle registreringstekst-endpoints: 100/30d (Hobby), 1.000/30d (Business+).
Personer leveres med enhedsNummer så du kan slå dem op i /dk/participant/{enhedsNummer}.
Virksomheder leveres med 8-cifret CVR + adresse når nævnt i original-teksten.
Norske virksomheder (/no/)
Data hentes fra Brønnøysundregistrene (brreg.no) og har tilsvarende struktur som danske endpoints. Organisationsnummer er 9 cifre.
/no/ via samme path-struktur. Ikke alle datatyper er dog tilgængelige i Norge: registreringstekster (stiftelsestekst, kapitalændringer-live, person- og adresseændringer, fusioner/spaltninger og resten af /registreringstekster-familien) findes kun på /dk/, da Brønnøysundregistrene ikke offentliggør tilsvarende historiske registreringsdokumenter. Norske felter kan også afvige (fx ingen companystatus_code-mapping; NO bruger egen AKTIV/OPPLOEST-klassifikation).
| Endpoint | Metode | Beskrivelse | Plan |
|---|---|---|---|
/no/company/{orgnr} |
GET | Stamdata for norsk virksomhed | Gratis |
/no/search/company |
GET | Søg norske virksomheder | Alle |
/no/changed/list/company |
GET | Ændrede NO virksomheder (changed feed) | Alle |
/no/company/{orgnr}/accounts |
GET | Norske regnskaber | Business+ |
Scrape tokens (tilkøb)
Kontakt-scraping henter telefon, email og direktør-kontaktinfo fra virksomhedens hjemmeside. Det er en separat tilkøbsydelse der betales med scrape-tokens (1 token per scrape-job, uanset udfald). Tokens købes som engangskøb i dashboardet og er uafhængige af månedsabonnementet.
Flow: (1) POST /dk/company/{cvr}/contacts/scrape starter et job → (2) poll GET /dk/company/{cvr}/scrape-jobs/{id} for status → (3) hent resultat via GET /dk/company/{cvr}/contacts når færdig. Resultat caches 30 dage.
| Endpoint | Metode | Beskrivelse | Omkostning |
|---|---|---|---|
/account/scrape-tokens/balance |
GET | Tjek token-saldo | Gratis |
/dk/company/{cvr}/contacts/scrape |
POST | Start scrape-job for virksomhed | 1 token |
/dk/company/{cvr}/scrape-jobs/{id} |
GET | Tjek scrape-job status (pending/running/done/failed) | Gratis |
/dk/company/{cvr}/contacts |
GET | Hent cached kontakter fra tidligere scrape | Gratis (cached 30 dage) |
Response format
Alle endpoints returnerer JSON. Her er eksempler på de mest brugte endpoints:
Virksomhedsdata (stamdata)
GET /api/v2/dk/company/45786943
{
"vat": 45786943,
"name": "Branthiq ApS",
"address": "Ryesgade 3A",
"zipcode": "2200",
"city": "København N",
"cityname": "København N",
"protected": true,
"phone": null,
"email": null,
"fax": null,
"startdate": "2023-01-15",
"enddate": null,
"employees": "1-4",
"industrycode": 620100,
"industrydesc": "Computerprogrammering",
"companycode": 60,
"companydesc": "Anpartsselskab",
"website": null,
"companystatus": "Aktiv",
"creditbankrupt": false,
"address_details": {
"street": "Ryesgade",
"house_number": "3A",
"floor": null,
"door": null,
"co_name": null,
"zipcode": "2200",
"city": "København N",
"municipality": "København",
"municipality_code": 101,
"country": "DK",
"latitude": 55.6921,
"longitude": 12.5598
},
"owners": [
{
"name": "Benjamin Falkentoft",
"role": "DIREKTION",
"title": "Direktør",
"share": null,
"participantnumber": 4003812345,
"startdate": "2023-01-15",
"enddate": null,
"active": true
}
],
"signing_rule": "Selskabet tegnes af en direktør.",
"productionunits": [],
"lifecycle": [
{"startdate": "2023-01-15", "enddate": null}
],
"companyform_history": [
{"code": 60, "short": "APS", "long": "Anpartsselskab", "startdate": "2023-01-15", "enddate": null}
],
"employees_yearly": [
{"year": 2025, "employees": "1-4", "fte": 2.0}
],
"accounts": [],
"t": 1704628800,
"version": 8
}
name- Personens navnrole- Rolle (DIREKTION, BESTYRELSE, REEL EJER, STIFTER, LEGAL EJER, REVISION)title- Organisatorisk enhed (DIREKTION, BESTYRELSE, osv.)share- Ejerandel i procent (null hvis ikke relevant)participantnumber- Deltager-nummer til person-opslag via/participant/{id}startdate/enddate- Rolleperiode (enddate=null = aktiv)active- Boolean.true= aktiv rolle,false= ophørt
true = virksomheden er reklamebeskyttet (markedsføringsforbudslisten). Brug dette felt til at afgøre marketing eligibility.
status_history[]- Alle statusændringer (status,startdate,enddate)name_history[]- Navneændringer (name,startdate,enddate)address_history[]- Adresseændringer (address,zipcode,city,municipality,startdate,enddate)industry_history[]- Brancheændringer (code,text,startdate,enddate)purpose_history[]- Formålsændringer (purpose,startdate,enddate)capital_history[]- Kapitalændringer (capital,currency,startdate,enddate)companyform_history[]- Virksomhedsform over tid. Fx IVS → ApS → A/Semployees_monthly[]- Ansatte pr. måned (year,month,employees,fte)employees_quarterly[]- Ansatte pr. kvartalemployees_yearly[]- Ansatte pr. år
startdate/enddate perioder. employees er et interval (fx "10-19") eller eksakt tal. fte er fuldtidsækvivalenter. Data stammer direkte fra CVR-registret og opdateres dagligt.
address_details- Struktureret adresse medstreet,house_number,floor,door,co_name,municipality,municipality_codesigning_rule- Tegningsregel (fx "Selskabet tegnes af en direktør")signing_rule_history[]- Historik for tegningsregelauditors[]- Revisorer medname,startdate,enddatefounders[]- Stiftereproductionunits[]- Produktionsenheder (P-numre) med adresse, branchekode og ansattemergers_demergers[]- Fusions- og spaltningsdatafiscal_year- Regnskabsårets start/slutarticles_date- Seneste vedtægtsdatoowners[].participantnumber- Deltager-nummer til person-opslag via/participant/{id}
equity_ratio, return_on_equity, liquidity_ratio, solvency_ratio, debt_ratio) beregnes per regnskabsår og returneres i /company/{cvr}/accounts endpointet.
Regnskabsdata
GET /api/v2/dk/company/35954716/accounts/latest
{
"cvr": "35954716",
"report_id": "urn:ofk:oid:...",
"document_type": "aarsrapport",
"period_start": "2024-01-01",
"period_end": "2024-12-31",
"fiscal_year": 2024,
"publication_date": "2025-04-10T...",
"company_name": "EKSEMPEL A/S",
"currency": "DKK",
"auditor_name": "PricewaterhouseCoopers Statsautoriseret Revisionspartnerselskab",
"figures": {
"revenue": 58700000000,
"gross_profit": 16200000000,
"operating_profit": 3500000000,
"profit_before_tax": 2100000000,
"net_profit": 1709000000,
"total_assets": 40426000000,
"fixed_assets": 31200000000,
"current_assets": 9226000000,
"cash": 2100000000,
"equity": 13836000000,
"total_liabilities": 40426000000,
"provisions": 1500000000,
"long_term_debt": 16800000000,
"short_term_debt": 8090000000,
"employees": 18132,
"equity_ratio": 34.22,
"return_on_equity": 12.35,
"liquidity_ratio": 1.14,
"solvency_ratio": 34.22,
"debt_ratio": 1.92
},
"pdf_url": "http://regnskaber.virk.dk/...",
"xbrl_url": "http://regnskaber.virk.dk/...",
"ixbrl_url": null
}
Alle beløb er i DKK. Liste-endpointet (/accounts) returnerer { cvr, count, accounts: [...] }; /accounts/latest returnerer det nøgne account-objekt direkte. Parseren er namespace-agnostisk: håndterer både Danish GAAP (fsa:) og IFRS (ifrs-full:) taxonomier samt alle namespace-aliaser (xbrli:xbrl, xi:xbrl, ix:xbrl, m.fl.). 15 rapporterede tal + 5 beregnede nøgletal (equity_ratio, return_on_equity, liquidity_ratio, solvency_ratio, debt_ratio).
Officiel årsrapport-PDF: Hvert regnskab inkluderer pdf_url der peger direkte på den officielle PDF hos Erhvervsstyrelsen (gratis, ingen auth). For 2024+ regnskaber er pdf_url ofte null da nye indleveringer kun er ESEF-format (ixbrl_url).
Tomme figures? Hvis et regnskab returneres med figures: {}, kontakt support med CVR + fiscal_year. Parseren dækker alle kendte XBRL-namespace-varianter, men nye taxonomi-aliaser kan opstå over tid og kræver opdatering af parserens whitelist.
Norske regnskaber returneres med afvigende figures. NO inkluderer long_term_debt, men mangler gross_profit, profit_before_tax, cash, employees, provisions, equity_ratio og return_on_equity. Valuta er NOK. PDF/XBRL/iXBRL-felter findes ikke for norske regnskaber.
Error codes: 400 INVALID_CVR, 400 INVALID_PARAMETER (limit ikke positivt heltal), 401 TOKEN_REQUIRED, 403 TIER_REQUIRED (Business+ påkrævet), 404 NOT_FOUND (ingen regnskaber for CVR), 502 UPSTREAM_ERROR.
Detaljerede kapitalændringer
Komplet kapitalhistorik per dansk virksomhed med kurs, beslutningsdato, vedtægtsdato og indbetalingsmetode. Tier: Hobby (100/md inkl.) eller Business (1.000/md inkl.). Kun for danske virksomheder.
GET /api/v2/dk/company/36424303/capital-changes
{
"cvr": "36424303",
"count": 9,
"capital_changes": [
{
"registered_date": "2026-02-20",
"change_type": "Ændring af kapital",
"direction": "increase",
"company_name": "Dripdrop ApS",
"address": "Søren Frichs Vej 25, 1., 8000 Aarhus C",
"statutes_changed_date": "2026-02-06",
"decision_date": "2026-02-06",
"execution_date": null,
"amount": 1400.00,
"currency": "DKK",
"payment_method": "kontant",
"exchange_rate": 7437.14,
"capital_after": 97414.12,
"is_correction": false
}
],
"source": "datacvr.virk.dk",
"cached_at": "2026-04-10T14:00:00Z",
"expires_at": "2026-05-10T14:00:00Z",
"status": "ok",
"_meta": {
"feature_status": "best_effort_temporary",
"disclaimer": "Detaljerede kapitalændringer er en midlertidig best-effort feature...",
"quota": {
"limit_per_30_days": 1000,
"used_this_period": 87,
"remaining": 913,
"tier": "business"
}
}
}
Status-koder: ok (cached data leveret), queued (CVR sat i kø, kald igen efter estimated_ready_in_seconds), pending (cache udløbet, ny henter), error (seneste scrape fejlede).
⚠️ Best-effort feature: Cached data leveres altid hurtigt. Nye CVR'er kan tage flere timer at hente og er ikke garanteret leveret pga. Cloudflare-beskyttelse på datacvr.virk.dk. Quota: Hvis du når månedlig grænse, returneres HTTP 429 CAPITAL_QUOTA_EXCEEDED.
Søg virksomheder
GET /api/v2/dk/search/company?name=branthiq&limit=10
{
"total": 1,
"limit": 10,
"offset": 0,
"results": [
{
"vat": 45786943,
"name": "Branthiq ApS",
"address": "Ryesgade 3A",
"zipcode": "2200",
"city": "København N",
...
}
]
}
// Søgeparametre (alle valgfri, kombiner frit):
// name : virksomhedsnavn (partiel match, case-insensitive)
// address : adresse (partiel match)
// zipcode : postnummer (eksakt match)
// city : by (partiel match)
// phone : telefonnummer (partiel match)
// email : email (partiel match)
// industrycode : branchekode (DB07), fx "620100" (eksakt) eller "62" (præfiks)
// companyform : virksomhedsform: integer-kode (80) eller forkortelse ("ApS", "A/S", "I/S")
// companystatus : string-label (anbefalet) eller integer-kode:
// "NORMAL" / 20 : aktiv virksomhed
// "AKTIV" / 20 : alias for NORMAL
// "OPLØST" / 3 : opløst (generisk)
// "UNDER KONKURS" / 5 : under konkursbehandling
// "UNDER FRIVILLIG LIKVIDATION" / 6
// "UNDER TVANGSOPLØSNING" / 7
// "OPHØRT" / 8 : ophørt
// "SLETTET" / 3 : slettet
// "UDENRETSVIRKNING" : uden retsvirkning
// (string-labels er case-insensitive, mellemrum ignoreres)
// employees_min, employees_max : antal ansatte
// capital_min, capital_max : selskabskapital i DKK
// founded_after, founded_before : stiftelsesdato (YYYY-MM-DD)
// municipality : kommunekode (fx 101) eller kommunenavn (partiel)
// Pagination: limit (default 50 med nøgle, 20 anonymt; max 1000 med nøgle),
// offset (max 10000 med nøgle), cursor (alternativ til offset)
// Bemærk: disse parameter-navne findes IKKE og ignoreres silent:
// branche → brug industrycode
// status → brug companystatus
// region → brug municipality
// website, hasWebsite, ingenHjemmeside → findes ikke som filter
// creditstatus → ikke implementeret som filter
Autosuggest
GET /api/v2/dk/suggestions/company/brant
[
{ "vat": 45786943, "name": "Branthiq ApS", "address": "Ryesgade 3A, 2200 København N" },
{ "vat": 44318217, "name": "Brant Media ApS", "address": "..." }
]
Norsk virksomhed (med owners)
GET /api/v2/no/company/923609016
{
"vat": 923609016,
"name": "EQUINOR ASA",
"address": "Forusbeen 50",
"zipcode": "4035",
"city": "STAVANGER",
"companydesc": "Allment aksjeselskap",
"industrydesc": "Utvinning av råolje",
"owners": [
{
"name": "Anders Opedal",
"role": "Daglig leder",
"title": "Daglig leder/ adm.direktør",
"share": null,
"startdate": "2020-11-02",
"enddate": null
},
{
"name": "Jon Erik Reinhardsen",
"role": "Styrets leder",
"title": "Styre",
"share": null,
"startdate": "2018-05-15",
"enddate": null
}
]
}
Changed feed - nye/ændrede virksomheder
// Danmark
GET /api/v2/dk/changed/list/company?since=2026-04-02&limit=100
{
"total": 754,
"limit": 100,
"results": [
{
"vat": 34421463,
"name": "Kapitalakademiet",
"companydesc": "PMV",
...
}
],
"next_cursor": "1775092552000,43132296"
}
// Pagination: brug next_cursor som cursor parameter
GET /api/v2/dk/changed/list/company?since=2026-04-02&cursor=1775092552000,43132296
// Norge
GET /api/v2/no/changed/list/company?since=2026-04-02&limit=100
{
"since": "2026-04-02",
"total": 451,
"limit": 100,
"items": [
{
"orgnr": "922827044",
"updateId": 24075678,
"date": "2026-04-02",
"changeType": "Ny enhet"
}
],
"next_cursor": "24075687"
}
// Parametere: since (YYYY-MM-DD, påkrævet), limit (max 100), cursor
Kontakt-scraping (asynkron)
POST /api/v2/dk/company/45786943/contacts/scrape
Content-Type: application/json
Authorization: Bearer DIN_API_NØGLE
// Svar (202 Accepted):
{
"job_id": "abc123-def456",
"status": "pending",
"message": "Scrape job oprettet. Poll GET /dk/company/{cvr}/scrape-jobs/{id} for status."
}
Statuskoder
API'et bruger standard HTTP-statuskoder:
| Kode | Betydning | Beskrivelse |
|---|---|---|
200 |
OK | Anmodningen lykkedes |
202 |
Accepted | Asynkront job oprettet (kontakt-scraping) |
400 |
Bad Request | Ugyldigt CVR-nummer eller manglende parametre |
401 |
Unauthorized | Manglende eller ugyldig API-nøgle |
403 |
Forbidden | Din plan har ikke adgang til dette endpoint |
404 |
Not Found | Virksomheden findes ikke i CVR-registret |
429 |
Too Many Requests | Rate limit overskredet |
500 |
Server Error | Intern serverfejl - prøv igen senere |
Rate limiting
API'et har rate limits afhængigt af din plan:
| Plan | Opslag | Pris |
|---|---|---|
| Gratis | 25 / dag | 0 kr. |
| Hobby | 10.000 / md | 299 kr./md. ekskl. moms |
| Business | 50.000 / md | 499 kr./md. ekskl. moms |
| Custom | Ubegrænset | Kontakt os |
Hvis du overskrider dit rate limit, returnerer API'et statuskode 429. Vi anbefaler at implementere retry-logik med exponential backoff.
Kodeeksempler
cURL
curl -X GET "https://datacvrapi.dk/api/v2/dk/company/45786943" \
-H "Authorization: Bearer DIN_API_NØGLE"
JavaScript (fetch)
const response = await fetch(
'https://datacvrapi.dk/api/v2/dk/company/45786943',
{
headers: {
'Authorization': 'Bearer DIN_API_NØGLE'
}
}
);
if (!response.ok) {
throw new Error(`API fejl: ${response.status}`);
}
const virksomhed = await response.json();
console.log(virksomhed.name); // "Branthiq ApS"
console.log(virksomhed.companystatus); // "Aktiv"
Python (requests)
import requests
url = "https://datacvrapi.dk/api/v2/dk/company/45786943"
headers = {
"Authorization": "Bearer DIN_API_NØGLE"
}
response = requests.get(url, headers=headers)
response.raise_for_status()
virksomhed = response.json()
print(virksomhed["name"]) # "Branthiq ApS"
print(virksomhed["companystatus"]) # "Aktiv"
Hent regnskabsdata (JavaScript)
// Hent regnskabsdata for en virksomhed
async function hentRegnskab(cvr, apiKey) {
const response = await fetch(
`https://datacvrapi.dk/api/v2/dk/company/${cvr}/accounts`,
{
headers: { 'Authorization': `Bearer ${apiKey}` }
}
);
if (response.status === 403) {
console.error('Business-abonnement påkrævet for regnskabsdata');
return null;
}
return response.json();
}
const data = await hentRegnskab('45786943', 'DIN_API_NØGLE');
// Response format: { cvr, count, accounts: [...] }
if (data && data.accounts && data.accounts.length > 0) {
const seneste = data.accounts[0];
console.log('Omsætning:', seneste.figures.revenue);
console.log('Egenkapital:', seneste.figures.equity);
}
SDKs og integrationer
DataCVR API er en standard REST API og kan bruges med enhver HTTP-klient. Vi tilbyder desuden:
- Postman Collection: Importér vores endpoints direkte i Postman for hurtig test
- cURL-eksempler: Kopiér og tilpas til dit system
- Integration guides: Se vores trin-for-trin integration guide med eksempler i JavaScript, Python, PHP og C#
Vi arbejder på officielle SDKs til JavaScript/TypeScript og Python. Følg med på vores dashboard for opdateringer.
Næste skridt
Nu har du overblikket over DataCVR API. Her er, hvad du kan gøre nu:
- Opret en gratis konto og få din API-nøgle
- Læs vores integration guide med kodeeksempler i flere sprog
- Udforsk hvilke virksomhedsdata der er tilgængelige
- Se priser og planer for at vælge den rette løsning