API-svarsformat — komplett referens

Alla fält i lookup-responsen, med typer och vad de betyder.

Uppdaterad 2026-05-19

Standard lookup-response

{
  "query": {
    "type": "postnr",
    "postnr": "11151"
  },
  "location": {
    "ort": "Stockholm",
    "latitude": 59.3326,
    "longitude": 18.0649,
    "kommun": {
      "kod": "0180",
      "namn": "STOCKHOLM"
    }
  },
  "elomrade": {
    "code": "SE3",
    "name": "Stockholm",
    "source": "polygon"
  },
  "natomrade": {
    "mga_code": "STH",
    "svk_id": "006",
    "eic": null,
    "name": "Stockholm"
  },
  "grid_owner": {
    "name": "Ellevio AB",
    "org_nr": "556037-7326",
    "eic": "46X000000000209O",
    "ediel_id": "14900"
  },
  "energy_tax": {
    "year": 2026,
    "rate_type": "normal",
    "ore_per_kwh_excl_vat": 36.0,
    "ore_per_kwh_incl_vat": 45.0
  },
  "meta": {
    "data_sources": ["geonames(postnr)", "ediel_company_registry(owners)", "svk-polygons"]
  }
}

Field reference

query

Fält Typ Beskrivning
type string postnr, address, coordinate, ort
postnr string 5-siffrigt om type=postnr
adress string Om type=address
ort string Om type=address
geocoded_display string Om Nominatim användes för geokodning

location

Fält Typ Beskrivning
ort string Postnumrets ort (från Geonames)
latitude float WGS84
longitude float WGS84
kommun.kod string SCB-kommunkod (4 siffror)
kommun.namn string Versaler

elomrade

Fält Typ Beskrivning
code string SE1-SE4
name string "Luleå", "Sundsvall", "Stockholm", "Malmö"
source string polygon (riktig PIP) eller fallback-postnr-prefix

natomrade

Fält Typ Beskrivning
mga_code string 3-bokstavskod (STH, BDN, etc)
svk_id string SvK-internt ID
eic string | null Energy Identification Code
name string "Stockholm", "Boden", etc

Returnerar null om koordinaten inte ligger i någon polygon (rare).

grid_owner

Fält Typ Beskrivning
name string Officiellt företagsnamn
org_nr string Org.nr på format NNNNNN-NNNN
eic string | null EIC-kod
ediel_id string Svensk EDIEL-ID

energy_tax

Fält Typ Beskrivning
year int Skatteåret
rate_type string normal eller reduced
ore_per_kwh_excl_vat float Exklusive moms
ore_per_kwh_incl_vat float Inklusive 25% moms

meta

Fält Typ Beskrivning
data_sources array Vilka datakällor bidrog till svaret
note string | null Eventuell varning eller info
geocoder string | null "nominatim" om OSM-baserad geokoding användes
attribution string | null Tex "© OpenStreetMap contributors" om OSM användes
fallback string | null "ort-only" om gatuadress inte hittades

Felresponser

401 Unauthorized

{"detail": {"error": "api_key_required", "message": "API-nyckel krävs..."}}

404 Not Found

{"detail": "Postnr 99999 hittades inte"}

429 Rate Limited

{
  "error": "rate_limited",
  "scope": "per_minute" | "per_hour" | "per_day" | "per_ip_per_day" | "global_per_day",
  "limit": 30,
  "throttle_minutes": 2,
  "throttle_level": 1,
  "code": 429,
  "message": "..."
}

500 Server Error

Bör inte hända. Rapportera till jonas@cnza.co.

Versioning

/api/v1/* är stabil. Vi gör inte breaking changes i v1. Nya fält kan tillkomma som optional.

För major changes lanserar vi /api/v2/* parallellt och behåller v1 minst 12 mån.