API

API-et til Trafikk NåThe Trafikk Nå API

Stengte veier, veiarbeid, ulykker og hendelser på veiene i Norge, slik dette nettstedet viser dem, som JSON eller GeoJSON. Gratis i 5 dager med en testnøkkel, deretter med en plan.Closed roads, roadworks, accidents and incidents on Norway's roads, as this website shows them, in JSON or GeoJSON. Free for 5 days with a trial key, then on a paid plan.

Kildeangivelse er påkrevd i alle planerAttribution is required on every plan

Det samme gjelder i testperioden, i de betalte planene og i Bedrift: hver app, hvert nettsted eller produkt som viser data fra dette API-et, viser godt synlig «Data: Trafikk Nå» med lenke til trafikkna.com. Til å kopiere:The same applies on the trial, the paid plans and Enterprise: every app, website or product that shows data from this API displays “Data: Trafikk Nå” clearly, with a link to trafikkna.com. Ready to copy:

Data: <a href="https://trafikkna.com">Trafikk Nå</a>

I tillegg skal kildeangivelsene for de opprinnelige kildene i svaret beholdes (meta.sources og feltet source i hver melding): lisensene til myndighetene krever det. For Statens vegvesen er det «Made with data from The Norwegian Public Roads Administration» (NLOD 2.0).The original source credits in the response must also be kept (meta.sources and the source field of each report): the authorities' licences require them. For the Norwegian Public Roads Administration that is “Made with data from The Norwegian Public Roads Administration” (NLOD 2.0).

Kom i gangGetting started

Lag en testnøkkel nedenfor og legg den til forespørselen. Åpnet i nettleseren, med nøkkelen din til slutt, gir dette data med en gang:Create a trial key below and add it to the request. Opened in a browser with your key at the end, this returns data straight away:

https://trafikkna.com/api/v1/incidents?road=E6&type=veiarbeid&key=tn_…

Svaret er JSON. For et kart, legg til &format=geojson. I kode hører nøkkelen heller hjemme i headeren:The response is JSON. For a map, add &format=geojson. In code, the key is better sent in a header:

curl -H "X-API-Key: tn_…" "https://trafikkna.com/api/v1/incidents?county=vestland&type=stengning"

NøkkelenThe key

Hver forespørsel trenger en nøkkel. Nøkkelen du lager her, er en testnøkkel: den gjelder 5 dager fra første forespørsel, med 120 forespørsler i timen, så du kan sjekke om API-et passer til prosjektet ditt. Deretter trenger du en av planene nedenfor.Every request needs a key. The key you create here is a trial key: it is valid for 5 days from the first request, at 120 requests an hour, so you can check whether the API suits your project. After that you need one of the plans below.

Vi spør om navn, e-post og formål av tre grunner: for å varsle deg når en offentlig kilde faller ut; for å forstå hva API-et fortsatt mangler; og fordi en nøkkel som kan sperres, beskytter alle mot en løkke som har løpt løpsk.We ask for a name, email and purpose for three reasons: to warn you when an official source goes down; to understand what the API is still missing; and because a key that can be revoked protects everyone from a runaway loop.

Med en gang, uten godkjenning. Gjelder i 5 dager fra første forespørsel.Instant, no approval needed. Valid for 5 days from the first request.

PlanerPlans

Du betaler for tilgangen til tjenesten: spørringene, grensene og oppfølgingen. Selve dataene tilhører myndighetene som publiserer dem og står under deres lisenser; kildeangivelsene deres må følge med.What you pay for is access to the service: the queries, the limits and the support. The data itself belongs to the authorities that publish it and stays under their licences; their credits must be kept.

TestTrial

For alle, for å sjekke om API-et passerFor anyone, to check whether the API fits

GratisFree

5 dager5 days

  • 5 dager fra første forespørsel5 days from the first request
  • 120 forespørsler i timen120 requests an hour
  • Kildeangivelse påkrevdAttribution required

PersonligPersonal

Private eller små prosjekter uten nevneverdige inntekterPrivate or small projects without significant revenue

