Utforska

# Utforska API:et

Tio delar av API:et, var och en med ett förslag att köra och anropet för er egen kod. Kartorna räknar live på Trafikverkets vägnät (NVDB) genom demon, utan konto och nyckel, och det du klickar loggas inte. Adresserna visas med inspelade svar från testdata.

1.  [1. Gångväg som undviker snabba vägar](#gangvag)
2.  [2. Avstånd från 20 punkter till ett mål](#punkter)
3.  [3. Stäng av en väg](#avstangning)
4.  [4. Räckvidd](#rackvidd)
5.  [5. Spårmatchning](#spar)
6.  [6. Gatans eget läge](#gata)
7.  [7. Avståndsmatris](#matris)
8.  [8. Vektorrutor](#rutor)
9.  [9. Adresser i detalj](#adresser)
10.  [10. Dokumenterat och daterat med nätversion](#samma)

1 · POST /v1/route med prefer

## Gångväg som undviker snabba vägar

Den kortaste gångvägen och gångvägen som undviker vägar med 70+ km/h, mellan samma två punkter. Se vad omvägen kostar i meter och minuter.

Eller klicka ut en start och ett mål på kartan.

Två gångvägar

-   kortaste
-   undviker snabba vägar
-   på väg med 70+ km/h

Svaret räknas live på NVDB:s vägnät när du väljer förslaget eller klickar på kartan, och visas här. Det kräver JavaScript; anropet nedan fungerar utan.

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/route \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":{"lat":57.469,"lon":12.096},"destination":{"lat":57.4874,"lon":12.0873},"profile":"walk","facts":["speed_limit","fast_road","unlit_outside_built_up","lit","crossings_without_refuge","crossings_unknown_refuge","level_crossings","traffic_volume"],"geometry":"geojson","prefer":[{"fact":"fast_road"}]}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/route", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "origin": {
      "lat": 57.469,
      "lon": 12.096
    },
    "destination": {
      "lat": 57.4874,
      "lon": 12.0873
    },
    "profile": "walk",
    "facts": [
      "speed_limit",
      "fast_road",
      "unlit_outside_built_up",
      "lit",
      "crossings_without_refuge",
      "crossings_unknown_refuge",
      "level_crossings",
      "traffic_volume"
    ],
    "geometry": "geojson",
    "prefer": [
      {
        "fact": "fast_road"
      }
    ]
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret visas här när du har valt förslaget eller klickat på kartan.

2 · POST /v1/distances och POST /v1/nearest

## Avstånd från 20 punkter till ett mål

Ett mål, som ett kontor, en depå eller ett utlämningsställe, och 20 punkter runt det, i två anrop: varje punkts gångavstånd, det NVDB registrerar längs vägen och de närmaste busshållplatserna. Punkterna räknas fram av sidan och är inga adresser.

Eller klicka på kartan där målet ligger: 20 punkter läggs runt det.

Svaret räknas live på NVDB:s vägnät när du väljer förslaget eller klickar på kartan, och visas här. Det kräver JavaScript; anropet nedan fungerar utan.

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/distances \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"destinations":[{"point":{"lat":57.4874,"lon":12.0873}}],"origins":[{"id":"1","point":{"lat":57.490479,"lon":12.0873}},{"id":"2","point":{"lat":57.484244,"lon":12.09268}},{"id":"3","point":{"lat":57.487856,"lon":12.077639}},{"id":"4","point":{"lat":57.491051,"lon":12.096161}},{"id":"5","point":{"lat":57.480804,"lon":12.085129}},{"id":"6","point":{"lat":57.493584,"lon":12.079982}},{"id":"7","point":{"lat":57.485347,"lon":12.101511}},{"id":"8","point":{"lat":57.483505,"lon":12.073348}},{"id":"9","point":{"lat":57.495814,"lon":12.093017}},{"id":"10","point":{"lat":57.478675,"lon":12.094001}},{"id":"11","point":{"lat":57.491595,"lon":12.070623}},{"id":"12","point":{"lat":57.490493,"lon":12.105645}},{"id":"13","point":{"lat":57.478096,"lon":12.077269}},{"id":"14","point":{"lat":57.498297,"lon":12.082843}},{"id":"15","point":{"lat":57.480759,"lon":12.104874}},{"id":"16","point":{"lat":57.485868,"lon":12.0653}},{"id":"17","point":{"lat":57.496797,"lon":12.102034}},{"id":"18","point":{"lat":57.474767,"lon":12.088272}},{"id":"19","point":{"lat":57.496607,"lon":12.070254}},{"id":"20","point":{"lat":57.486785,"lon":12.112065}}],"profile":"walk","facts":["speed_limit","fast_road","unlit_outside_built_up","lit","crossings_without_refuge","crossings_unknown_refuge","level_crossings","traffic_volume"]}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/distances", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "destinations": [
      {
        "point": {
          "lat": 57.4874,
          "lon": 12.0873
        }
      }
    ],
    "origins": [
      {
        "id": "1",
        "point": {
          "lat": 57.490479,
          "lon": 12.0873
        }
      },
      {
        "id": "2",
        "point": {
          "lat": 57.484244,
          "lon": 12.09268
        }
      },
      {
        "id": "3",
        "point": {
          "lat": 57.487856,
          "lon": 12.077639
        }
      },
      {
        "id": "4",
        "point": {
          "lat": 57.491051,
          "lon": 12.096161
        }
      },
      {
        "id": "5",
        "point": {
          "lat": 57.480804,
          "lon": 12.085129
        }
      },
      {
        "id": "6",
        "point": {
          "lat": 57.493584,
          "lon": 12.079982
        }
      },
      {
        "id": "7",
        "point": {
          "lat": 57.485347,
          "lon": 12.101511
        }
      },
      {
        "id": "8",
        "point": {
          "lat": 57.483505,
          "lon": 12.073348
        }
      },
      {
        "id": "9",
        "point": {
          "lat": 57.495814,
          "lon": 12.093017
        }
      },
      {
        "id": "10",
        "point": {
          "lat": 57.478675,
          "lon": 12.094001
        }
      },
      {
        "id": "11",
        "point": {
          "lat": 57.491595,
          "lon": 12.070623
        }
      },
      {
        "id": "12",
        "point": {
          "lat": 57.490493,
          "lon": 12.105645
        }
      },
      {
        "id": "13",
        "point": {
          "lat": 57.478096,
          "lon": 12.077269
        }
      },
      {
        "id": "14",
        "point": {
          "lat": 57.498297,
          "lon": 12.082843
        }
      },
      {
        "id": "15",
        "point": {
          "lat": 57.480759,
          "lon": 12.104874
        }
      },
      {
        "id": "16",
        "point": {
          "lat": 57.485868,
          "lon": 12.0653
        }
      },
      {
        "id": "17",
        "point": {
          "lat": 57.496797,
          "lon": 12.102034
        }
      },
      {
        "id": "18",
        "point": {
          "lat": 57.474767,
          "lon": 12.088272
        }
      },
      {
        "id": "19",
        "point": {
          "lat": 57.496607,
          "lon": 12.070254
        }
      },
      {
        "id": "20",
        "point": {
          "lat": 57.486785,
          "lon": 12.112065
        }
      }
    ],
    "profile": "walk",
    "facts": [
      "speed_limit",
      "fast_road",
      "unlit_outside_built_up",
      "lit",
      "crossings_without_refuge",
      "crossings_unknown_refuge",
      "level_crossings",
      "traffic_volume"
    ]
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret visas här när du har valt förslaget eller klickat på kartan.

3 · POST /v1/route med avoid

## Stäng av en väg

Räkna en färdväg, rita en sträcka att undvika över en väg och se omvägen.

Klicka ut en start och ett mål på kartan.

Färdvägar

-   färdvägen
-   väg som undviker sträckan
-   sträcka att undvika

Svaret räknas live på NVDB:s vägnät när du väljer förslaget eller klickar på kartan, och visas här. Det kräver JavaScript; anropet nedan fungerar utan.

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/route \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":{"lat":57.469,"lon":12.096},"destination":{"lat":57.4874,"lon":12.0873},"profile":"walk","geometry":"geojson"}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/route", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "origin": {
      "lat": 57.469,
      "lon": 12.096
    },
    "destination": {
      "lat": 57.4874,
      "lon": 12.0873
    },
    "profile": "walk",
    "geometry": "geojson"
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret visas här när du har valt förslaget eller klickat på kartan.

4 · POST /v1/reach

## Räckvidd

Hur långt du når på 5, 10 och 15 minuter från en punkt, till fots eller med bil.

Räckvidd

-   5 min
-   10 min
-   15 min

Svaret räknas live på NVDB:s vägnät när du väljer förslaget eller klickar på kartan, och visas här. Det kräver JavaScript; anropet nedan fungerar utan.

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/reach \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":{"lat":59.7905,"lon":17.65},"profile":"walk","budget":{"duration_s":[300,600,900]}}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/reach", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "origin": {
      "lat": 59.7905,
      "lon": 17.65
    },
    "profile": "walk",
    "budget": {
      "duration_s": [
        300,
        600,
        900
      ]
    }
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret visas här när du har valt förslaget eller klickat på kartan.

5 · POST /v1/trace

## Spårmatchning

Rita en linje på kartan och se vilka vägar den följde, med vägreferens och fakta för varje väg.

Klicka längs en väg för att rita, högst 200 punkter och 10 km. 0 punkter ritade.

Svaret räknas live på NVDB:s vägnät när du väljer förslaget eller klickar på kartan, och visas här. Det kräver JavaScript; anropet nedan fungerar utan.

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/trace \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"points":[{"lat":57.469,"lon":12.096},{"lat":57.4874,"lon":12.0873}],"profile":"car_shortest","gps_accuracy_m":25,"facts":["speed_limit","road_owner","surface","road_name","road_number"],"geometry":"geojson"}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/trace", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "points": [
      {
        "lat": 57.469,
        "lon": 12.096
      },
      {
        "lat": 57.4874,
        "lon": 12.0873
      }
    ],
    "profile": "car_shortest",
    "gps_accuracy_m": 25,
    "facts": [
      "speed_limit",
      "road_owner",
      "surface",
      "road_name",
      "road_number"
    ],
    "geometry": "geojson"
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret visas här när du har valt förslaget eller klickat på kartan.

6 · POST /v1/snap med street

## Gatans eget läge

En punkt mellan två vägar möter den närmaste, ofta den större. Med gatans namn möter den sin egen gata. Samma punkt skickas med och utan namnet.

Gatans namn

Klicka på kartan där punkten ligger. Gatunamnet jämförs med NVDB:s vägnamn inom 500 m från punkten. Det slås aldrig upp som en adress, och det loggas inte.

Svaret räknas live på NVDB:s vägnät när du väljer förslaget eller klickar på kartan, och visas här. Det kräver JavaScript; anropet nedan fungerar utan.

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/snap \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"points":[{"lat":57.4874,"lon":12.0873},{"lat":57.4874,"lon":12.0873,"street":"Sommarlustvägen"}],"profile":"car_shortest"}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/snap", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "points": [
      {
        "lat": 57.4874,
        "lon": 12.0873
      },
      {
        "lat": 57.4874,
        "lon": 12.0873,
        "street": "Sommarlustvägen"
      }
    ],
    "profile": "car_shortest"
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret visas här när du har valt förslaget eller klickat på kartan.

7 · POST /v1/matrix

## Avståndsmatris

Upp till fem starter och fem mål, och avstånd och tid mellan varje start och varje mål.

0 starter och 0 mål, högst 5 av varje.

Svaret räknas live på NVDB:s vägnät när du väljer förslaget eller klickar på kartan, och visas här. Det kräver JavaScript; anropet nedan fungerar utan.

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/matrix \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origins":[{"lat":57.469,"lon":12.096},{"lat":57.4995,"lon":12.0745},{"lat":57.4812,"lon":12.0428}],"destinations":[{"lat":57.4874,"lon":12.0873},{"lat":57.4876,"lon":12.0681},{"lat":57.4606,"lon":12.0716}],"profile":"car_fastest"}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/matrix", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "origins": [
      {
        "lat": 57.469,
        "lon": 12.096
      },
      {
        "lat": 57.4995,
        "lon": 12.0745
      },
      {
        "lat": 57.4812,
        "lon": 12.0428
      }
    ],
    "destinations": [
      {
        "lat": 57.4874,
        "lon": 12.0873
      },
      {
        "lat": 57.4876,
        "lon": 12.0681
      },
      {
        "lat": 57.4606,
        "lon": 12.0716
      }
    ],
    "profile": "car_fastest"
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret visas här när du har valt förslaget eller klickat på kartan.

8 · GET /v1/tilesets

## Vektorrutor

Sveriges vägar ur NVDB som vektorrutor, färgade efter hastighet, väghållare, slitlager eller bärighetsklass, och koden för att visa dem i er egen karta.

Färga vägarna efter

Hastighet

-   ≤ 30 km/h
-   40 km/h
-   50 km/h
-   60 km/h
-   70–80 km/h
-   90–120 km/h
-   ingen gräns

Svaret räknas live på NVDB:s vägnät när du väljer förslaget eller klickar på kartan, och visas här. Det kräver JavaScript; anropet nedan fungerar utan.

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/tilesets \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY"
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/tilesets", {
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
  },
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret visas här när du har valt förslaget eller klickat på kartan.

9 · adressanropen

## Adresser i detalj

Adressanropen med inspelade svar från testdata: demon läser inga adresser, så här skickas inget. Med en testnyckel får du samma sorts svar från ert eget system.

Inspelat svar från testdata

### Validering med förslag

En felstavad gata: svaret säger vad som är fel och föreslår adresser som finns, utan att rätta tyst.

-   Ogiltig: gatan finns inte som den skrevs.
-   Förslag: Östra Ågatan 12B, 757 97 Uppsala; Östra Ågatan 12, 757 97 Uppsala; Östra Ågatan 12A, 757 97 Uppsala.

Syntetiska testadresser från Kartpunkt, inte verkliga adresser.

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/addresses/validate \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"street":"Östra Ågatn","number":12,"letter":"B","locality":"Uppsala"}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/addresses/validate", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "street": "Östra Ågatn",
    "number": 12,
    "letter": "B",
    "locality": "Uppsala"
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret

-   provenance: källorna, deras villkor och nätversionen svaret räknades på
-   ref: vägreferensen, samma sträcka i varje nätversion
-   facts: det NVDB registrerar längs vägen

```
{
  "valid": false,
  "match": null,
  "issues": [
    "street_not_found"
  ],
  "suggestions": [
    {
      "id": "se.syn.syn-0000t9b",
      "type": "address",
      "label": "Östra Ågatan 12B, 757 97 Uppsala",
      "street": "Östra Ågatan",
      "number": 12,
      "letter": "B",
      "postcode": "75797",
      "locality": "Uppsala",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "district_code": "903801",
      "district": "Uppsala norra",
      "point": {
        "lat": 59.92238511056452,
        "lon": 17.582745460249157
      },
      "position_type": "entrance",
      "match_type": "corrected",
      "score": 6.096714830317912
    },
    {
      "id": "se.syn.syn-0000t99",
      "type": "address",
      "label": "Östra Ågatan 12, 757 97 Uppsala",
      "street": "Östra Ågatan",
      "number": 12,
      "letter": null,
      "postcode": "75797",
      "locality": "Uppsala",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "district_code": "903801",
      "district": "Uppsala norra",
      "point": {
        "lat": 59.92239328453523,
        "lon": 17.582887649142425
      },
      "position_type": "building",
      "match_type": "partial",
      "score": 5.596714830317912
    },
    {
      "id": "se.syn.syn-0000t9a",
      "type": "address",
      "label": "Östra Ågatan 12A, 757 97 Uppsala",
      "street": "Östra Ågatan",
      "number": 12,
      "letter": "A",
      "postcode": "75797",
      "locality": "Uppsala",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "district_code": "903801",
      "district": "Uppsala norra",
      "point": {
        "lat": 59.92238919581831,
        "lon": 17.58281664402885
      },
      "position_type": "entrance",
      "match_type": "partial",
      "score": 5.596714830317912
    }
  ],
  "provenance": {
    "synthetic": true,
    "sources": [
      {
        "id": "synthetic",
        "name": "Kartpunkt synthetic test addresses",
        "licence": "CC0-1.0",
        "attribution": "Syntetiska testadresser från Kartpunkt, inte verkliga adresser.",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/",
        "updated": "2026-10-06"
      }
    ]
  }
}
```

Inspelat svar från testdata

### Koordinat till adress, med vägen

De närmaste adresserna till en punkt, och vägen intill från NVDB.

-   Östra Ågatan 12B, 757 97 Uppsala (0 m)
-   Östra Ågatan 12A, 757 97 Uppsala (4 m)
-   Östra Ågatan 12, 757 97 Uppsala (8 m)
-   Vägen intill: Östra Ågatan, 50 km/h, 22 m bort.

Syntetiska testadresser från Kartpunkt, inte verkliga adresser. · Vägdata från NVDB, Trafikverket, CC0 1.0

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/reverse-geocode \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"point":{"lat":59.92238511056452,"lon":17.582745460249157},"limit":3}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/reverse-geocode", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "point": {
      "lat": 59.92238511056452,
      "lon": 17.582745460249157
    },
    "limit": 3
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret

-   provenance: källorna, deras villkor och nätversionen svaret räknades på
-   ref: vägreferensen, samma sträcka i varje nätversion
-   facts: det NVDB registrerar längs vägen

```
{
  "results": [
    {
      "id": "se.syn.syn-0000t9b",
      "type": "address",
      "label": "Östra Ågatan 12B, 757 97 Uppsala",
      "street": "Östra Ågatan",
      "number": 12,
      "letter": "B",
      "postcode": "75797",
      "locality": "Uppsala",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "district_code": "903801",
      "district": "Uppsala norra",
      "point": {
        "lat": 59.92238511056452,
        "lon": 17.582745460249157
      },
      "position_type": "entrance",
      "match_type": null,
      "score": 1,
      "distance_m": 0
    },
    {
      "id": "se.syn.syn-0000t9a",
      "type": "address",
      "label": "Östra Ågatan 12A, 757 97 Uppsala",
      "street": "Östra Ågatan",
      "number": 12,
      "letter": "A",
      "postcode": "75797",
      "locality": "Uppsala",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "district_code": "903801",
      "district": "Uppsala norra",
      "point": {
        "lat": 59.92238919581831,
        "lon": 17.58281664402885
      },
      "position_type": "entrance",
      "match_type": null,
      "score": 1,
      "distance_m": 4.01
    },
    {
      "id": "se.syn.syn-0000t99",
      "type": "address",
      "label": "Östra Ågatan 12, 757 97 Uppsala",
      "street": "Östra Ågatan",
      "number": 12,
      "letter": null,
      "postcode": "75797",
      "locality": "Uppsala",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "district_code": "903801",
      "district": "Uppsala norra",
      "point": {
        "lat": 59.92239328453523,
        "lon": 17.582887649142425
      },
      "position_type": "building",
      "match_type": null,
      "score": 1,
      "distance_m": 8
    }
  ],
  "road": {
    "name": "Östra Ågatan",
    "road_number": null,
    "road_class": 6,
    "speed_limit_kmh": 50,
    "speed_limit_varies": false,
    "owner": "municipal",
    "surface": "paved",
    "municipality_code": "0380",
    "distance_m": 22.01,
    "fallback": false
  },
  "provenance": {
    "synthetic": true,
    "network": {
      "id": "snap_01m481nr59fezs7pcmbff9jjwq",
      "dataset": "nvdb",
      "source_date": "2026-10-06",
      "built_at": "2026-10-06T07:25:59.337Z",
      "graph": "snap_01m481nrr6fezs7pcz0p337t4y"
    },
    "sources": [
      {
        "id": "synthetic",
        "name": "Kartpunkt synthetic test addresses",
        "licence": "CC0-1.0",
        "attribution": "Syntetiska testadresser från Kartpunkt, inte verkliga adresser.",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/",
        "updated": "2026-10-06"
      },
      {
        "id": "nvdb",
        "name": "Trafikverket, NVDB",
        "licence": "CC0-1.0",
        "attribution": "Vägdata från NVDB, Trafikverket, CC0 1.0",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/",
        "updated": "2026-10-06"
      }
    ]
  }
}
```

