# Kom i gang

> Opret en nøgle, lav dit første kald, og læs svaret. Det tager fem minutter.

## 1. Opret en nøgle

Gå til [log ind](https://cvrradar.dk/login), og skriv din mail. Du får et link, og når du har trykket på knappen på siden, kan du oprette en nøgle i dit dashboard. Nøglen begynder med `cvr_` og vises kun én gang, så gem den et sikkert sted, fx i en adgangskodemanager eller som miljøvariabel.

> **Advarsel:**
>
> Læg aldrig nøglen i kode, der kører i en browser eller en app. Kald API'et fra din egen server, og hent nøglen fra en miljøvariabel.

## 2. Lav dit første kald

Send nøglen i headeren `Authorization: Bearer cvr_…`. Alle adresser starter med `https://cvrradar.dk/v1`.

```bash curl
curl "https://cvrradar.dk/v1/virksomhed/10203040" \
  -H "Authorization: Bearer cvr_DIN_NOEGLE"
```
```js JavaScript
const svar = await fetch("https://cvrradar.dk/v1/virksomhed/10203040", {
  headers: {
    Authorization: "Bearer cvr_DIN_NOEGLE",
  },
});
if (!svar.ok) throw new Error(`cvrradar svarede ${svar.status}`);
const data = await svar.json();
```
```php PHP
$ch = curl_init("https://cvrradar.dk/v1/virksomhed/10203040");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer cvr_DIN_NOEGLE",
    ],
]);
$data = json_decode(curl_exec($ch), true);
```
```python Python
import requests

svar = requests.get(
    "https://cvrradar.dk/v1/virksomhed/10203040",
    headers={"Authorization": "Bearer cvr_DIN_NOEGLE"},
    timeout=10,
)
svar.raise_for_status()
data = svar.json()
```

Har du ingen nøgle endnu, kan du prøve med op til 50 opslag i døgnet fra samme IP-adresse uden nøgle. Det giver kun stamdata:

```bash curl
curl "https://cvrradar.dk/v1/virksomhed/10203040"
```

## 3. Læs svaret

Svaret er JSON på dansk. Felter, der ikke er oplyst i CVR, er `null`.

```json
{
  "cvr": "10203040",
  "navn": "Havnens Smedje ApS",
  "binavne": ["Havnens Smedje og Montage"],
  "adresse": { "vej": "Testvej", "husnummer": "1", "postnr": "8000", "by": "Aarhus C", "kommune": "Aarhus" },
  "branche": { "kode": "432200", "tekst": "VVS- og blikkenslagerarbejde" },
  "virksomhedsform": { "kode": 80, "kort": "ApS", "tekst": "Anpartsselskab" },
  "status": "NORMAL",
  "aktiv": true,
  "stiftet": "2019-03-14",
  "ansatte": "10-19",
  "kontakt": { "hjemmeside": "www.havnens-smedje.example", "email": null, "telefon": null },
  "reklamebeskyttet": false
}
```

Tjek altid `reklamebeskyttet`. Er den `true`, må virksomheden ikke bruges til direkte markedsføring. Se [Reklamebeskyttelse og persondata](https://cvrradar.dk/docs/reklamebeskyttelse-og-persondata.md).

## 4. Find virksomheder

Kender du ikke CVR-nummeret, så søg på navnet, eller slå et domæne eller en mailadresse op:

```bash curl
curl "https://cvrradar.dk/v1/soeg?q=havnens%20smedje&limit=5" \
  -H "Authorization: Bearer cvr_DIN_NOEGLE"
```
```js JavaScript
const svar = await fetch("https://cvrradar.dk/v1/soeg?q=havnens%20smedje&limit=5", {
  headers: {
    Authorization: "Bearer cvr_DIN_NOEGLE",
  },
});
if (!svar.ok) throw new Error(`cvrradar svarede ${svar.status}`);
const data = await svar.json();
```
```php PHP
$ch = curl_init("https://cvrradar.dk/v1/soeg?q=havnens%20smedje&limit=5");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer cvr_DIN_NOEGLE",
    ],
]);
$data = json_decode(curl_exec($ch), true);
```
```python Python
import requests

svar = requests.get(
    "https://cvrradar.dk/v1/soeg?q=havnens%20smedje&limit=5",
    headers={"Authorization": "Bearer cvr_DIN_NOEGLE"},
    timeout=10,
)
svar.raise_for_status()
data = svar.json()
```

```bash curl
curl "https://cvrradar.dk/v1/domaene/havnens-smedje.example" \
  -H "Authorization: Bearer cvr_DIN_NOEGLE"
```
```js JavaScript
const svar = await fetch("https://cvrradar.dk/v1/domaene/havnens-smedje.example", {
  headers: {
    Authorization: "Bearer cvr_DIN_NOEGLE",
  },
});
if (!svar.ok) throw new Error(`cvrradar svarede ${svar.status}`);
const data = await svar.json();
```
```php PHP
$ch = curl_init("https://cvrradar.dk/v1/domaene/havnens-smedje.example");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer cvr_DIN_NOEGLE",
    ],
]);
$data = json_decode(curl_exec($ch), true);
```
```python Python
import requests

svar = requests.get(
    "https://cvrradar.dk/v1/domaene/havnens-smedje.example",
    headers={"Authorization": "Bearer cvr_DIN_NOEGLE"},
    timeout=10,
)
svar.raise_for_status()
data = svar.json()
```

## Næste skridt

- [Godkendelse og kvoter](https://cvrradar.dk/docs/godkendelse-og-kvoter.md): hvad tæller som et opslag, og hvad sker der ved 429.
- [Fejlkoder](https://cvrradar.dk/docs/fejlkoder.md): alle statuskoder og hvad du gør ved dem.
- [Regnskab](https://cvrradar.dk/docs/endpoints/regnskab.md) og [kreditvurdering](https://cvrradar.dk/docs/endpoints/kredit.md), når du har en betalt pakke eller bruger dine smagsprøver.
