Het is helaas nog altijd in Nederland moeilijk voor ontwikkelaars om toegang te krijgen tot webservies die gratis informatie geven over openbaar vervoer.

De NS kwam een tijd geleden eindelijk met een eigen API, maar deze is nog altijd in bèta stadium en informatie is nog niet volledig. Zo is er geen overzicht op te vragen van de dienstregeling van één bepaalde trein, bijvoorbeeld op basis van ritnummer.
De Somda API, die o.a. gebruikt wordt in de iPhone app trein, biedt deze informatie over dienstregelingen per trein wel. De Somda API is vrij te gebruiken, echter niet voor commerciële doeleinden.

Aan de NS API is verder jammer dat er alleen XML als output beschikbaar is, en niet het lichtere JSON. Tenslotte protesteert de stylist in mij heel erg bij inconsistent taalgebruik in de XML: Nederlands in de vertrektijden feed, en Engels in de overige gedeeltes van de NS API.

Als alternatief is er openOV. Openov is een heel mooi initiatief om data van vervoerders samen te brengen en toegankelijk te maken op een open manier. Het project is nog volop in ontwikkeling. En misschien daardoor nog niet altijd even bruikbaar. Zo is de documentatie nog rommelig en te specifiek voor ontwikkelaars die zich niet willen verdiepen in de achterliggende techniek. Er wordt zonder algemene inleiding veelvuldig gestrooid met termen als koppelvlakken, BISON en PubSub. Verder is openOV een verzameling van verschillende deelprojecten, waarbij een duidelijk overzicht op één plek ontbreekt. Zo is er documentatie voor de : KV78Turbo REST API (met documentatie), een project pagina, een Google Group, ruwe data voor die die-hards, en een NS API zonder documentatie.

Ondanks deze kritiek hoop ik dat ontwikkeling aan het project door blijft gaan, en zal leiden tot een voor iedereen toegankelijke REST interface, waarmee gemakkelijk actuele vertrektijden en dienstregelen van al het OV in Nederland opgevraagd kan worden. Het begin is er in elk geval, met de KV78Turbo API.

Dan is er nog 9292ov met hun open data initiatief. Opzich mooi, dat men zich ten doel stelt om data openbaar te maken via downloadbare datacollecties. Maar waar het meeste behoefte aan is onder bouwers van apps – een API waarmee dynamische data kan worden opgevraagd – ontbreekt het nog steeds. Ondanks aankondigingen in 2011 dat dit snel zou gaan gebeuren.

Er is stiekem echter wel een REST API beschikbaar die wordt gebruikt door de mobiele app van 9292ov.nl. Met een HTTP debugger als Charles kan je de calls naar https://api.9292.nl/0.1/ eenvoudig achterhalen. Je moet dan alleen nog wat instellen om communicatie via SSL te decoderen.

Maar helaas wordt deze API niet officieel ter beschikking gesteld aan het grote publiek. Hopelijk komt hier snel verandering in!

Update 25.03.2014 Bovenstaande API is inmiddels op Github uitgebreid gedocumenteerd! Knap gedaan. github.com/timvanelsloo/9292-api-spec.

In de tussentijd ben ik aan het experimenteren met de NS API in een Windows WPF applicatie met Metro interface. (zie post over Metro en WPF voor meer informatie).

Deze app is hier te downloaden

5 Responses to “API’s voor actuele OV informatie in Nederland”

  1. We zullen eens wat gaan doen aan een net overzichtje 😉 Een van de belangrijkste doelstellingen is immers gehaald: http://ndovloket.nl/

    Verder is het wel leuk om te vermelden dat die KV78turbo REST api: http://ovapi.nl/ is 😉

    1. Gerwert says:

      Ik heb zojuist een linkje naar http://ovapi.nl/ toegevoegd :)

  2. De API van Somda is na een mailtje aan mij ook vrij te gebruiken, mits de gegevens niet worden ingezet voor commerciële doeleinden.

    1. Gerwert says:

      Tekst heb ik aangepast.

      Overigens denk ik dat juist onder app bouwers er vooral interesse is in API’s die commercieel te gebruiken zijn, zodat betaalde apps gebouwd kunnen worden.
      Nu weet ik niet hoe het is geregeld met commercieel gebruik van de Somda API zoals de app Trein dat doet, maar als de voorwaarden redelijk zijn lijkt me dat een hele mooie aanvulling op openov of de NS api.

  3. Somda wordt vrijwillig door mij en vele beheerders onderhouden vandaar dat ik niet wil dat die informatie zomaar overal voor gebruikt kan worden.
    Uiteraard valt overal over te praten, zo zijn er met de maker van de Tein App ook goede afspraken gemaakt.
    Ik ben bereikbaar via de Somda website :)

Leave a Reply





Human Verification