15 €€15

per måned, inkl. mva.per month, incl. VAT

  • Rundt 10 000 forespørsler per dagAbout 10,000 requests a day
  • NorgeNorway
  • Kildeangivelse påkrevdAttribution required

ProfesjonellProfessional

Kommersielle apper, reklamefinansierte nettsteder, bruk i en bedriftCommercial apps, ad-funded websites, use within a company

79 €€79

per måned, inkl. mva.per month, incl. VAT

  • Rundt 100 000 forespørsler per dagAbout 100,000 requests a day
  • Varsel på e-post når en kilde faller utEmail alert when a source goes down
  • Kildeangivelse påkrevdAttribution required

BedriftEnterprise

Flåter, forsikring, medier, flere land, SLAFleets, insurers, media, several countries, SLA

Etter avtaleOn request

Tilbud etter omfangQuote based on volume

  • Avtalte grenser og SLAAgreed limits and SLA
  • Flere land via RoadscoreSeveral countries through Roadscore
  • KontraktContract

ViaThrough Roadscore elleror [email protected].

Slik får du en plan: skriv til [email protected] med navnet på prosjektet og hvordan du vil bruke dataene. Vi svarer med riktig plan og en faktura, og bytter nøkkelen din over; den forblir den samme. Planene Personlig og Profesjonell faktureres månedlig.How to get a plan: write to [email protected] with the name of your project and how you plan to use it. We reply with the right plan and an invoice, and switch your key over; it stays the same. The Personal and Professional plans are billed monthly.

Endepunkt og parametereEndpoint and parameters

GET /api/v1/incidents gir meldingene som kartet og sidene til Trafikk Nå viser, fra samme kilde og i samme øyeblikk. Alle parametere er valgfrie og kan kombineres; skill flere verdier med komma. En ukjent verdi gir feil 400 med de tillatte verdiene, aldri en stille tom liste.GET /api/v1/incidents returns the reports that the map and the pages of Trafikk Nå show, from the same source at the same moment. All parameters are optional and can be combined; separate multiple values with commas. An unknown value returns a 400 error listing the allowed values, never a silently empty list.

ParameterVerdierValuesTil hvaPurpose
roadE6, E39, Rv7, Fv55Veien, som i /vei/e6. Også vei=.The road, as in /vei/e6. Also vei=.
countyoslo, akershus, ostfold …Fylke, som slug som i /trafikk/vestland eller som navn. Også fylke=. De 15 slugene:County, as a slug as in /trafikk/vestland or by name. Also fylke=. The 15 slugs: oslo, akershus, ostfold, buskerud, innlandet, vestfold, telemark, agder, rogaland, vestland, more-og-romsdal, trondelag, nordland, troms, finnmark.
citybergen, trondheim, stavanger …En av byene med egen side, som i /trafikk/bergen. Også by=.One of the cities with its own page, as in /trafikk/bergen. Also by=.
typeveiarbeid, kø, ulykke, hendelse, stengning, stengtType melding. Engelsk går også: roadworks, queue, accident, incident, closure. stengning er alle meldinger med stengt felt, vei, avkjøring eller rasteplass; stengt bare helt stengt vei.Type of report. English works too: roadworks, queue, accident, incident, closure. stengning covers every report with a closed lane, road, exit or rest area; stengt only fully closed roads.
closurefull, lanes, slip, layby, anyHva som er stengt: full er en helt stengt vei.What is closed: full is a fully closed road.
statusactive, scheduledGjelder nå eller er planlagt.In force now or planned.
severityinfo, low, medium, high, criticalAlvorlighet, som på kartet.Severity, as on the map.
sourcevegvesenBare meldinger fra én kilde.Only reports from one source.
bbox10.5,59.8,11.0,60.0Område: minLon,minLat,maxLon,maxLat i WGS84.Area: minLon,minLat,maxLon,maxLat in WGS84.
limit1 til 10000 (1000)1 to 10000 (1000)Høyst så mange meldinger: først de som gjelder, de sist oppdaterte først, deretter de planlagte, de nærmeste først.At most this many reports: those in force first, most recently updated first, then planned ones, soonest first.
formatjson (standard), geojsonjson (default), geojsonJSON for lister, GeoJSON for kart.JSON for lists, GeoJSON for maps.
keytn_…Nøkkelen din, hvis den ikke sendes i headeren X-API-Key eller Authorization: Bearer.Your key, if not sent in the X-API-Key or Authorization: Bearer header.

