API

Liikenne Nytin rajapintaThe Liikenne Nyt API

Suljetut tiet, tietyöt, onnettomuudet ja häiriöt Suomen teillä, kuten tämä sivusto ne näyttää, JSON- tai GeoJSON-muodossa. Ilmainen 5 päivää testiavaimella, sen jälkeen paketilla.Closed roads, roadworks, accidents and incidents on Finland's roads, as this website shows them, in JSON or GeoJSON. Free for 5 days with a trial key, then on a paid plan.

Lähdemaininta vaaditaan kaikissa paketeissaAttribution is required on every plan

Sama koskee kokeilujaksoa, maksullisia paketteja ja Yritys-pakettia: jokainen sovellus, sivusto tai tuote, joka näyttää tämän rajapinnan tietoja, näyttää selvästi tekstin ”Data: Liikenne Nyt” ja linkin osoitteeseen liikennenyt.fi. Kopioitavaksi:The same applies on the trial, the paid plans and Enterprise: every app, website or product that shows data from this API displays “Data: Liikenne Nyt” clearly, with a link to liikennenyt.fi. Ready to copy:

Data: <a href="https://liikennenyt.fi">Liikenne Nyt</a>

Lisäksi vastauksen alkuperäisten lähteiden lähdemaininnat on säilytettävä (meta.sources ja jokaisen tiedotteen source-kenttä): viranomaisten lisenssit edellyttävät sitä. Fintrafficin kohdalla se on ”Source: Fintraffic / digitraffic.fi, license CC 4.0 BY” (CC BY 4.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 Fintraffic that is “Source: Fintraffic / digitraffic.fi, license CC 4.0 BY” (CC BY 4.0).

AloitaGetting started

Luo testiavain alla ja lisää se pyyntöön. Selaimessa avattuna, avaimesi lopussa, tämä palauttaa tietoja heti: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://liikennenyt.fi/api/v1/incidents?road=vt4&type=tietyo&key=ln_…

Vastaus on JSON-muodossa. Kartalle lisää &format=geojson. Koodissa avain kuuluu mieluummin otsakkeeseen: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: ln_…" "https://liikennenyt.fi/api/v1/incidents?county=pirkanmaa&type=sulku"

AvainThe key

Jokainen pyyntö tarvitsee avaimen. Täällä luomasi avain on testiavain: se on voimassa 5 päivää ensimmäisestä pyynnöstä, 120 pyyntöä tunnissa, jotta voit tarkistaa, sopiiko rajapinta projektiisi. Sen jälkeen tarvitset jonkin alla olevista paketeista.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.

Kysymme nimeä, sähköpostia ja käyttötarkoitusta kolmesta syystä: voidaksemme kertoa, kun julkinen lähde katkeaa; ymmärtääksemme, mitä rajapinnasta vielä puuttuu; ja koska estettävissä oleva avain suojaa kaikkia karanneelta silmukalta.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.

Heti, ilman hyväksyntää. Voimassa 5 päivää ensimmäisestä pyynnöstä.Instant, no approval needed. Valid for 5 days from the first request.

PaketitPlans

Maksat palvelun käytöstä: kyselyistä, rajoista ja tuesta. Itse tiedot kuuluvat ne julkaiseville viranomaisille ja ovat niiden lisenssien alaisia; niiden lähdemaininnat on säilytettävä.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.

KokeiluTrial

Kaikille, rajapinnan sopivuuden kokeiluunFor anyone, to check whether the API fits

IlmainenFree

5 päivää5 days

  • 5 päivää ensimmäisestä pyynnöstä5 days from the first request
  • 120 pyyntöä tunnissa120 requests an hour
  • Lähdemaininta vaaditaanAttribution required

HenkilökohtainenPersonal

Yksityiset tai pienet projektit ilman mainittavia tulojaPrivate or small projects without significant revenue

15 €€15

kuukaudessa, sis. alv.per month, incl. VAT

  • Noin 10 000 pyyntöä päivässäAbout 10,000 requests a day
  • SuomiFinland
  • Lähdemaininta vaaditaanAttribution required

AmmattilainenProfessional

Kaupalliset sovellukset, mainosrahoitteiset sivustot, yrityskäyttöCommercial apps, ad-funded websites, use within a company

79 €€79

kuukaudessa, sis. alv.per month, incl. VAT

  • Noin 100 000 pyyntöä päivässäAbout 100,000 requests a day
  • Sähköposti-ilmoitus, kun lähde katkeaaEmail alert when a source goes down
  • Lähdemaininta vaaditaanAttribution required

YritysEnterprise

Kalustot, vakuutus, media, useita maita, SLAFleets, insurers, media, several countries, SLA

Sopimuksen mukaanOn request

Tarjous laajuuden mukaanQuote based on volume

  • Sovitut rajat ja SLAAgreed limits and SLA
  • Useita maita Roadscoren kauttaSeveral countries through Roadscore
  • SopimusContract

PalvelunThrough Roadscore kautta taior [email protected].

Näin saat paketin: kirjoita osoitteeseen [email protected] projektin nimi ja käyttötarkoitus. Vastaamme sopivalla paketilla ja laskulla ja siirrämme avaimesi pakettiin; avain pysyy samana. Paketit Henkilökohtainen ja Ammattilainen laskutetaan kuukausittain.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.

Päätepiste ja parametritEndpoint and parameters

GET /api/v1/incidents palauttaa tiedotteet, jotka Liikenne Nytin kartta ja sivut näyttävät, samasta lähteestä samalla hetkellä. Kaikki parametrit ovat valinnaisia ja yhdisteltävissä; erota useat arvot pilkulla. Tuntematon arvo antaa virheen 400 sallittuine arvoineen, ei koskaan hiljaista tyhjää listaa.GET /api/v1/incidents returns the reports that the map and the pages of Liikenne Nyt 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.

ParametriParameterArvotValuesMihinPurpose
roadE18, vt4, kt51, st130Tie, kuten osoitteessa /tie/vt4. Myös tie=.The road, as in /tie/vt4. Also tie=.
countyuusimaa, varsinais-suomi, satakunta …Maakunta tunnisteena, kuten osoitteessa /liikenne/pirkanmaa. Myös maakunta=. Kaikki 19 tunnistetta:Region, as a slug as in /liikenne/pirkanmaa. Also maakunta=. The 19 slugs: uusimaa, varsinais-suomi, satakunta, kanta-hame, pirkanmaa, paijat-hame, kymenlaakso, etela-karjala, etela-savo, pohjois-savo, pohjois-karjala, keski-suomi, etela-pohjanmaa, pohjanmaa, keski-pohjanmaa, pohjois-pohjanmaa, kainuu, lappi, ahvenanmaa.
cityhelsinki, espoo, tampere …Jokin omalla sivulla olevista kaupungeista, kuten osoitteessa /liikenne/tampere. Myös kaupunki=.One of the cities with its own page, as in /liikenne/tampere. Also kaupunki=.
typetietyo, jono, onnettomuus, hairio, sulku, suljettuTiedotteen tyyppi. Myös englanniksi: roadworks, queue, accident, incident, closure. sulku kattaa kaikki tiedotteet, joissa kaista, tie, ramppi tai levähdysalue on suljettu; suljettu vain kokonaan suljetut tiet.Type of report. English works too: roadworks, queue, accident, incident, closure. sulku covers every report with a closed lane, road, ramp or rest area; suljettu only fully closed roads.
closurefull, lanes, slip, layby, anyMikä on suljettu: full on kokonaan suljettu tie.What is closed: full is a fully closed road.
statusactive, scheduledVoimassa nyt tai suunniteltu.In force now or planned.
severityinfo, low, medium, high, criticalVakavuus, kuten kartalla.Severity, as on the map.
sourcedigitrafficVain yhden lähteen tiedotteet.Only reports from one source.
bbox24.8,60.1,25.1,60.3Alue: minLon,minLat,maxLon,maxLat WGS84-koordinaateissa.Area: minLon,minLat,maxLon,maxLat in WGS84.
limit1–10000 (1000)1 to 10000 (1000)Enintään näin monta tiedotetta: ensin voimassa olevat, viimeksi päivitetyt ensin, sitten suunnitellut, lähimmät ensin.At most this many reports: those in force first, most recently updated first, then planned ones, soonest first.
formatjson (oletus), geojsonjson (default), geojsonJSON listoille, GeoJSON kartoille.JSON for lists, GeoJSON for maps.
keyln_…Avaimesi, jos sitä ei lähetetä otsakkeessa X-API-Key tai Authorization: Bearer.Your key, if not sent in the X-API-Key or Authorization: Bearer header.

EsimerkkiExample

Rajapinnan vastauksen muoto lyhennettynä:The shape of an API response, shortened:

GET https://liikennenyt.fi/api/v1/incidents?road=vt4&type=tietyo&status=active&limit=1
{
  "attribution": {
    "text": "Data: Liikenne Nyt",
    "url": "https://liikennenyt.fi"
  },
  "meta": {
    "count": 1,
    "total": 31,
    "generatedAt": "2026-10-23T09:12:04.511Z",
    "licence": "Tiedot: Liikenne Nyt (liikennenyt.fi), Roadscoren kautta, sources-kentän julkisista lähteistä. Lähdemaininta vaaditaan kaikissa paketeissa, sekä Liikenne Nytille että jokaiselle alkuperäiselle lähteelle.",
    "sources": [
      {
        "id": "digitraffic",
        "credit": "Source: Fintraffic / digitraffic.fi, license CC 4.0 BY",
        "licence": "CC BY 4.0",
        "licenceUrl": "https://creativecommons.org/licenses/by/4.0/deed.fi"
      }
    ]
  },
  "incidents": [
    {
      "id": "digitraffic-GUID50472508",
      "type": "roadworks",
      "severity": "medium",
      "status": "active",
      "lat": 65.023258,
      "lon": 25.508501,
      "title": "Tietyö · vt 4, Oulu",
      "description": "Tie 4, eli Pohjantie, Oulu. Tarkempi paikka: Paikasta Laanilan liittymä 400 m, vaikutusalue 200 m, suuntaan Kontinkankaan liittymä.",
      "source": "digitraffic",
      "road": "Vt4",
      "roadClass": "V",
      "land": "pohjois-pohjanmaa",
      "city": "oulu",
      "startedAt": "2026-10-21T21:00:00.000Z",
      "updatedAt": "2026-10-19T16:44:03.339Z"
    }
  ]
}

Vastauksen kentätResponse fields

  • attribution: teksti ja linkki, jotka sinun on näytettävä. Sama sisältö tulee otsakkeessa X-Attribution.the text and link you must display. The same content comes in the X-Attribution header.
  • meta.count jaand meta.total: vastauksen tiedotteet ja osumat ennen limit-rajausta.reports in the response and matches before the limit.
  • meta.generatedAt: milloin tiedot haettiin.when the data was fetched.
  • meta.sources: jokainen vastauksen lähde lähdemainintoineen ja lisensseineen. Nämä tiedot on säilytettävä.every source in the response with its credit and licence. You must keep these.
  • id, type, severity, status, lat, lon: tunniste, tyyppi, vakavuus, onko voimassa vai suunniteltu, sijainti.ID, type, severity, whether in force or planned, position.
  • title jaand description: lyhyt otsikko ja lähteen oma sanamuoto.short title and the source's own wording.
  • road, roadClass, direction, location: tie, tieluokka (V valtatie, K kantatie, S seututie, Y yhdystie), suunta, osuus.road, road class (V main, K regional, S secondary, Y connecting), direction, section.
  • closure, overnight, windows, hours: mikä on suljettu ja milloin, kuten lähde aikaikkunat julkaisee.what is closed and when, as the source publishes the time windows.
  • land, city: maakunta ja kaupunki tunnisteina.region and city as slugs.
  • startedAt, endsAt, updatedAt: alku, loppu, viimeisin muutos (ISO 8601, UTC).start, end, last change (ISO 8601, UTC).
  • source, sourceUrl: julkinen lähde ja sen sivusto.the official source and its website.

Kentät ilman arvoa jätetään pois sen sijaan, että ne olisivat null.Fields without a value are left out rather than set to null.

VirheetErrors

  • 400: parametrilla on tuntematon arvo; detail kertoo sallitut arvot.a parameter with an unknown value; detail lists the allowed ones.
  • 401: ei avainta.no key.
  • 402: kokeilujakso on päättynyt. Pakettia varten kirjoita osoitteeseen [email protected].the trial period has ended. For a plan, write to [email protected].
  • 403: avain on estetty; detail kertoo syyn.the key has been revoked; detail gives the reason.
  • 429: raja on täynnä; otsake retry-after kertoo odotusajan sekunteina.limit reached; the retry-after header gives the wait in seconds.

Kokeilujakson aikana otsake X-API-Trial-Ends kertoo, milloin jakso päättyy.During the trial, the X-API-Trial-Ends header gives the end of the trial period.

RajatLimits

Kokeilu: 120 pyyntöä tunnissa. Henkilökohtainen: noin 10 000 päivässä. Ammattilainen: noin 100 000 päivässä. Yritys: sopimuksen mukaan. Rajat lasketaan avainkohtaisesti, ei IP-osoitteittain, joten monen käyttäjän sovellusta ei hidasta yksi heistä. Otsakkeet X-RateLimit-Limit, X-RateLimit-Remaining ja X-RateLimit-Reset näyttävät tilanteesi.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.

Tiedot haetaan uudelleen noin kerran minuutissa: useammin kuin 30 sekunnin välein kysyminen ei tuo uusia tiedotteita. CORS on auki, joten voit kutsua rajapintaa suoraan selaimesta.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.

Käyttöehdot ja lähdemainintaTerms of use and attribution

Testiavaimella tai maksullisella paketilla: tähän rajapintaan perustuvan tuotteen ylläpitäminen ilman voimassa olevaa avainta tai ilman lähdemainintaa ei ole sallittua käyttöä.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.

Lähdemaininta vaaditaan kaikissa paketeissaAttribution is required on every plan

Sama koskee kokeilujaksoa, maksullisia paketteja ja Yritys-pakettia: jokainen sovellus, sivusto tai tuote, joka näyttää tämän rajapinnan tietoja, näyttää selvästi tekstin ”Data: Liikenne Nyt” ja linkin osoitteeseen liikennenyt.fi. Kopioitavaksi:The same applies on the trial, the paid plans and Enterprise: every app, website or product that shows data from this API displays “Data: Liikenne Nyt” clearly, with a link to liikennenyt.fi. Ready to copy:

Data: <a href="https://liikennenyt.fi">Liikenne Nyt</a>

Lisäksi vastauksen alkuperäisten lähteiden lähdemaininnat on säilytettävä (meta.sources ja jokaisen tiedotteen source-kenttä): viranomaisten lisenssit edellyttävät sitä. Fintrafficin kohdalla se on ”Source: Fintraffic / digitraffic.fi, license CC 4.0 BY” (CC BY 4.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 Fintraffic that is “Source: Fintraffic / digitraffic.fi, license CC 4.0 BY” (CC BY 4.0).

Tiedot tulevat Fintrafficilta ja saapuvat meille Roadscoren kautta. Lähdemaininnat tietojen tuottajien vaatimassa muodossa:The data comes from Fintraffic and reaches us through Roadscore. The credits, as the providers require them:

Rehellisesti kattavuudestaHonest about coverage

Rajapinta palauttaa sen, mitä julkiset lähteet ovat julkaisseet, ei sitä, mitä tiellä tapahtuu juuri nyt. Tie ilman tiedotetta ei ole vapaa tie, vaan tie, josta kukaan ei ole julkaissut mitään. Tiedot tulevat Fintrafficilta ja kattavat maantiet koko maassa: valta-, kanta-, seutu- ja yhdystiet. Katuja on mukana vain, kun Fintraffic niistä tiedottaa.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 Fintraffic and cover public roads across the country: main, regional and connecting roads. City streets appear only when Fintraffic reports them.

Jos rakennat sen varaan ilmoituksia, kerro se käyttäjillesi. Äläkä käytä rajapintaa hätätilanteiden päätöksiin: hätätilanteessa soita 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.

YhteystiedotContact

Kysymykset, paketti, kadonnut avain tai puuttuva lähde: [email protected]. Sivut suljetut tiet ja tietyöt näyttävät samat tiedot, jotka rajapinta palauttaa.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.