Resource details

File name: Horaires temps réel des lignes du réseau Distribus
Format: gtfs-rt

This resource file is part of the dataset Réseau urbain Distribus.

Download availability

2026-07-01
100%
2026-07-02
100%
2026-07-03
100%
2026-07-04
100%
2026-07-05
100%
2026-07-06
96.7%
2026-07-07
100%
2026-07-08
100%
2026-07-09
100%
2026-07-10
100%
2026-07-11
100%
2026-07-12
100%
2026-07-13
95.3%
2026-07-14
100%
2026-07-15
100%
2026-07-16
100%
2026-07-17
100%
2026-07-18
100%
2026-07-19
100%
2026-07-20
100%
2026-07-21
100%
2026-07-22
100%
2026-07-23
100%
2026-07-24
100%
2026-07-25
100%
2026-07-26
100%
2026-07-27
100%
2026-07-28
100%
2026-07-29
100%
2026-07-30
100%
2026-07-31
100%
Learn more
We test this resource download availability every hour by making an HTTP HEAD request with a timeout of 5 seconds. If we detect a downtime, we perform subsequent tests every 10 minutes, until the resource is back online.

For SIRI and SIRI Lite feeds, we perform a GET request: a 401 or 405 status code is considered successful. In case of HTTP 500, the feed will be considered unavailable, unless the body appears to contain SOAP.

Validation details

⚠️123 warnings

Validation carried out using the current GTFS file and the GTFS-RT the 2026-07-31 at 09:08 Europe/Paris using the MobilityData GTFS-RT validator.

Warnings

vehicle_id not populated W002 42 errors

vehicle_id should be populated for TripUpdates and VehiclePositions

Sample errors
  • trip_id 1101-0850 does not have a vehicle_id
  • trip_id 103-0905 does not have a vehicle_id
  • trip_id 101-0910 does not have a vehicle_id
  • trip_id 105-0833 does not have a vehicle_id
  • trip_id 103-0820 does not have a vehicle_id

schedule_relationship not populated W009 81 errors

trip.schedule_relationship and stop_time_update.schedule_relationship should be populated

Sample errors
  • trip_id 1101-0850 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
  • trip_id 1101-0850 does not have a schedule_relationship
  • trip_id 103-0905 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
  • trip_id 103-0905 does not have a schedule_relationship
  • trip_id 101-0910 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
Validate this GTFS-RT now

Previous validations

Here is a recap of all the error types encountered over the last 30 days.

Error ID Description Errors count Number of occurences
W002 vehicle_id should be populated for TripUpdates and VehiclePositions 1,147 30 times (100 % of validations)
W009 trip.schedule_relationship and stop_time_update.schedule_relationship should be populated 2,135 30 times (100 % of validations)
E025 Within the same stop_time_update, arrival and departures times can be the same, or the departure time can be later than the arrival time - the departure time should never come before the arrival time. 3 3 times (10 % of validations)
W008 The data in a GTFS-realtime feed should always be less than one minute old 2 2 times (7 % of validations)

GTFS-RT feed content

Entities

Entities present in this feed at 2026-07-31 at 21:22 Europe/Paris.

trip_updates (9) vehicle_positions (0) service_alerts (0)

Entities seen in the last 7 days.

trip_updates

Decoded GTFS-RT feed

See full payload

Here is the decoded GTFS-RT feed Protobuf at 2026-07-31 at 21:22 Europe/Paris. You can look at the GTFS-RT documentation.