Inspelat svar från testdata

### En adress per gata

Med distinct: "street" den närmaste adressen på varje gata, för en körjournal som ska välja gatan den körde på.

-   Östra Ågatan 12B, 757 97 Uppsala (0 m)
-   Baronhagsallén 9, 752 91 Marksjö (1,4 km)
-   Lönnholmsvägen 1A, 757 12 Uppsala (1,5 km)
-   Lammhagsvägen 28, 752 91 Marksjö (1,6 km)
-   Vägen intill: Östra Ågatan, 50 km/h, 22 m bort.

Syntetiska testadresser från Kartpunkt, inte verkliga adresser. · Vägdata från NVDB, Trafikverket, CC0 1.0

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/reverse-geocode \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"point":{"lat":59.92238511056452,"lon":17.582745460249157},"distinct":"street","limit":4,"radius_m":2000}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/reverse-geocode", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "point": {
      "lat": 59.92238511056452,
      "lon": 17.582745460249157
    },
    "distinct": "street",
    "limit": 4,
    "radius_m": 2000
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret

-   provenance: källorna, deras villkor och nätversionen svaret räknades på
-   ref: vägreferensen, samma sträcka i varje nätversion
-   facts: det NVDB registrerar längs vägen

```
{
  "results": [
    {
      "id": "se.syn.syn-0000t9b",
      "type": "address",
      "label": "Östra Ågatan 12B, 757 97 Uppsala",
      "street": "Östra Ågatan",
      "number": 12,
      "letter": "B",
      "postcode": "75797",
      "locality": "Uppsala",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "district_code": "903801",
      "district": "Uppsala norra",
      "point": {
        "lat": 59.92238511056452,
        "lon": 17.582745460249157
      },
      "position_type": "entrance",
      "match_type": null,
      "score": 1,
      "distance_m": 0
    },
    {
      "id": "se.syn.syn-0000wn0",
      "type": "address",
      "label": "Baronhagsallén 9, 752 91 Marksjö",
      "street": "Baronhagsallén",
      "number": 9,
      "letter": null,
      "postcode": "75291",
      "locality": "Marksjö",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "district_code": "903800",
      "district": "Uppsala centrum",
      "point": {
        "lat": 59.92495168896839,
        "lon": 17.558161035972773
      },
      "position_type": "driveway",
      "match_type": null,
      "score": 1,
      "distance_m": 1404.39
    },
    {
      "id": "se.syn.syn-0000tas",
      "type": "address",
      "label": "Lönnholmsvägen 1A, 757 12 Uppsala",
      "street": "Lönnholmsvägen",
      "number": 1,
      "letter": "A",
      "postcode": "75712",
      "locality": "Uppsala",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "district_code": "903802",
      "district": "Uppsala södra",
      "point": {
        "lat": 59.909810524115365,
        "lon": 17.591908582137883
      },
      "position_type": "entrance",
      "match_type": null,
      "score": 1,
      "distance_m": 1491.78
    },
    {
      "id": "se.syn.syn-0000wow",
      "type": "address",
      "label": "Lammhagsvägen 28, 752 91 Marksjö",
      "street": "Lammhagsvägen",
      "number": 28,
      "letter": null,
      "postcode": "75291",
      "locality": "Marksjö",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "district_code": "903804",
      "district": "Uppsala västra",
      "point": {
        "lat": 59.92674662080804,
        "lon": 17.555509047055587
      },
      "position_type": "building",
      "match_type": null,
      "score": 1,
      "distance_m": 1598.88
    }
  ],
  "road": {
    "name": "Östra Ågatan",
    "road_number": null,
    "road_class": 6,
    "speed_limit_kmh": 50,
    "speed_limit_varies": false,
    "owner": "municipal",
    "surface": "paved",
    "municipality_code": "0380",
    "distance_m": 22.01,
    "fallback": false
  },
  "provenance": {
    "synthetic": true,
    "network": {
      "id": "snap_01m481nr59fezs7pcmbff9jjwq",
      "dataset": "nvdb",
      "source_date": "2026-10-06",
      "built_at": "2026-10-06T07:25:59.337Z",
      "graph": "snap_01m481nrr6fezs7pcz0p337t4y"
    },
    "sources": [
      {
        "id": "synthetic",
        "name": "Kartpunkt synthetic test addresses",
        "licence": "CC0-1.0",
        "attribution": "Syntetiska testadresser från Kartpunkt, inte verkliga adresser.",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/",
        "updated": "2026-10-06"
      },
      {
        "id": "nvdb",
        "name": "Trafikverket, NVDB",
        "licence": "CC0-1.0",
        "attribution": "Vägdata från NVDB, Trafikverket, CC0 1.0",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/",
        "updated": "2026-10-06"
      }
    ]
  }
}
```