EksempelExample

Formen på et svar fra API-et, forkortet:The shape of an API response, shortened:

GET https://trafikkna.com/api/v1/incidents?road=E6&type=veiarbeid&status=active&limit=1
{
  "attribution": {
    "text": "Data: Trafikk Nå",
    "url": "https://trafikkna.com"
  },
  "meta": {
    "count": 1,
    "total": 48,
    "generatedAt": "2026-10-23T09:12:04.511Z",
    "licence": "Data: Trafikk Nå (trafikkna.com), via Roadscore, fra de offentlige kildene i sources. Kildeangivelse er påkrevd i alle planer, for Trafikk Nå og for hver opprinnelige kilde.",
    "sources": [
      {
        "id": "vegvesen",
        "credit": "Made with data from The Norwegian Public Roads Administration",
        "licence": "Norsk lisens for offentlige data (NLOD) 2.0",
        "licenceUrl": "https://data.norge.no/nlod/no/2.0"
      }
    ]
  },
  "incidents": [
    {
      "id": "vegvesen-NPRA_HBT_23-10-2026.1234",
      "type": "roadworks",
      "severity": "medium",
      "status": "active",
      "lat": 60.79,
      "lon": 11.08,
      "title": "Vegarbeid · E6, Hamar",
      "description": "Vegarbeid. Redusert framkommelighet.",
      "source": "vegvesen",
      "road": "E6",
      "roadClass": "E",
      "closure": "lanes",
      "land": "innlandet",
      "startedAt": "2026-10-20T05:00:00.000Z",
      "endsAt": "2026-11-15T15:00:00.000Z",
      "updatedAt": "2026-10-23T08:47:00.000Z"
    }
  ]
}

Feltene i svaretResponse fields

  • attribution: teksten og lenken du må vise. Det samme står i headeren X-Attribution.the text and link you must display. The same content comes in the X-Attribution header.
  • meta.count ogand meta.total: meldinger i svaret og treff før limit.reports in the response and matches before the limit.
  • meta.generatedAt: når dataene ble hentet.when the data was fetched.
  • meta.sources: hver kilde i svaret med kildeangivelse og lisens. Disse opplysningene må du beholde.every source in the response with its credit and licence. You must keep these.
  • id, type, severity, status, lat, lon: ID, type, alvorlighet, om den gjelder nå eller er planlagt, posisjon.ID, type, severity, whether in force or planned, position.
  • title ogand description: kort tittel og kildens ordlyd.short title and the source's own wording.
  • road, roadClass, direction, location: vei, veiklasse (E, R, F, K), retning, strekning.road, road class (E, R, F, K), direction, section.
  • closure, overnight, windows, hours: hva som er stengt og når, slik kilden publiserer tidsrommene.what is closed and when, as the source publishes the time windows.
  • land, city: fylke og by som slug.county and city as slugs.
  • startedAt, endsAt, updatedAt: start, slutt, siste endring (ISO 8601, UTC).start, end, last change (ISO 8601, UTC).
  • source, sourceUrl: den offentlige kilden og siden dens.the official source and its website.

Felt uten verdi er utelatt i stedet for å være null.Fields without a value are left out rather than set to null.

FeilErrors

  • 400: en parameter med ukjent verdi; detail sier hvilke som er tillatt.a parameter with an unknown value; detail lists the allowed ones.
  • 401: ingen nøkkel.no key.
  • 402: testperioden er over. For en plan, skriv til [email protected].the trial period has ended. For a plan, write to [email protected].
  • 403: nøkkelen er sperret; detail sier hvorfor.the key has been revoked; detail gives the reason.
  • 429: grensen er nådd; headeren retry-after sier ventetiden i sekunder.limit reached; the retry-after header gives the wait in seconds.

