Till innehållet
kart-api.se

Sveriges geodata som ett API

Ortnamn, kommungränser, höjd, marktäcke, vatten, kollektivtrafik i realtid och färdiga kartbilder — från Lantmäteriet, SCB, Trafiklab och OpenStreetMap. En URL för kartan, ett anrop för bilden.

curl 'https://api.kart-api.se/v1/geocode?q=Fridhem'
svaret, hämtat nyss

Fridhem finns i 217 kommuner. De flesta geokodnings-API:er ger dig fem träffar och låter dig tro att namnet är entydigt. Vi säger det i svaret, räknat före limiten.

990 698ortnamn
290kommuner
301terrängarkiv, 1 m

Räknade i vår databas 2026-09-11. Så mäts de.

Sex saker du kan göra i kväll

En statisk karta i ett anrop

Karta över Finspång med en markör i centrum
<img src="https://api.kart-api.se/v1/render/karta
     ?lat=58.7052&lng=15.7803&zoom=13
     &w=600&h=340&marker=15.7803,58.7052">

PNG direkt i en <img>. Krediten är inbränd i bilden, så den kan inte tappas bort på vägen.

Geokodning som vägrar gissa

curl 'https://api.kart-api.se/v1/geocode?q=Lugnet'
# spridning: { kommuner: 211, entydig: false }

Ett namn som finns på 211 ställen ska inte se entydigt ut. Fältet spridning räknas före limiten, och entydig kan vara null — omätt, aldrig detsamma som sant. Felkontraktet.

Lantmäteriets baskarta i din MapLibre

new maplibregl.Map({
  container: 'karta',
  style: 'https://api.kart-api.se/v1/styles/ljus.json'
})

Vektortiles, typsnitt och sprites följer med. Ingen nyckel, ingen räknare på kartrutor. Så kopplar du in den.

Höjd över havet, punkt för punkt

curl 'https://api.kart-api.se/v1/hojd?lat=58.705&lon=15.77'
# { "hojd_m": 24.39, "nodata": false }

Ur Lantmäteriets 1 m-modell. Saknas data blir svaret null och nodata: true — aldrig en nolla som ser ut som havsnivå.

Bussarna, just nu

curl 'https://api.kart-api.se/v1/trafik/otraf'
# GeoJSON: position, riktning, linje, destination

Realtidsflöden från trafikoperatörerna via Trafiklab (CC0). Sex län saknar öppet flöde — API:t säger vilka i stället för att svara tomt. Levande data.

3D-terräng ur 1 m-modellen

map.addSource('terrang', { type: 'raster-dem',
  url: 'pmtiles://https://api.kart-api.se/v1/tiles/terrain-rgb-0562-1m.pmtiles',
  encoding: 'terrarium' })

Ett arkiv per kommun, byggt ur Lantmäteriets laserhöjder. Det ingen annan svensk karttjänst ger dig gratis.

Så här skiljer vi oss

Datat är auktoritativt, inte hopsamlat. Ortnamnen, kommungränserna och höjdmodellen kommer från Lantmäteriet, områdena från SCB, trafiken från operatörernas egna realtidsflöden. Det är samma data svenska myndigheter själva räknar på — inte en crowdsourcad approximation, och inte en global databas där Sverige är ett hörn.

Svaren felar stängt. Ett API som svarar 200 med en tom lista säger två helt olika saker med samma ord: "det finns inget" och "jag kunde inte fråga". Vi skiljer dem åt. En karta som inte kan fyllas levereras inte alls, utan ger 503 och talar om vilken zoom som skulle fungera. Ett ortnamn som finns på 217 ställen rapporteras som flertydigt även när du bara bad om fem träffar. Ett fält som inte gick att mäta är null med ett skäl — aldrig true.

Allt ligger i EU, på hårdvara vi driver själva. Servrarna står i Helsingfors hos Hetzner. Ingen amerikansk molnleverantör är inblandad, och vi loggar ingen komplett IP-adress: sista oktetten maskas innan raden skrivs.

Snabbstart

curl 'https://api.kart-api.se/v1/geocode?q=Fridhem'
const r = await fetch('https://api.kart-api.se/v1/kommun/lookup?lat=58.705&lon=15.77');
const { kommunnamn, attribution } = await r.json();
import requests
d = requests.get('https://api.kart-api.se/v1/hojd', params={'lat': 58.705, 'lon': 15.77}).json()
print(d['hojd_m'], d['attribution'])
claude mcp add --transport http kart-api https://api.kart-api.se/mcp

Fyra språk, samma API. Hela dokumentationen finns under Kom igång, och frågorna vi oftast får är besvarade en och en, med körbara exempel.

Pris

NivåVad du fårPris
Utan nyckel200 anrop per dygn och IP. Alla ytor. Tiles och kartstilar räknas inte.0 kr
Med nyckel10 000 anrop per månad. Samma ytor, högre tak.0 kr under betan
FöretagHögre tak, avtal, namngiven kontakt.Hör av dig

Vi mäter efterfrågan — det här är en beta, och taken är gissningar tills loggen säger något annat. Säg vad ni behöver, så justerar vi.

Vem som använder det i dag

Plattformen driver kartorna i Muskots lokala nyhetssajter (290 kommuner), evenemangskartan i igloo.day och kartytorna i ett antal registertjänster i samma koncern. Uppmätt i vår accesslogg 2026-09-11: all trafik kom från våra egna produkter. kart-api.se är första gången ytan är dokumenterad och öppen för någon annan. Att vi säger det rakt ut i stället för att skriva "tusentals utvecklare" är samma regel som resten av sajten följer: inget tal utan mätning.