Inspelat svar från testdata

### Vad som ändrats sedan ett datum

Sparade adress-id:n jämförda med vad som serveras nu: oförändrad, ändrad eller avslutad.

-   se.syn.synh-0380-0001: ändrad 2026-10-06 (etikett, postnummer), nu Gränsbrovägen 1, 759 90 Gränsbro.
-   se.syn.syn-0000t9b: oförändrad.
-   se.syn.synh-riv-0002: avslutad adress sedan 2026-10-06.

Syntetiska testadresser från Kartpunkt, inte verkliga adresser.

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/addresses/changes \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids":["se.syn.synh-0380-0001","se.syn.syn-0000t9b","se.syn.synh-riv-0002"],"since":"2026-10-05"}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/addresses/changes", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "ids": [
      "se.syn.synh-0380-0001",
      "se.syn.syn-0000t9b",
      "se.syn.synh-riv-0002"
    ],
    "since": "2026-10-05"
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret

-   provenance: källorna, deras villkor och nätversionen svaret räknades på
-   ref: vägreferensen, samma sträcka i varje nätversion
-   facts: det NVDB registrerar längs vägen

```
{
  "results": [
    {
      "id": "se.syn.synh-0380-0001",
      "status": "changed",
      "changed_on": "2026-10-06",
      "changed_fields": [
        "label",
        "postcode"
      ],
      "address": {
        "id": "se.syn.synh-0380-0001",
        "type": "address",
        "label": "Gränsbrovägen 1, 759 90 Gränsbro",
        "street": "Gränsbrovägen",
        "number": 1,
        "letter": null,
        "postcode": "75990",
        "locality": "Gränsbro",
        "municipality_code": "0380",
        "municipality": "Uppsala",
        "county_code": "03",
        "county": "Uppsala län",
        "district_code": "903804",
        "district": "Uppsala västra",
        "point": {
          "lat": 59.94563949225021,
          "lon": 17.770290601111526
        },
        "position_type": "building",
        "match_type": null,
        "score": 1
      }
    },
    {
      "id": "se.syn.syn-0000t9b",
      "status": "unchanged"
    },
    {
      "id": "se.syn.synh-riv-0002",
      "status": "closed",
      "closed_on": "2026-10-06"
    }
  ],
  "provenance": {
    "synthetic": true,
    "sources": [
      {
        "id": "synthetic",
        "name": "Kartpunkt synthetic test addresses",
        "licence": "CC0-1.0",
        "attribution": "Syntetiska testadresser från Kartpunkt, inte verkliga adresser.",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/",
        "updated": "2026-10-06"
      }
    ]
  }
}
```