I testperioden sier headeren X-API-Trial-Ends når testperioden slutter.During the trial, the X-API-Trial-Ends header gives the end of the trial period.

GrenserLimits

Test: 120 forespørsler i timen. Personlig: rundt 10 000 per dag. Profesjonell: rundt 100 000 per dag. Bedrift: etter avtale. Det telles per nøkkel, ikke per IP, så en app med mange brukere ikke bremses av én av dem. Headerne X-RateLimit-Limit, X-RateLimit-Remaining og X-RateLimit-Reset viser hvor du står.Trial: 120 requests an hour. Personal: about 10,000 a day. Professional: about 100,000 a day. Enterprise: by agreement. Limits are counted per key, not per IP, so an app with many users is not held back by any one of them. The X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers show where you stand.

Dataene hentes på nytt omtrent en gang i minuttet: å spørre oftere enn hvert 30. sekund gir ingen nye meldinger. CORS er åpent, så du kan kalle API-et rett fra nettleseren.The data is refreshed about once a minute: asking more often than every 30 seconds brings no new reports. CORS is open, so you can call the API straight from the browser.

Vilkår og kildeangivelseTerms of use and attribution

Med en testnøkkel eller en betalt plan: å drive et produkt basert på dette API-et uten gyldig nøkkel eller uten kildeangivelse er ikke tillatt bruk.On a trial key or a paid plan: running a product built on this API without a valid key or without attribution is not permitted use.

Kildeangivelse er påkrevd i alle planerAttribution is required on every plan

Det samme gjelder i testperioden, i de betalte planene og i Bedrift: hver app, hvert nettsted eller produkt som viser data fra dette API-et, viser godt synlig «Data: Trafikk Nå» med lenke til trafikkna.com. Til å kopiere:The same applies on the trial, the paid plans and Enterprise: every app, website or product that shows data from this API displays “Data: Trafikk Nå” clearly, with a link to trafikkna.com. Ready to copy:

Data: <a href="https://trafikkna.com">Trafikk Nå</a>

I tillegg skal kildeangivelsene for de opprinnelige kildene i svaret beholdes (meta.sources og feltet source i hver melding): lisensene til myndighetene krever det. For Statens vegvesen er det «Made with data from The Norwegian Public Roads Administration» (NLOD 2.0).The original source credits in the response must also be kept (meta.sources and the source field of each report): the authorities' licences require them. For the Norwegian Public Roads Administration that is “Made with data from The Norwegian Public Roads Administration” (NLOD 2.0).

Dataene kommer fra Statens vegvesen og når oss via Roadscore. Kildeangivelsene, slik leverandørene krever dem:The data comes from the Norwegian Public Roads Administration and reaches us through Roadscore. The credits, as the providers require them:

Ærlig om dekningenHonest about coverage

API-et gir det de offentlige kildene har publisert, ikke det som skjer på veien akkurat nå. En vei uten melding er ikke en åpen vei, men en vei ingen har publisert noe om. Meldingene kommer fra Statens vegvesen og dekker europaveier, riksveier og fylkesveier i hele landet. Kommunale veier er bare med når vegvesenet melder dem.The API returns what the official sources have published, not what is happening on the road right now. A road with no report is not a clear road, just one nobody has published anything about. The reports come from the Norwegian Public Roads Administration and cover European, national and county roads across the country. Municipal roads appear only when the administration reports them.

Bygger du varsler på det, si det til brukerne dine. Og ikke bruk API-et til beslutninger i nødsituasjoner: ved nød, ring 112.If you build alerts on it, tell your users so. And do not use the API for emergency decisions: in an emergency, call 112.

KontaktContact

Spørsmål, en plan, en mistet nøkkel eller en kilde som mangler: [email protected]. Sidene om stengte veier og veiarbeid viser de samme dataene som API-et gir.Questions, a plan, a lost key or a missing source: [email protected]. The closed roads and roadworks pages show the same data the API returns.