Vervoersdata-API voor het VK en Ierland
Elke halte, elke dienstregeling, één API-sleutel.
Bus, tram en trein in heel Groot-Brittannië en Ierland. Reisplanning met treintarieven, actuele treintijden van National Rail, actuele bussen gekoppeld aan hun precieze rit, gemeten stiptheid van bussen, verstoringen die bij je route passen, en dienstregelingen die elke ochtend worden ververst. Allemaal officiële open data, als eenvoudige JSON.
Gratis abonnement, geen creditcard. 200 verzoeken per dag.
GET /v1/bus/vehicles.json?lat=53.4794&lon=-2.2453
{
"line": "197",
"operator": "Bee Network",
"destination": "Chorlton Street Coach Station",
"latitude": 53.476608,
"longitude": -2.241816,
"delay_seconds": -104
}
Antwoorden die geen dienstregeling kan geven
Gebouwd uit elke bus die TransCAPI volgt en elk vertrek in de dienstregeling, niet alleen het volgende.
Bereikbaarheid
Waar kan ik komen in 30 minuten?
Het gebied dat met het openbaar vervoer bereikbaar is vanaf elk punt in Groot-Brittannië of Ierland, als GeoJSON klaar voor een kaart, of de reistijd van één plek naar maximaal 500 andere in één verzoek. Voor woningzoeken, werving, locatiekeuze of 'welke plek is voor iedereen het makkelijkst?'
Handleiding bereikbaarheid
Stiptheid
Hoe betrouwbaar is deze bus echt?
Gemeten, niet volgens dienstregeling: op tijd, te laat en veel te laat per lijn, per halte en per uur, uit elke gevolgde bus bij elk meetpunt, volgens de definitie van op tijd van de Traffic Commissioners.
Handleiding stiptheidUit 132,938 waargenomen haltepassages. Slechtst om 13:00, 58% op tijd. Live uit /v1/bus/reliability.json.
Overstappen
Haal ik mijn overstap?
Elke reis met een overstap zegt hoe vaak die overstap de afgelopen weken echt lukte met precies die bussen. Een overstap van 2 minuten die er op papier prima uitziet en één dag op de vier lukt, wil je kennen voordat je bij de halte staat.
Hoe het wordt berekend# Sheffield station to Crookes, 08:00
GET /v1/journey.json?from_lat=53.378&from_lon=-1.462
&to_lat=53.386&to_lon=-1.513
"connection_chance_pct": 25,
"connections": [
{
"at": "West Street/Carver Street",
"from_line": "120",
"to_line": "52",
"spare_s": 120,
"chance_pct": 25,
"basis": "trip_history",
"days": 20
}
]
Pushmeldingen
Niet steeds vragen. Wij laten het weten.
Registreer één keer een URL en TransCAPI stuurt er een bericht naartoe als je bus een paar minuten weg is, of als een verstoring je halte, station, vervoerder of route raakt. Ondertekend, opnieuw verstuurd als je server plat ligt, en inbegrepen in elk abonnement. Niet meer elke minuut vragen of er iets veranderd is.
Docs over pushmeldingen# What your server receives
POST /hooks/transcapi
X-TransCAPI-Event: vehicle_approaching
X-TransCAPI-Signature: sha256=bd2b3189aef3...
{
"type": "vehicle_approaching",
"data": {
"atcocode": "370022870",
"line": "95",
"destination": "Walkley",
"minutes_away": 9.5,
"delay_seconds": 0,
"vehicle": {
"latitude": 53.381833,
"longitude": -1.464979
}
}
}
Gebouwd met TransCAPI
Truvel: de reisplanner die zegt wat er echt gaat gebeuren
Truvel is onze eigen reisplanner voor Groot-Brittannië en Ierland. Hij heeft geen eigen vervoersdata: elke reis, elk tarief, elke actuele tijd en elk percentage erop komt uit deze API, via dezelfde endpoints en sleutels die jij krijgt.
- Haal ik mijn overstap? 'Lukt 1 op de 2 dagen', op basis van hoe precies die bussen de afgelopen dagen reden:
/v1/journey.json - Het tarief van elke reis, met railcards, en een overstap tussen treinen geprijsd als één kaartje:
/v1/rail/fares.json - Actuele dienstregeling: verwachte bussen, perrons en verwachte tijden van treinen:
/v1/bus/stop_timetables,/v1/rail/station_timetables - Waar kan ik komen in 30 minuten? op een kaart getekend:
/v1/journey/reachable.json - CO₂ en loopinspanning bij elke reis, met een optie voor alleen flauwe hellingen
Eén API voor het hele netwerk
Dertien officiële feeds in acht formaten, op elkaar afgestemd en bijgehouden als ze veranderen, zodat jij dat niet hoeft te doen.
Haltes en plaatsen
Zoek elke bus-, tram- en treinhalte in Groot-Brittannië en Ierland op punt, straal of gebied. Elke halte zegt welke kant de bussen op gaan, zodat twee haltes met dezelfde naam toch uit elkaar te houden zijn.
Vertrek en aankomst
Actuele treintijden uit Darwin van National Rail, met perrons, uitval en oorzaken van vertraging. Bustijden in heel Groot-Brittannië en Ierland, met actuele posities waar een vervoerder die doorgeeft. Ook aankomstborden — een eindhalte is een plek waar mensen uitstappen, niet alleen een plek waar niets vertrekt.
Lijnen en geometrie
De richtingen van een lijn, de haltes en de dienstregeling van de dag — plus de route die elke richting echt rijdt, als gecodeerde polyline. Teken de weg, geen lijn tussen haltes.
Reisplanning
Multimodale reisadviezen met loopgrenzen, routebeschrijving stap voor stap en geschatte tarieven. Van deur tot deur, overal in Groot-Brittannië en Ierland.
Verstoringen
Geplande werkzaamheden, incidenten en lijnstatus voor bus, tram, National Rail en het Londense netwerk, in één vorm. Geef de route van een reis mee en krijg alleen wat die route raakt, niet elke 21 in het land.
Open data, met bronvermelding
Elke bron en elke licentie staat vermeld, met de bronvermelding die je gebruikers moeten zien. Je kunt er commercieel op bouwen en weet waar alles vandaan komt.
Pushmeldingen
Webhooks als een bus een paar minuten van je halte is of een verstoring bij je filters past. Ondertekende JSON, opnieuw verstuurd als je server plat ligt, zodat je app niet steeds hoeft te vragen.
Stiptheid en bereikbaarheid
Hoe vaak elke bus echt op tijd is, de kans om een overstap te halen en alles wat in 30 minuten bereikbaar is, gemeten aan de bussen zelf en de volledige dienstregeling.
CO₂ en hoogteverschil
Elke reis geeft zijn CO2 volgens de officiële factoren van de overheid, naast dezelfde rit alleen met de auto, en hoeveel je bergop loopt, met een grens voor rustige routes.
Gebouwd voor de details waar vervoersapps op stuklopen
De data binnenhalen is het makkelijke deel. Dit zijn de onderdelen die maanden kosten om goed te krijgen.
Verstoringen die je route kennen
Geef de route van een reis mee en krijg alleen de werkzaamheden, incidenten en afsluitingen die hem raken. Lijnnummers zijn niet uniek: First South Yorkshire rijdt een 21 in Barnsley en een andere in Rotherham, dus wie alleen op lijn filtert, waarschuwt mensen over de verkeerde stad.
/v1/disruptions.json?path=…&path_radius=300
Actueel is actueel, en dat staat erbij
Treinen komen uit het eigen realtime systeem van National Rail, met perrons, uitval en de reden dat een trein te laat is. Bussen zijn gekoppeld aan hun precieze rit in de dienstregeling, niet geraden uit een lijnnummer. Elk vertrek zegt of de tijd actueel is of volgens dienstregeling, zodat je nooit een gok als feit toont.
"source": "darwin"
Elke ochtend vers
Vervoerders publiceren hun dienstregeling steeds opnieuw, sommige elke nacht, en telkens veranderen de rit-id's. Een dienstregeling van een paar weken oud past ongemerkt niet meer bij de bussen op straat. De onze wordt dagelijks opnieuw geladen uit de landelijke export, zonder onderbreking.
dagelijks ververst, 05:30
Wegen, geen rechte lijnen
Lijnen komen met de route die elke richting echt rijdt. Publiceert een vervoerder geen geometrie, dan krijg je null, nooit een lijn tussen de haltes die dwars door gebouwen loopt en over wegen waar geen bus kan rijden.
"encoded_polyline": "qutdI|fkGG…"
Haltes die zeggen welke kant op
Een derde van de haltes deelt een naam met een andere, meestal de paal aan de overkant. Elke halte zegt waar de bussen heen gaan, afgeleid uit de ritten die er stoppen — daar heeft een reiziger wat aan, aan 'adj' niet.
"towards": "Walkley"
Antwoorden die toegeven wat ze niet weten
Buiten de dekking van de reisplanning krijg je een duidelijke 422 outside_coverage, geen lege lijst die leest als 'geen bussen'. Valt een actuele feed uit, dan komt het bord toch, volgens dienstregeling, met de reden. Onbekende vertragingen zijn null, niet 0.
"live_error": null
Veilig om een bedrijf op te bouwen
Elke bron is officiële open data, gelicentieerd voor commercieel gebruik en vermeld met de licentie. Je krijgt precies de bronvermelding die je app moet tonen, dus er valt niets uit te zoeken als je live gaat.
Databronnen en bronvermeldingRuimte om te groeien voordat je betaalt
200 verzoeken per dag gratis, met alle endpoints en alle actuele feeds. Betaalde abonnementen beginnen bij 5,000 per dag voor £5 per maand, en elk antwoord vertelt je in de headers waar je staat.
PrijzenVraag een halte wat er komt
Eén verzoek, een API-sleutel in een header, JSON terug. Geen SOAP-envelop, geen feed per vervoerder om op elkaar af te stemmen, geen GTFS-zip om om drie uur 's nachts uit te pakken.
- Eenvoudige REST en JSON, gedocumenteerd met live voorbeelden
- Eén sleutel voor bus, trein, reizen en verstoringen
- Elke bron en licentie vermeld, met de bronvermelding om te kopiëren
- Limieten die je in de headers vertellen waar je staat
$ curl -H "X-Api-Key: $KEY" \
"https://api.transcapi.com/v1/bus/stops.json\
?lat=53.3824&lon=-1.4695&radius=100&limit=1"
{
"member": [
{
"atcocode": "370022870",
"name": "Church Street/High Street",
"indicator": "HS5",
"bearing": "W",
"towards": "Walkley",
"locality": "Sheffield Centre",
"latitude": 53.382424,
"longitude": -1.46953,
"distance": 3.3
}
]
}
Heel Groot-Brittannië en Ierland, en we laten zien hoe
Dat is geen illustratie. Elk puntje is een halte in het register — 415,324 in totaal — getekend uit dezelfde tabel waaruit de API antwoordt. Groot-Brittannië en Ierland tekenen zichzelf.
Waar de dekking dunner is, zeggen de docs dat, in plaats van dat je er zelf achter moet komen. Lijngeometrie is er voor de vervoerders die die publiceren. Noord-Ierland komt uit de dienstregeling van Translink en de Republiek uit die van de NTA, en ook Nederland en België vallen eronder.
Begin in vijf minutenBouw er iets mee
Gratis sleutel, alle endpoints, geen creditcard. Stap over als je verkeer erom vraagt.
Vraag je API-sleutel aan