De NS heeft de langverwachte API waarmee ontwikkelaars toegang krijgen tot reisdata eindelijk vrijgegeven. Hierbij wordt wel een maximum gesteld aan het aantal requests dat bij de API mag worden gedaan: 50.000 per dag per onderdeel.
In de API van de NS zijn verschillende onderdelen te vinden waarover informatie wordt gegeven waaronder prijzen, actuele vertrektijden, storingen en reisadviezen. Bij elk onderdeel stopt de dienst wanneer er meer dan 50.000 keer een reisadvies is opgevraagd.
Het staat nog niet in steen geschreven dat dit zo zal blijven. De API is in een beta-stadium. Op ieder moment kan de NS de API aanpassen. Ontwikkelaars zouden hiervan tijdig op de hoogte gesteld worden. De NS stipt aan de dit ook betekent dat de dienstverlening op elk moment gestopt kan worden.
Er worden minimaal 10 vertrektijden per request geretourneerd en minimaal de vertrektijden voor het komende uur. In het geval van bijvoorbeeld Utrecht Centraal, waar meer dan 10 treinen per uur vertrekken, wordt alle vertrekinformatie voor het komende uur getoond.
Er wordt geen echte ondersteuning voor ontwikkelaars geboden. Wel is er een platform waar ‘regelmatig’ NS-medewerkers aanwezig zijn.
Een van de voorwaarden voor het gebruik van de API is dat de ontwikkelaar niet het logo van de NS gebruikt. Ook mogen vanzelfsprekend gegevens niet worden gemanipuleerd.
Eerder was het verhaal dat de NS geen reisinformatie wilde vrijgeven vanwege ‘beveiligingsissues’ en de ‘kwaliteitsbewaking’ zou in het gedrang kunnen komen. Actuele informatie zou hetzelfde moeten zijn op internet, mobiel en de vertrekborden, aldus de NS toentertijd. Met de nieuwe API geeft de NS nu ook actuele reisinformatie uit handen. Dat zou het probleem met kwaliteitsbewaking op moeten lossen.
















Goeie actie van NS om een API open te stellen. Max 50.000 per dag per service, dat zijn best gebruikelijke aantallen (vgl Amazon Product Advertising API): met caching van de API responses kom je een heel eind. Dus 10.000 zoekopdrachten Utrecht – Amsterdam is 1 API aanroep, als je applicatie zelf de info in je cache zet. In elk geval zijn we voor de correcte werking hier niet afhankelijk van ProRail