{ "entity": [ { "id": "SM:1106-2150", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "time": "1785527400" }, "stopId": "Saint-Louis_Gare_Ouest_AR", "stopSequence": 1 }, { "arrival": { "time": "1785528000" }, "stopId": "EuroAirport_AR", "stopSequence": 2 } ], "timestamp": "1785525309", "trip": { "routeId": "11", "tripId": "1106-2150" } } }, { "id": "SM:1106-2135", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "time": "1785526500" }, "stopId": "EuroAirport_AR", "stopSequence": 1 }, { "arrival": { "time": "1785527100" }, "stopId": "Saint-Louis_Gare_Ouest_AR", "stopSequence": 2 } ], "timestamp": "1785525258", "trip": { "directionId": 1, "routeId": "11", "tripId": "1106-2135" } } }, { "id": "SM:1106-2205", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "time": "1785528300" }, "stopId": "EuroAirport_AR", "stopSequence": 1 }, { "arrival": { "time": "1785528900" }, "stopId": "Saint-Louis_Gare_Ouest_AR", "stopSequence": 2 } ], "timestamp": "1785525258", "trip": { "directionId": 1, "routeId": "11", "tripId": "1106-2205" } } }, { "id": "SM:1106-2120", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 121, "time": "1785525721" }, "stopId": "Saint-Louis_Gare_Ouest_AR", "stopSequence": 1 }, { "arrival": { "delay": 40, "time": "1785526240" }, "stopId": "EuroAirport_AR", "stopSequence": 2 } ], "timestamp": "1785525750", "trip": { "routeId": "11", "tripId": "1106-2120" } } }, { "id": "SM:450T-2130", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 259, "time": "1785526459" }, "stopId": "Schifflände_R", "stopSequence": 1 }, { "arrival": { "delay": 259, "time": "1785526579" }, "departure": { "delay": 259, "time": "1785526579" }, "stopId": "Kinderspital_UKBB_R", "stopSequence": 2 }, { "arrival": { "delay": 259, "time": "1785526819" }, "departure": { "delay": 259, "time": "1785526819" }, "stopId": "Voltaplatz_R", "stopSequence": 3 }, { "arrival": { "delay": 259, "time": "1785526879" }, "departure": { "delay": 259, "time": "1785526879" }, "stopId": "Hüningerstrasse_R", "stopSequence": 4 }, { "arrival": { "delay": 259, "time": "1785526999" }, "departure": { "delay": 259, "time": "1785526999" }, "stopId": "Frontière_R", "stopSequence": 5 }, { "arrival": { "delay": 259, "time": "1785527059" }, "departure": { "delay": 259, "time": "1785527059" }, "stopId": "Notre-Dame_de_la_Paix_R", "stopSequence": 6 }, { "arrival": { "delay": 259, "time": "1785527119" }, "departure": { "delay": 259, "time": "1785527119" }, "stopId": "Rhin_R", "stopSequence": 7 }, { "arrival": { "delay": 259, "time": "1785527179" }, "departure": { "delay": 259, "time": "1785527179" }, "stopId": "Claude_Hess_R", "stopSequence": 8 }, { "arrival": { "delay": 259, "time": "1785527239" }, "departure": { "delay": 259, "time": "1785527239" }, "stopId": "Croisée_des_Lys_R", "stopSequence": 9 }, { "arrival": { "delay": 259, "time": "1785527299" }, "departure": { "delay": 259, "time": "1785527299" }, "stopId": "Breisach_R", "stopSequence": 10 }, { "arrival": { "delay": 229, "time": "1785527329" }, "departure": { "delay": 229, "time": "1785527329" }, "stopId": "Église_Saint-Louis_R", "stopSequence": 11 }, { "arrival": { "delay": 259, "time": "1785527359" }, "departure": { "delay": 259, "time": "1785527359" }, "stopId": "Saint-Louis_Gare_Est_AR", "stopSequence": 12 }, { "arrival": { "delay": 259, "time": "1785527419" }, "departure": { "delay": 259, "time": "1785527419" }, "stopId": "Trois_Lys_R", "stopSequence": 13 }, { "arrival": { "delay": 259, "time": "1785527539" }, "departure": { "delay": 259, "time": "1785527539" }, "stopId": "Cité_du_Rail_R", "stopSequence": 14 }, { "arrival": { "delay": 259, "time": "1785527599" }, "departure": { "delay": 259, "time": "1785527599" }, "stopId": "Rue_de_Séville_R", "stopSequence": 15 }, { "arrival": { "delay": 259, "time": "1785527659" }, "departure": { "delay": 259, "time": "1785527659" }, "stopId": "Chapelle_R", "stopSequence": 16 }, { "arrival": { "delay": 229, "time": "1785527689" }, "departure": { "delay": 229, "time": "1785527689" }, "stopId": "Saint-Claude_R", "stopSequence": 17 }, { "arrival": { "delay": 259, "time": "1785527719" }, "departure": { "delay": 259, "time": "1785527719" }, "stopId": "Petite_Camargue_Alsacienne_R", "stopSequence": 18 }, { "arrival": { "delay": 259, "time": "1785527779" }, "departure": { "delay": 259, "time": "1785527779" }, "stopId": "Parc_des_Maréchaux_R", "stopSequence": 19 }, { "arrival": { "delay": 259, "time": "1785527899" }, "departure": { "delay": 259, "time": "1785527899" }, "stopId": "Parc_Soleil_A", "stopSequence": 20 }, { "arrival": { "delay": 289, "time": "1785528049" }, "departure": { "delay": 289, "time": "1785528049" }, "stopId": "Cité_Beaulieu_R", "stopSequence": 21 }, { "arrival": { "delay": 259, "time": "1785528079" }, "departure": { "delay": 259, "time": "1785528079" }, "stopId": "Muguet_R", "stopSequence": 22 }, { "arrival": { "delay": 229, "time": "1785528109" }, "departure": { "delay": 229, "time": "1785528109" }, "stopId": "Rousserolles_R", "stopSequence": 23 }, { "arrival": { "delay": 259, "time": "1785528139" }, "stopId": "Professeur_Coste_A", "stopSequence": 24 } ], "timestamp": "1785525750", "trip": { "directionId": 1, "routeId": "604", "tripId": "450T-2130" } } }, { "id": "SM:450T-2200", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 139, "time": "1785528139" }, "stopId": "Professeur_Coste_A", "stopSequence": 1 }, { "arrival": { "delay": 139, "time": "1785528199" }, "departure": { "delay": 139, "time": "1785528199" }, "stopId": "Rousserolles_A", "stopSequence": 2 }, { "arrival": { "delay": 159, "time": "1785528219" }, "departure": { "delay": 159, "time": "1785528219" }, "stopId": "Muguet_A", "stopSequence": 3 }, { "arrival": { "delay": 119, "time": "1785528239" }, "departure": { "delay": 119, "time": "1785528239" }, "stopId": "Cité_Beaulieu_A", "stopSequence": 4 }, { "arrival": { "delay": 139, "time": "1785528259" }, "departure": { "delay": 139, "time": "1785528259" }, "stopId": "Parc_des_Maréchaux_A", "stopSequence": 5 }, { "arrival": { "delay": 139, "time": "1785528379" }, "departure": { "delay": 139, "time": "1785528379" }, "stopId": "Parc_Soleil_A", "stopSequence": 6 }, { "arrival": { "delay": 139, "time": "1785528439" }, "departure": { "delay": 139, "time": "1785528439" }, "stopId": "Petite_Camargue_Alsacienne_A", "stopSequence": 7 }, { "arrival": { "delay": 139, "time": "1785528499" }, "departure": { "delay": 139, "time": "1785528499" }, "stopId": "Saint-Claude_A", "stopSequence": 8 }, { "arrival": { "delay": 109, "time": "1785528529" }, "departure": { "delay": 109, "time": "1785528529" }, "stopId": "Chapelle_A", "stopSequence": 9 }, { "arrival": { "delay": 139, "time": "1785528559" }, "departure": { "delay": 139, "time": "1785528559" }, "stopId": "Rue_de_Séville_A", "stopSequence": 10 }, { "arrival": { "delay": 139, "time": "1785528619" }, "departure": { "delay": 139, "time": "1785528619" }, "stopId": "Cité_du_Rail_A", "stopSequence": 11 }, { "arrival": { "delay": 139, "time": "1785528739" }, "departure": { "delay": 139, "time": "1785528739" }, "stopId": "Trois_Lys_A", "stopSequence": 12 }, { "arrival": { "delay": 139, "time": "1785528799" }, "departure": { "delay": 139, "time": "1785528799" }, "stopId": "Saint-Louis_Gare_Est_AR", "stopSequence": 13 }, { "arrival": { "delay": 139, "time": "1785528859" }, "departure": { "delay": 139, "time": "1785528859" }, "stopId": "Église_Saint-Louis_A", "stopSequence": 14 }, { "arrival": { "delay": 139, "time": "1785528919" }, "departure": { "delay": 139, "time": "1785528919" }, "stopId": "Breisach_A", "stopSequence": 15 }, { "arrival": { "delay": 139, "time": "1785528979" }, "departure": { "delay": 139, "time": "1785528979" }, "stopId": "Croisée_des_Lys_A", "stopSequence": 16 }, { "arrival": { "delay": 139, "time": "1785529099" }, "departure": { "delay": 139, "time": "1785529099" }, "stopId": "Claude_Hess_A", "stopSequence": 17 }, { "arrival": { "delay": 139, "time": "1785529159" }, "departure": { "delay": 139, "time": "1785529159" }, "stopId": "Rhin_A", "stopSequence": 18 }, { "arrival": { "delay": 139, "time": "1785529219" }, "departure": { "delay": 139, "time": "1785529219" }, "stopId": "Notre-Dame_de_la_Paix_A", "stopSequence": 19 }, { "arrival": { "delay": 139, "time": "1785529279" }, "departure": { "delay": 139, "time": "1785529279" }, "stopId": "Frontière_A", "stopSequence": 20 } ], "timestamp": "1785525750", "trip": { "routeId": "604", "tripId": "450T-2200" } } }, { "id": "SM:404T-2035", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 712, "time": "1785523132" }, "scheduleRelationship": "SKIPPED", "stopId": "Schifflände_R", "stopSequence": 1 }, { "arrival": { "delay": 232, "time": "1785523252" }, "departure": { "delay": 232, "time": "1785523252" }, "scheduleRelationship": "SKIPPED", "stopId": "Kinderspital_UKBB_R", "stopSequence": 2 }, { "arrival": { "delay": 25, "time": "1785523340" }, "departure": { "delay": 25, "time": "1785523345" }, "stopId": "Hüningerstrasse_R", "stopSequence": 4 }, { "arrival": { "delay": 25, "time": "1785523465" }, "departure": { "delay": 25, "time": "1785523465" }, "stopId": "Frontière_R", "stopSequence": 5 }, { "arrival": { "delay": 43, "time": "1785523543" }, "departure": { "delay": 43, "time": "1785523543" }, "stopId": "Notre-Dame_de_la_Paix_R", "stopSequence": 6 }, { "arrival": { "delay": 43, "time": "1785523603" }, "departure": { "delay": 43, "time": "1785523603" }, "stopId": "Rhin_R", "stopSequence": 7 }, { "arrival": { "delay": 61, "time": "1785523681" }, "departure": { "delay": 61, "time": "1785523681" }, "stopId": "Claude_Hess_R", "stopSequence": 8 }, { "arrival": { "delay": 34, "time": "1785523774" }, "departure": { "delay": 34, "time": "1785523774" }, "stopId": "Croisée_des_Lys_R", "stopSequence": 9 }, { "arrival": { "delay": 34, "time": "1785523834" }, "departure": { "delay": 34, "time": "1785523834" }, "stopId": "Breisach_R", "stopSequence": 10 }, { "arrival": { "delay": 106, "time": "1785523888" }, "departure": { "delay": 106, "time": "1785523966" }, "stopId": "Église_Saint-Louis_R", "stopSequence": 11 }, { "arrival": { "delay": 10, "time": "1785524050" }, "departure": { "delay": 10, "time": "1785524050" }, "stopId": "Saint-Louis_Gare_Est_AR", "stopSequence": 12 }, { "arrival": { "delay": -97, "time": "1785524183" }, "departure": { "delay": -97, "time": "1785524183" }, "stopId": "Trois_Lys_R", "stopSequence": 13 }, { "arrival": { "delay": -134, "time": "1785524389" }, "departure": { "delay": -134, "time": "1785524506" }, "stopId": "Cité_du_Rail_R", "stopSequence": 14 }, { "arrival": { "delay": 55, "time": "1785524729" }, "departure": { "delay": 55, "time": "1785524755" }, "stopId": "Rue_de_Séville_R", "stopSequence": 15 }, { "arrival": { "delay": 42, "time": "1785524802" }, "departure": { "delay": 42, "time": "1785524802" }, "stopId": "Chapelle_R", "stopSequence": 16 }, { "arrival": { "delay": -1, "time": "1785524819" }, "departure": { "delay": -1, "time": "1785524819" }, "stopId": "Saint-Claude_R", "stopSequence": 17 }, { "arrival": { "delay": 89, "time": "1785524909" }, "departure": { "delay": 89, "time": "1785524909" }, "stopId": "Petite_Camargue_Alsacienne_R", "stopSequence": 18 }, { "arrival": { "delay": 55, "time": "1785524935" }, "departure": { "delay": 55, "time": "1785524935" }, "stopId": "Parc_des_Maréchaux_R", "stopSequence": 19 }, { "arrival": { "delay": 55, "time": "1785525055" }, "departure": { "delay": 55, "time": "1785525055" }, "stopId": "Parc_Soleil_A", "stopSequence": 20 }, { "arrival": { "delay": 56, "time": "1785525176" }, "departure": { "delay": 56, "time": "1785525176" }, "stopId": "Cité_Beaulieu_R", "stopSequence": 21 }, { "arrival": { "delay": 23, "time": "1785525203" }, "departure": { "delay": 23, "time": "1785525203" }, "stopId": "Muguet_R", "stopSequence": 22 }, { "arrival": { "delay": 40, "time": "1785525220" }, "departure": { "delay": 40, "time": "1785525220" }, "stopId": "Rousserolles_R", "stopSequence": 23 }, { "arrival": { "delay": 12, "time": "1785525252" }, "stopId": "Professeur_Coste_A", "stopSequence": 24 } ], "timestamp": "1785523187", "trip": { "directionId": 1, "routeId": "604", "tripId": "404T-2035" } } }, { "id": "SM:450T-2100", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 115, "time": "1785524515" }, "stopId": "Professeur_Coste_A", "stopSequence": 1 }, { "arrival": { "delay": 115, "time": "1785524559" }, "departure": { "delay": 115, "time": "1785524575" }, "stopId": "Rousserolles_A", "stopSequence": 2 }, { "arrival": { "delay": 153, "time": "1785524613" }, "departure": { "delay": 153, "time": "1785524613" }, "stopId": "Muguet_A", "stopSequence": 3 }, { "arrival": { "delay": 120, "time": "1785524640" }, "departure": { "delay": 120, "time": "1785524640" }, "stopId": "Cité_Beaulieu_A", "stopSequence": 4 }, { "arrival": { "delay": 162, "time": "1785524682" }, "departure": { "delay": 162, "time": "1785524682" }, "stopId": "Parc_des_Maréchaux_A", "stopSequence": 5 }, { "arrival": { "delay": 145, "time": "1785524785" }, "departure": { "delay": 145, "time": "1785524785" }, "stopId": "Parc_Soleil_A", "stopSequence": 6 }, { "arrival": { "delay": 265, "time": "1785524892" }, "departure": { "delay": 265, "time": "1785524965" }, "stopId": "Petite_Camargue_Alsacienne_A", "stopSequence": 7 }, { "arrival": { "delay": 265, "time": "1785525025" }, "departure": { "delay": 265, "time": "1785525025" }, "stopId": "Saint-Claude_A", "stopSequence": 8 }, { "arrival": { "delay": 235, "time": "1785525055" }, "departure": { "delay": 235, "time": "1785525055" }, "stopId": "Chapelle_A", "stopSequence": 9 }, { "arrival": { "delay": 325, "time": "1785525098" }, "departure": { "delay": 325, "time": "1785525145" }, "stopId": "Rue_de_Séville_A", "stopSequence": 10 }, { "arrival": { "delay": 385, "time": "1785525221" }, "departure": { "delay": 385, "time": "1785525265" }, "stopId": "Cité_du_Rail_A", "stopSequence": 11 }, { "arrival": { "delay": 364, "time": "1785525364" }, "departure": { "delay": 364, "time": "1785525364" }, "stopId": "Trois_Lys_A", "stopSequence": 12 }, { "arrival": { "delay": 415, "time": "1785525406" }, "departure": { "delay": 415, "time": "1785525475" }, "stopId": "Saint-Louis_Gare_Est_AR", "stopSequence": 13 }, { "arrival": { "delay": 445, "time": "1785525550" }, "departure": { "delay": 445, "time": "1785525565" }, "stopId": "Église_Saint-Louis_A", "stopSequence": 14 }, { "arrival": { "delay": 445, "time": "1785525595" }, "departure": { "delay": 445, "time": "1785525625" }, "stopId": "Breisach_A", "stopSequence": 15 }, { "arrival": { "delay": 475, "time": "1785525685" }, "departure": { "delay": 475, "time": "1785525715" }, "stopId": "Croisée_des_Lys_A", "stopSequence": 16 }, { "arrival": { "delay": 435, "time": "1785525795" }, "departure": { "delay": 435, "time": "1785525795" }, "stopId": "Claude_Hess_A", "stopSequence": 17 }, { "arrival": { "delay": 435, "time": "1785525855" }, "departure": { "delay": 435, "time": "1785525855" }, "stopId": "Rhin_A", "stopSequence": 18 }, { "arrival": { "delay": 435, "time": "1785525915" }, "departure": { "delay": 435, "time": "1785525915" }, "stopId": "Notre-Dame_de_la_Paix_A", "stopSequence": 19 }, { "arrival": { "delay": 435, "time": "1785525975" }, "departure": { "delay": 435, "time": "1785525975" }, "stopId": "Frontière_A", "stopSequence": 20 }, { "arrival": { "delay": 435, "time": "1785526095" }, "departure": { "delay": 435, "time": "1785526095" }, "stopId": "Hüningerstrasse_A", "stopSequence": 21 }, { "arrival": { "delay": 435, "time": "1785526155" }, "departure": { "delay": 435, "time": "1785526155" }, "stopId": "Voltaplatz_A", "stopSequence": 22 }, { "arrival": { "delay": 435, "time": "1785526335" }, "departure": { "delay": 435, "time": "1785526335" }, "stopId": "Kinderspital_UKBB_A", "stopSequence": 23 }, { "arrival": { "delay": 435, "time": "1785526455" }, "stopId": "Schifflände_A", "stopSequence": 24 } ], "timestamp": "1785524538", "trip": { "routeId": "604", "tripId": "450T-2100" } } }, { "id": "SM:1106-2105", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 113, "time": "1785524813" }, "stopId": "EuroAirport_AR", "stopSequence": 1 }, { "arrival": { "delay": -54, "time": "1785525246" }, "stopId": "Saint-Louis_Gare_Ouest_AR", "stopSequence": 2 } ], "timestamp": "1785524835", "trip": { "directionId": 1, "routeId": "11", "tripId": "1106-2105" } } } ], "header": { "gtfsRealtimeVersion": "1.0", "timestamp": "1785525751" } }