API-dokumentasjon
Basis-URL: https://bompengeappen.no. Alle svar er JSON (UTF-8).
Dataene kommer direkte fra Statens vegvesen (Ruteplan v3, Autosys, NVDB) —
samme kilder som AutoPASS-operatørene bruker.
Trenger du en nøkkel? Hent en gratis i API-portalen.
Autentisering
Send API-nøkkelen din i hver forespørsel — enten som Authorization-header (anbefalt) eller X-API-Key:
curl -H "Authorization: Bearer bka_DIN_NOKKEL" \
"https://bompengeappen.no/api/vehicle?plate=DR27336"
# eller:
curl -H "X-API-Key: bka_DIN_NOKKEL" \
"https://bompengeappen.no/api/route?from=59.9139,10.7522&to=59.7440,10.2045&refine=1"
Nøkkelen finner (og roterer) du i API-portalen. Hold den hemmelig — bruk den kun server-til-server, aldri i frontend-kode.
Kvoter og feilkoder
Kvoten gjelder per kalenderdag (nullstilles ved midnatt norsk tid) og telles på
/api/route, /api/route-osrm og /api/vehicle.
Øvrige endepunkter er gratis å kalle med gyldig nøkkel.
| Plan | Kall per dag | Pris |
|---|---|---|
| Gratis | 500 | 0 kr |
| Pilot | 5 000 | 1 399 kr/mnd |
| Enterprise | Etter avtale | Kontakt oss |
Hvert svar inneholder kvotestatus i headerne:
X-API-Quota-Limit: 5000 X-API-Quota-Remaining: 4998
| HTTP | Body | Betyr |
|---|---|---|
401 | {"error":"invalid_api_key"} | Ukjent eller rotert nøkkel. |
403 | {"error":"subscription_inactive"} | Betaling feilet eller abonnement stoppet — ordnes i portalen. |
429 | {"error":"quota_exceeded"} | Dagskvoten er brukt. Retry-After-headeren sier sekunder til midnatt. |
400 | {"error":…} | Manglende/ugyldige parametre — se feilmeldingen. |
404 | {"error":"not_found"} / {"error":"route_not_possible"} | Ukjent regnr på /api/vehicle, eller ingen kjørbar rute mellom punktene på /api/route. |
502/503 | {"error":…} | Statens vegvesen midlertidig nede — prøv igjen om litt. |
Kjøretøyoppslag
Slår opp et norsk registreringsnummer i Statens vegvesens kjøretøyregister (Autosys).
Mellomrom i regnr er ok. Svaret er SVV-objektet kjoretoydataListe med
tekniske data — mest relevant for bompenger:
- Drivstoff (el/diesel/bensin) → elbiler får rabatt hos de fleste operatører
- Vekt/klasse → over 3 500 kg = takstgruppe 2 («stor bil»)
curl -H "Authorization: Bearer bka_…" \
"https://bompengeappen.no/api/vehicle?plate=DR27336"
{
"kjoretoydataListe": [{
"kjoretoyId": { "kjennemerke": "DR 27336", … },
"forstegangsregistrering": { "registrertForstegangNorgeDato": "2017-04-28" },
"godkjenning": { "tekniskGodkjenning": { "tekniskeData": {
"miljodata": { "miljoOgdrivstoffGruppe": [ { "drivstoffKodeMiljodata": { "kodeNavn": "Diesel" } } ] },
"vekter": { "egenvektMinimum": 1845, "tillattTotalvekt": 2450 }, …
} } }, …
}]
}
Tips: kjøretøydata endrer seg sjelden — slå opp én gang per kjøretøy og mellomlagre resultatet hos dere i stedet for å bruke kvote på hver tur.
Ruteberegning med eksakte bompenger
Beregner rute(r) via Statens vegvesen Ruteplan v3 og priser hver bomstasjon på ruten. Rushtidstakster, timesregelen (du betaler kun dyreste passering per ring innen 60 min) og AutoPASS-rabatt er regnet inn.
| Parameter | Eksempel | Beskrivelse |
|---|---|---|
from påkrevd | 59.9139,10.7522 | Start, WGS84 lat,lon |
to påkrevd | 59.7440,10.2045 | Mål, WGS84 lat,lon |
refine | 1 | Anbefalt. NVDB-eksakt bompengeberegning. Uten: raskere svar med foreløpige takster. |
startTime | 2026-06-15T08:30:00+02:00 | Avreisetid (ISO 8601). Styrer rushtidstakst og timesregel. Standard: nå. |
via | 59.83,10.43|59.80,10.30 | Viapunkter, |-separert |
heavy | 1 | Bom-takst for kjøretøy over 3 500 kg (takstgruppe 2). Styrer KUN bompenger, ikke ferje. |
avoidTolls | 1 | Foretrekk bomfri rute der det finnes. Gjelder kun bompenger — ferjer unngås ikke. |
ferryClass | AP5 | AutoPASS-for-ferje takstklasse: MC, AP1 (bil ≤6 m) … AP9 (vogntog >22 m). Standard AP1. |
vehicleLength | 18 | Kjøretøylengde i meter → ferjeklasse (alternativ til ferryClass). 7 → AP2, 18 → AP7. |
Svaret har to deler: routes (SVV-rutegeometri som GeoJSON-features —
NB: geometri-koordinatene er UTM33 / EPSG:25833 easting,northing, ikke
WGS84 lon,lat) og _billing — det dere trenger for kostnad:
curl -H "Authorization: Bearer bka_…" \
"https://bompengeappen.no/api/route?from=59.9139,10.7522&to=59.7440,10.2045&refine=1&startTime=2026-06-15T08:30:00%2B02:00"
{
"routes": [ { "routeId": "3cee7bdd-…", "features": [ … geometri … ] }, … ],
"_billing": {
"source": "svv-ruteplan-v3",
"refined": true, // true = NVDB-eksakt + timesregel-korrigert
"routes": [{
"routeId": "3cee7bdd-…", // matcher routes[i].routeId
"tollSmall": 33.6, // NOK, liten bil MED AutoPASS-avtale (20 % rabatt)
"tollSmallNoDiscount": 42, // NOK, liten bil uten brikke
"tollLarge": 100, // NOK, stor bil (>3,5 t)
"tollLargeNoDiscount": 100,
"tollCount": 1, // antall belastede passeringer
"rush": true, // rushtidstakst brukt (hverdag 06:30–09 / 15–17)
"ferryCount": 2, // antall ferjekryssinger på ruten
"ferryPriced": true, // false = en kryssing mangler takst (se ferryUnpriced)
"ferryVehicleClass": "AP1", // klassen ferjeprisene gjelder (fra ?ferryClass / ?vehicleLength)
"ferryNok": 354, // NOK, ferje totalt — standardtakst for klassen
"ferryNokEv": 270, // NOK, nullutslipp (el OG hydrogen)
"ferryNokAutopass": 214, // NOK, med AutoPASS-ferje-avtale (forhåndsbetalt)
"distance": 44280, // meter
"durationMin": 43, // minutter (durationSec finnes også, men inneholder av historiske grunner samme minutt-verdi — bruk durationMin)
"chargedStations": [ { "name": "…", "smallNok": 42, … } ]
}]
}
}
tollSmall (med brikke) eller tollSmallNoDiscount (uten) fra
_billing.routes[0], og send startTime = faktisk avreisetidspunkt
så rushtid og timesregel blir riktig.ferryNok/ferryNokEv/ferryNokAutopass) gjelder klassen i
ferryVehicleClass — sett ferryClass=MC|AP1…AP9 eller
vehicleLength=<meter> for andre kjøretøy enn personbil (henger, lastebil,
vogntog). ferryNokEv er nullutslippstaksten og dekker BÅDE elbil og hydrogen.
heavy=1 styrer bompenger, ikke ferje. Ferjetakstene dekker AutoPASS-for-ferje;
når ferryPriced er false lister ferryUnpriced kommersielle
ferjer (f.eks. Bastø Moss–Horten) som du må prise selv. avoidTolls unngår kun bom,
ikke ferjer.5xx (vår eller
SVV sin feil) krediteres automatisk tilbake, så en oppstrøms-nedetid tømmer ikke dagskvoten din._billing til priser.
routes[].statistic er SVV sine rå bruttosummer (uten AutoPASS-rabatt og uten
timesregel) og kan være opptil flere ganger høyere enn riktig billettpris.
Sender du ikke refine=1 (eller hvis NVDB-matching er midlertidig
utilgjengelig) svarer API-et med "refined": false og hver rute får
"tollEstimated": true: da har _billing-tallenes tollSmall
AutoPASS-rabatten, men ikke timesregel- eller retningskorreksjon (Oslo bygrensesnitt
belastes f.eks. begge veier), så beløpet kan være for høyt på byruter eller for lavt der
SVV sin sum mangler en stasjon. Bruk refine=1 for eksakte takster til
fakturering; et avbrutt refine-kall flagges i tillegg med "refineFallback": true.
Ukjente registreringsnumre på /api/vehicle gir
404 {"error":"not_found"}.Alternativ ruteberegning (beta)
Uavhengig rutemotor (OSRM) med estimerte bompenger — nyttig som
sammenligning eller fallback. Samme from/to/via/startTime-parametre.
Svar i samme form som /api/route, men takstene er flagget som estimat
("source": "osrm-estimat"). Best effort: kan svare 502.
Ferjekaier
Alle norske ferjekaier (NVDB objekttype 64) med navn og koordinater. Mellomlagres hos oss i 24 t — teller ikke på kvoten.
Datasett
Rådata som JSON-dumper — gratis, teller ikke på kvoten, oppdateres fra NVDB:
| URL | Innhold |
|---|---|
/data/toll-stations.json | 438+ bomstasjoner: takster (liten/stor, rush), operatør, timesregel-gruppe, koordinater, kommune |
/data/speed-cameras.json | 450 fotobokser (NVDB ATK-punkt) med koordinater |
Oppskrift: bompenger på reiseregningen
Typisk flyt for et reiseregnings-/CRM-system:
- 1. Ved registrering av firmabil/ansattbil:
GET /api/vehicle?plate=…én gang → lagre drivstoff + vektklasse hos dere. - 2. Per tur:
GET /api/route?from=…&to=…&refine=1&startTime=<avreise>(+heavy=1hvis >3,5 t). - 3. Les
_billing.routes[0].tollSmall(med AutoPASS) ellertollSmallNoDiscount(uten) → før beløpet på reiseregningen. Tur-retur = to kall med hver sinstartTime(takstene kan være retningsavhengige).
Adresse → koordinater: bruk f.eks. Entur Geocoder
(gratis, norsk dekning) før kallet til /api/route.
Support
Tekniske spørsmål: hello@bompengeappen.no — vi svarer raskt på hverdager. Endringer i API-et varsles på e-post til alle aktive kunder i god tid.