Inspelat svar från testdata

### Postnummer

Vilka postorter och kommuner ett postnummer används i.

-   75990 används i Gränsbro (Uppsala kommun, 12 adresser) och Gränsbro (Upplands Väsby kommun, 5 adresser).

Syntetiska testadresser från Kartpunkt, inte verkliga adresser.

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/postcodes/75990 \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY"
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/postcodes/75990", {
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
  },
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret

-   provenance: källorna, deras villkor och nätversionen svaret räknades på
-   ref: vägreferensen, samma sträcka i varje nätversion
-   facts: det NVDB registrerar längs vägen

```
{
  "postcode": "75990",
  "localities": [
    {
      "locality": "Gränsbro",
      "municipality_code": "0380",
      "municipality": "Uppsala",
      "county_code": "03",
      "county": "Uppsala län",
      "addresses": 12
    },
    {
      "locality": "Gränsbro",
      "municipality_code": "0114",
      "municipality": "Upplands Väsby",
      "county_code": "01",
      "county": "Stockholms län",
      "addresses": 5
    }
  ],
  "provenance": {
    "synthetic": true,
    "sources": [
      {
        "id": "synthetic",
        "name": "Kartpunkt synthetic test addresses",
        "licence": "CC0-1.0",
        "attribution": "Syntetiska testadresser från Kartpunkt, inte verkliga adresser.",
        "url": "https://creativecommons.org/publicdomain/zero/1.0/",
        "updated": "2026-10-06"
      }
    ]
  }
}
```

