Alla fält i lookup-responsen, med typer och vad de betyder.
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 |
| 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.