# CVR Lookup API > REST API for danske virksomhedsdata fra Det Centrale Virksomhedsregister (CVR). Slå virksomheder (efter CVR) og personer (efter enhedsnummer) op, søg efter navn, og følg dit forbrug. ## Authentication Alle /api/v1-endpoints kræver en API-nøgle sendt som Bearer-token: `Authorization: Bearer cvr_...` Opret en nøgle på https://cvrlookup.dk/dashboard/api-keys — alle planer, også Gratis, har API-adgang. Test-tilstand: enhver nøgle på formen `cvr_test_…` returnerer faste testdata (test-CVR 10000001/10000002; 99999999 → 404) uden konto eller kvote — svar er markeret `meta.mode: "test"`. ## Documentation - [Menneskelæsbar dokumentation](https://cvrlookup.dk/dokumentation): fuld reference med eksempler - [OpenAPI 3.1-spec](https://cvrlookup.dk/openapi.json): maskinlæsbar kontrakt ## MCP Fjern-MCP-server (Streamable HTTP) på `https://cvrlookup.dk/api/mcp` — samme Bearer API-nøgle, værktøjer: lookup_company, search_companies, get_company_financials. Opsætning: https://cvrlookup.dk/mcp ## Endpoints - [GET /api/v1/company/search](https://cvrlookup.dk/api/v1/company/search?q=codepilots&limit=10): Søg virksomheder (navn) - [GET /api/v1/search/advanced](https://cvrlookup.dk/api/v1/search/advanced?q=codepilots&status=active): Avanceret søgning - [GET /api/v1/search](https://cvrlookup.dk/api/v1/search?name=codepilots&limit=10): Søg virksomheder (legacy) - [GET /api/v1/company/{cvr}](https://cvrlookup.dk/api/v1/company/43269070): Hent virksomhed efter CVR - [GET /api/v1/company/{cvr}/financials](https://cvrlookup.dk/api/v1/company/43269070/financials): Hent regnskabstal efter CVR - [POST /api/v1/company/batch](https://cvrlookup.dk/api/v1/company/batch): Batch-opslag af virksomheder - [GET /api/v1/usage](https://cvrlookup.dk/api/v1/usage?period=week): Forbrug og kvoter - [GET /api/v1/person/{id}](https://cvrlookup.dk/api/v1/person/4000012345): Hent person efter enhedsnummer - [GET /api/v1/watchlists](https://cvrlookup.dk/api/v1/watchlists): List watchlists - [POST /api/v1/watchlists](https://cvrlookup.dk/api/v1/watchlists): Opret watchlist - [GET /api/v1/watchlists/{id}](https://cvrlookup.dk/api/v1/watchlists/wl_2x9a1c): Hent watchlist - [PATCH /api/v1/watchlists/{id}](https://cvrlookup.dk/api/v1/watchlists/wl_2x9a1c): Opdater watchlist - [DELETE /api/v1/watchlists/{id}](https://cvrlookup.dk/api/v1/watchlists/wl_2x9a1c): Slet watchlist - [GET /api/v1/watchlists/{id}/entities](https://cvrlookup.dk/api/v1/watchlists/wl_2x9a1c/entities): List entiteter - [POST /api/v1/watchlists/{id}/entities](https://cvrlookup.dk/api/v1/watchlists/wl_2x9a1c/entities): Tilføj entitet - [DELETE /api/v1/watchlists/{id}/entities/{wleId}](https://cvrlookup.dk/api/v1/watchlists/wl_2x9a1c/entities/wle_7p4k2): Fjern entitet ## Response format - Succes: `{ "success": true, "data": ... }` - Fejl: `{ "success": false, "error": { "code": "...", "message": "..." } }` - Rate limits returneres i headerne X-RateLimit-Limit / -Remaining / -Reset og afspejler den månedlige kvote (nulstilles ved månedsskiftet). Dertil gælder en pr.-minut grænse.