Inspelat 2026-10-06 med en testnyckel (kp\_test\_). Testdata är syntetiska adresser som ser verkliga ut men inte finns.

10 · network: { id } och { as\_of }

## Dokumenterat och daterat med nätversion

Varje svar säger vilken nätversion det räknades på. Spara id:t med svaret: medan nätversionen används ger samma fråga samma svar.

Varje svar på vägnätet har `provenance.network.id`, nätversionen det räknades på, och `provenance.network.source_date`, datumet för NVDB-leveransen. Välj förslaget i Gångväg som undviker snabba vägar så visas id:t för ditt svar här. Samma id står i svarets huvud `X-Kartpunkt-Network`.

Spara id:t med svaret, så är det dokumenterat och daterat med nätversion. Medan nätversionen används ger `network: { id }` samma svar, och `network: { as_of }` med en tidpunkt väljer det nät som användes då. Är nätversionen inte längre den som används svarar `/v1/route` med `network_not_active`, och frågan går bara som ett jobb med `POST /v1/jobs` om nätversionens graf fungerar med dagens ruttmotor; annars slutar jobbet med `snapshot_engine_unavailable`. En nätversion som har tagits bort svarar `network_pruned`: fråga då utan `network` för den nätversion som används nu.

På en äldre nätversion går det inte att räkna i dag. Den enda som finns kvar är byggd för en tidigare ruttmotor, och de andra är borttagna. Sidan anropar därför ingen äldre version: den visar hur du sparar svaret med dess nätversion.

