# Slå en virksomhed op

`GET /v1/cvr/:cvr` · CVR

Én virksomhed ud fra dens CVR-nummer: navn, status, virksomhedsform, branche og beliggenhedsadresse med kommune og region.

Opslaget går live mod CVR hos Datafordeler og samler det, der dér ligger som separate entiteter: navn, beliggenhedsadresse, hovedbranche og virksomhedsform. Adressen har kommune- og regionsnavn slået op ud fra kommunekoden, så du ikke selv skal oversætte dem.

`status` er normaliseret til små bogstaver, fx `aktiv`, `ophørt` eller `underkonkurs`. Vil du kun have aktive virksomheder, så filtrér på `status === "aktiv"`. Er CVR nede, og findes der en cachet kopi, svarer endpointet med den og sætter headeren `X-Grundfast-Stale: true`.

**Godkendelse:** `Authorization: Bearer gf_live_…` (eller `gf_test_…`)

**Afregning:** Ét kald.

## Parametre

| Navn | Placering | Type | Påkrævet | Beskrivelse |
| --- | --- | --- | --- | --- |
| `cvr` | path | string | ja | CVR-nummeret — præcis 8 cifre. |

## Eksempel

```bash
curl "https://api.grundfast.dk/v1/cvr/20213094" \
  -H "Authorization: Bearer $GRUNDFAST_API_KEY"
```

## Svar (200)

```json
{
  "virksomhed": {
    "cvr": "20213094",
    "navn": "LAGKAGEHUSET A/S",
    "email": null,
    "status": "aktiv",
    "adresse": {
      "doer": null,
      "etage": null,
      "husnr": "10",
      "postnr": "2400",
      "vejnavn": "Dortheavej",
      "betegnelse": "Dortheavej 10, 2400 København NV",
      "postnrnavn": "København NV",
      "kommunekode": "0101",
      "region_navn": "Region Hovedstaden",
      "regionskode": "1084",
      "kommune_navn": "København"
    },
    "branche": {
      "kode": "107120",
      "tekst": "Fremstilling af friske bageriprodukter"
    },
    "telefon": null,
    "startdato": "1997-06-27",
    "hjemmeside": null,
    "ophoersdato": null,
    "virksomhedsform": "Aktieselskab",
    "reklamebeskyttet": null
  },
  "meta": {
    "kilde": "Erhvervsstyrelsen CVR via Grundfast",
    "grundfast_version": "0.1.0"
  }
}
```

## Vigtige felter

| Felt | Type | Betydning |
| --- | --- | --- |
| `virksomhed.status` | string \| null | Livscyklus i små bogstaver: `aktiv`, `ophørt`, `underkonkurs`, `undertvangsopløsning` m.fl. |
| `virksomhed.adresse` | object | Beliggenhedsadressen med `kommune_navn`, `regionskode` og `region_navn` afledt af kommunekoden — CVR har selv ingen regionskode. |
| `virksomhed.branche` | { kode, tekst } \| null | Hovedbranchen som DB07-kode og dansk tekst. |
| `virksomhed.ophoersdato` | string \| null | ISO-dato for ophør. `null` så længe virksomheden er aktiv. |
| `virksomhed.reklamebeskyttet` | boolean \| null | `true` når virksomheden har frabedt sig markedsføring via Reklamebeskyttelsen. `null` betyder ukendt — ikke "ikke beskyttet". |
| `virksomhed.telefon` | string \| null | Registreret telefonnummer. Udfyldes kun, når kontaktfelterne er slået til, og virksomheden positivt er registreret som ikke reklamebeskyttet; ellers `null`. Det samme gælder `email`. |
| `virksomhed.hjemmeside` | string \| null | Altid `null`: CVR registrerer ingen hjemmeside. Feltet findes for kompatibilitet. |

## Fejl

| Status | Betydning |
| --- | --- |
| 400 | CVR-nummeret er ikke præcis 8 cifre. |
| 401 | Nøglen mangler eller er ugyldig. |
| 404 | Der findes ingen virksomhed med det CVR-nummer. |
| 429 | Burst-grænsen eller månedskvoten er nået. Se `Retry-After`. |
| 502 | Datafordeler svarede ikke, og der fandtes ingen cachet kopi. |
| 503 | CVR-kilden er ikke konfigureret i dette miljø. |

> For en enkeltmandsvirksomhed er navn og beliggenhedsadresse ofte ejerens personoplysninger. Grundfast henter aldrig CVR’s personregister, men du skal selv have et lovligt grundlag for at behandle oplysningerne, og `reklamebeskyttet` bør respekteres, før de bruges til markedsføring.