Samma nät, med id

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/route \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":{"lat":57.469,"lon":12.096},"destination":{"lat":57.4874,"lon":12.0873},"profile":"walk","facts":["speed_limit","fast_road","unlit_outside_built_up","lit","crossings_without_refuge","crossings_unknown_refuge","level_crossings","traffic_volume"],"geometry":"geojson","network":{"id":"snap_…"}}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/route", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "origin": {
      "lat": 57.469,
      "lon": 12.096
    },
    "destination": {
      "lat": 57.4874,
      "lon": 12.0873
    },
    "profile": "walk",
    "facts": [
      "speed_limit",
      "fast_road",
      "unlit_outside_built_up",
      "lit",
      "crossings_without_refuge",
      "crossings_unknown_refuge",
      "level_crossings",
      "traffic_volume"
    ],
    "geometry": "geojson",
    "network": {
      "id": "snap_…"
    }
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Svaret visas här när Gångväg som undviker snabba vägar har räknat en gångväg.

Det nät som användes vid en tidpunkt

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/route \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"origin":{"lat":57.469,"lon":12.096},"destination":{"lat":57.4874,"lon":12.0873},"profile":"walk","facts":["speed_limit","fast_road","unlit_outside_built_up","lit","crossings_without_refuge","crossings_unknown_refuge","level_crossings","traffic_volume"],"geometry":"geojson","network":{"as_of":"2026-10-01T12:00:00Z"}}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/route", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "origin": {
      "lat": 57.469,
      "lon": 12.096
    },
    "destination": {
      "lat": 57.4874,
      "lon": 12.0873
    },
    "profile": "walk",
    "facts": [
      "speed_limit",
      "fast_road",
      "unlit_outside_built_up",
      "lit",
      "crossings_without_refuge",
      "crossings_unknown_refuge",
      "level_crossings",
      "traffic_volume"
    ],
    "geometry": "geojson",
    "network": {
      "as_of": "2026-10-01T12:00:00Z"
    }
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Sidan anropar ingen äldre nätversion.

En äldre nätversion, som jobb, när den går att räkna på

Se anropet och svaret

curl

```
curl https://api.kartpunkt.se/v1/jobs \
  -H "Authorization: Bearer $KARTPUNKT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"operation":"route","input":{"origin":{"lat":57.469,"lon":12.096},"destination":{"lat":57.4874,"lon":12.0873},"profile":"walk","facts":["speed_limit","fast_road","unlit_outside_built_up","lit","crossings_without_refuge","crossings_unknown_refuge","level_crossings","traffic_volume"],"geometry":"geojson","network":{"id":"snap_…"}}}'
```

TypeScript

```
const res = await fetch("https://api.kartpunkt.se/v1/jobs", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.KARTPUNKT_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "operation": "route",
    "input": {
      "origin": {
        "lat": 57.469,
        "lon": 12.096
      },
      "destination": {
        "lat": 57.4874,
        "lon": 12.0873
      },
      "profile": "walk",
      "facts": [
        "speed_limit",
        "fast_road",
        "unlit_outside_built_up",
        "lit",
        "crossings_without_refuge",
        "crossings_unknown_refuge",
        "level_crossings",
        "traffic_volume"
      ],
      "geometry": "geojson",
      "network": {
        "id": "snap_…"
      }
    }
  }),
})
const answer = await res.json()
```

Skapa en testnyckel på kartpunkt.se/konto och lägg den i miljövariabeln KARTPUNKT\_API\_KEY i er egen miljö. Sidan här anropar demon utan nyckel.

Sidan anropar ingen äldre nätversion.

[Skapa testnyckel](https://kartpunkt.se/konto)

> Prova varje del av Kartpunkts API på NVDB:s vägnät: gångväg som undviker snabba vägar, avstånd från många punkter till ett mål, avstängda vägar, räckvidd, spårmatchning, matris och vektorrutor, med anropet för er egen kod.
>
> https://kartpunkt.se/utforska
