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

2025-10-22
100%
2025-10-23
100%
2025-10-24
100%
2025-10-25
100%
2025-10-26
100%
2025-10-27
100%
2025-10-28
100%
2025-10-29
100%
2025-10-30
100%
2025-10-31
100%
2025-11-01
100%
2025-11-02
100%
2025-11-03
100%
2025-11-04
100%
2025-11-05
99.3%
2025-11-06
100%
2025-11-07
99.3%
2025-11-08
100%
2025-11-09
100%
2025-11-10
100%
2025-11-11
100%
2025-11-12
100%
2025-11-13
100%
2025-11-14
100%
2025-11-15
100%
2025-11-16
100%
2025-11-17
99.3%
2025-11-18
100%
2025-11-19
100%
2025-11-20
100%
2025-11-21
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

⚠️209 warnings

Validation carried out using the current GTFS file and the GTFS-RT the 2025-11-21 at 08:10 Europe/Paris using the MobilityData GTFS-RT validator.

Warnings

vehicle_id not populated W002 70 errors

vehicle_id should be populated for TripUpdates and VehiclePositions

Sample errors
  • trip_id 1103-0750 does not have a vehicle_id
  • trip_id 1101-0805 does not have a vehicle_id
  • trip_id 1101-0835 does not have a vehicle_id
  • trip_id 1103-0820 does not have a vehicle_id
  • trip_id 10-0805 does not have a vehicle_id

schedule_relationship not populated W009 139 errors

trip.schedule_relationship and stop_time_update.schedule_relationship should be populated

Sample errors
  • trip_id 1103-0750 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
  • trip_id 1103-0750 does not have a schedule_relationship
  • trip_id 1101-0805 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
  • trip_id 1101-0805 does not have a schedule_relationship
  • trip_id 1101-0835 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 491 30 times (100 % of validations)
W009 trip.schedule_relationship and stop_time_update.schedule_relationship should be populated 2 970 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. 19 16 times (53 % of validations)
W008 The data in a GTFS-realtime feed should always be less than one minute old 7 7 times (23 % of validations)

GTFS-RT feed content

Entities

Entities present in this feed at 2025-11-21 at 23:20 Europe/Paris.

trip_updates (8) 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 2025-11-21 at 23:20 Europe/Paris. You can look at the GTFS-RT documentation.

{ "entity": [ { "id": "SM:1106-2250", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 297, "time": "1763762097" }, "stopId": "Saint-Louis_Gare_Ouest_AR", "stopSequence": 1 }, { "arrival": { "delay": 360, "time": "1763762760" }, "stopId": "EuroAirport_AR", "stopSequence": 2 } ], "timestamp": "1763762124", "trip": { "routeId": "11", "tripId": "1106-2250" } } }, { "id": "SM:1106-2320", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "time": "1763763600" }, "stopId": "Saint-Louis_Gare_Ouest_AR", "stopSequence": 1 }, { "arrival": { "time": "1763764200" }, "stopId": "EuroAirport_AR", "stopSequence": 2 } ], "timestamp": "1763762678", "trip": { "routeId": "11", "tripId": "1106-2320" } } }, { "id": "SM:1106-2305", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 124, "time": "1763762824" }, "stopId": "EuroAirport_AR", "stopSequence": 1 }, { "arrival": { "delay": 136, "time": "1763763436" }, "stopId": "Saint-Louis_Gare_Ouest_AR", "stopSequence": 2 } ], "timestamp": "1763762853", "trip": { "directionId": 1, "routeId": "11", "tripId": "1106-2305" } } }, { "id": "SM:1106-2335", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "time": "1763764500" }, "stopId": "EuroAirport_AR", "stopSequence": 1 }, { "arrival": { "time": "1763765100" }, "stopId": "Saint-Louis_Gare_Ouest_AR", "stopSequence": 2 } ], "timestamp": "1763762863", "trip": { "directionId": 1, "routeId": "11", "tripId": "1106-2335" } } }, { "id": "SM:450-2300", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 401, "time": "1763762801" }, "stopId": "Professeur_Coste_A", "stopSequence": 1 }, { "arrival": { "delay": 401, "time": "1763762861" }, "departure": { "delay": 401, "time": "1763762861" }, "stopId": "Rousserolles_A", "stopSequence": 2 }, { "arrival": { "delay": 440, "time": "1763762900" }, "departure": { "delay": 440, "time": "1763762900" }, "stopId": "Muguet_A", "stopSequence": 3 }, { "arrival": { "delay": 406, "time": "1763762926" }, "departure": { "delay": 406, "time": "1763762926" }, "stopId": "Cité_Beaulieu_A", "stopSequence": 4 }, { "arrival": { "delay": 431, "time": "1763762945" }, "departure": { "delay": 431, "time": "1763762951" }, "stopId": "Parc_des_Maréchaux_A", "stopSequence": 5 }, { "arrival": { "delay": 420, "time": "1763763060" }, "departure": { "delay": 420, "time": "1763763060" }, "stopId": "Parc_Soleil_A", "stopSequence": 6 }, { "arrival": { "delay": 491, "time": "1763763165" }, "departure": { "delay": 491, "time": "1763763191" }, "stopId": "Petite_Camargue_Alsacienne_A", "stopSequence": 7 }, { "arrival": { "delay": 511, "time": "1763763271" }, "departure": { "delay": 511, "time": "1763763271" }, "stopId": "Saint-Claude_A", "stopSequence": 8 }, { "arrival": { "delay": 481, "time": "1763763301" }, "departure": { "delay": 481, "time": "1763763301" }, "stopId": "Chapelle_A", "stopSequence": 9 }, { "arrival": { "delay": 611, "time": "1763763348" }, "departure": { "delay": 611, "time": "1763763431" }, "stopId": "Rue_de_Séville_A", "stopSequence": 10 }, { "arrival": { "delay": 643, "time": "1763763523" }, "departure": { "delay": 643, "time": "1763763523" }, "stopId": "Cité_du_Rail_A", "stopSequence": 11 }, { "arrival": { "delay": 595, "time": "1763763595" }, "departure": { "delay": 595, "time": "1763763595" }, "stopId": "Trois_Lys_A", "stopSequence": 12 }, { "arrival": { "delay": 595, "time": "1763763655" }, "departure": { "delay": 595, "time": "1763763655" }, "stopId": "Saint-Louis_Gare_Est_AR", "stopSequence": 13 }, { "arrival": { "delay": 655, "time": "1763763775" }, "departure": { "delay": 655, "time": "1763763775" }, "stopId": "Église_Saint-Louis_A", "stopSequence": 14 }, { "arrival": { "delay": 655, "time": "1763763835" }, "departure": { "delay": 655, "time": "1763763835" }, "stopId": "Breisach_A", "stopSequence": 15 }, { "arrival": { "delay": 715, "time": "1763763955" }, "departure": { "delay": 715, "time": "1763763955" }, "stopId": "Croisée_des_Lys_A", "stopSequence": 16 }, { "arrival": { "delay": 655, "time": "1763764015" }, "departure": { "delay": 655, "time": "1763764015" }, "stopId": "Claude_Hess_A", "stopSequence": 17 }, { "arrival": { "delay": 655, "time": "1763764075" }, "departure": { "delay": 655, "time": "1763764075" }, "stopId": "Rhin_A", "stopSequence": 18 }, { "arrival": { "delay": 655, "time": "1763764135" }, "departure": { "delay": 655, "time": "1763764135" }, "stopId": "Notre-Dame_de_la_Paix_A", "stopSequence": 19 }, { "arrival": { "delay": 715, "time": "1763764255" }, "departure": { "delay": 715, "time": "1763764255" }, "stopId": "Frontière_A", "stopSequence": 20 }, { "arrival": { "delay": 655, "time": "1763764315" }, "departure": { "delay": 655, "time": "1763764315" }, "stopId": "Hüningerstrasse_A", "stopSequence": 21 }, { "arrival": { "delay": 775, "time": "1763764495" }, "departure": { "delay": 775, "time": "1763764495" }, "stopId": "Voltaplatz_A", "stopSequence": 22 } ], "timestamp": "1763762832", "trip": { "routeId": "604", "tripId": "450-2300" } } }, { "id": "SM:450-2330", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 419, "time": "1763764619" }, "stopId": "Schifflände_R", "stopSequence": 1 }, { "arrival": { "delay": 419, "time": "1763764739" }, "departure": { "delay": 419, "time": "1763764739" }, "stopId": "Kinderspital_UKBB_R", "stopSequence": 2 }, { "arrival": { "delay": 419, "time": "1763764979" }, "departure": { "delay": 419, "time": "1763764979" }, "stopId": "Voltaplatz_R", "stopSequence": 3 }, { "arrival": { "delay": 419, "time": "1763765039" }, "departure": { "delay": 419, "time": "1763765039" }, "stopId": "Hüningerstrasse_R", "stopSequence": 4 }, { "arrival": { "delay": 419, "time": "1763765159" }, "departure": { "delay": 419, "time": "1763765159" }, "stopId": "Frontière_R", "stopSequence": 5 }, { "arrival": { "delay": 419, "time": "1763765219" }, "departure": { "delay": 419, "time": "1763765219" }, "stopId": "Notre-Dame_de_la_Paix_R", "stopSequence": 6 }, { "arrival": { "delay": 419, "time": "1763765279" }, "departure": { "delay": 419, "time": "1763765279" }, "stopId": "Rhin_R", "stopSequence": 7 }, { "arrival": { "delay": 419, "time": "1763765339" }, "departure": { "delay": 419, "time": "1763765339" }, "stopId": "Claude_Hess_R", "stopSequence": 8 }, { "arrival": { "delay": 419, "time": "1763765399" }, "departure": { "delay": 419, "time": "1763765399" }, "stopId": "Croisée_des_Lys_R", "stopSequence": 9 }, { "arrival": { "delay": 419, "time": "1763765459" }, "departure": { "delay": 419, "time": "1763765459" }, "stopId": "Breisach_R", "stopSequence": 10 }, { "arrival": { "delay": 389, "time": "1763765489" }, "departure": { "delay": 389, "time": "1763765489" }, "stopId": "Église_Saint-Louis_R", "stopSequence": 11 }, { "arrival": { "delay": 419, "time": "1763765519" }, "departure": { "delay": 419, "time": "1763765519" }, "stopId": "Saint-Louis_Gare_Est_AR", "stopSequence": 12 }, { "arrival": { "delay": 539, "time": "1763765699" }, "departure": { "delay": 539, "time": "1763765699" }, "stopId": "Trois_Lys_R", "stopSequence": 13 }, { "arrival": { "delay": 479, "time": "1763765759" }, "departure": { "delay": 479, "time": "1763765759" }, "stopId": "Cité_du_Rail_R", "stopSequence": 14 }, { "arrival": { "delay": 479, "time": "1763765819" }, "departure": { "delay": 479, "time": "1763765819" }, "stopId": "Rue_de_Séville_R", "stopSequence": 15 }, { "arrival": { "delay": 449, "time": "1763765849" }, "departure": { "delay": 449, "time": "1763765849" }, "stopId": "Chapelle_R", "stopSequence": 16 }, { "arrival": { "delay": 419, "time": "1763765879" }, "departure": { "delay": 419, "time": "1763765879" }, "stopId": "Saint-Claude_R", "stopSequence": 17 }, { "arrival": { "delay": 479, "time": "1763765939" }, "departure": { "delay": 479, "time": "1763765939" }, "stopId": "Petite_Camargue_Alsacienne_R", "stopSequence": 18 }, { "arrival": { "delay": 536, "time": "1763766056" }, "departure": { "delay": 536, "time": "1763766056" }, "stopId": "Parc_des_Maréchaux_R", "stopSequence": 19 }, { "arrival": { "delay": 539, "time": "1763766179" }, "departure": { "delay": 539, "time": "1763766179" }, "stopId": "Parc_Soleil_A", "stopSequence": 20 }, { "arrival": { "delay": 465, "time": "1763766225" }, "departure": { "delay": 465, "time": "1763766225" }, "stopId": "Cité_Beaulieu_R", "stopSequence": 21 }, { "arrival": { "delay": 435, "time": "1763766255" }, "departure": { "delay": 435, "time": "1763766255" }, "stopId": "Muguet_R", "stopSequence": 22 }, { "arrival": { "delay": 405, "time": "1763766285" }, "departure": { "delay": 405, "time": "1763766285" }, "stopId": "Rousserolles_R", "stopSequence": 23 } ], "timestamp": "1763763590", "trip": { "directionId": 1, "routeId": "604", "tripId": "450-2330" } } }, { "id": "SM:450-2230", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 500, "time": "1763761100" }, "stopId": "Schifflände_R", "stopSequence": 1 }, { "arrival": { "delay": 500, "time": "1763761220" }, "departure": { "delay": 500, "time": "1763761220" }, "stopId": "Kinderspital_UKBB_R", "stopSequence": 2 }, { "arrival": { "delay": 500, "time": "1763761460" }, "departure": { "delay": 500, "time": "1763761460" }, "stopId": "Voltaplatz_R", "stopSequence": 3 }, { "arrival": { "delay": 500, "time": "1763761520" }, "departure": { "delay": 500, "time": "1763761520" }, "stopId": "Hüningerstrasse_R", "stopSequence": 4 }, { "arrival": { "delay": 500, "time": "1763761640" }, "departure": { "delay": 500, "time": "1763761640" }, "stopId": "Frontière_R", "stopSequence": 5 }, { "arrival": { "delay": 500, "time": "1763761700" }, "departure": { "delay": 500, "time": "1763761700" }, "stopId": "Notre-Dame_de_la_Paix_R", "stopSequence": 6 }, { "arrival": { "delay": 500, "time": "1763761760" }, "departure": { "delay": 500, "time": "1763761760" }, "stopId": "Rhin_R", "stopSequence": 7 }, { "arrival": { "delay": 500, "time": "1763761820" }, "departure": { "delay": 500, "time": "1763761820" }, "stopId": "Claude_Hess_R", "stopSequence": 8 }, { "arrival": { "delay": 500, "time": "1763761880" }, "departure": { "delay": 500, "time": "1763761880" }, "scheduleRelationship": "SKIPPED", "stopId": "Croisée_des_Lys_R", "stopSequence": 9 }, { "arrival": { "delay": 500, "time": "1763761940" }, "departure": { "delay": 500, "time": "1763761940" }, "scheduleRelationship": "SKIPPED", "stopId": "Breisach_R", "stopSequence": 10 }, { "arrival": { "delay": 470, "time": "1763761970" }, "departure": { "delay": 470, "time": "1763761970" }, "scheduleRelationship": "SKIPPED", "stopId": "Église_Saint-Louis_R", "stopSequence": 11 }, { "arrival": { "delay": 484, "time": "1763762044" }, "departure": { "delay": 484, "time": "1763762044" }, "stopId": "Trois_Lys_R", "stopSequence": 13 }, { "arrival": { "delay": 455, "time": "1763762135" }, "departure": { "delay": 455, "time": "1763762135" }, "stopId": "Cité_du_Rail_R", "stopSequence": 14 }, { "arrival": { "delay": 455, "time": "1763762195" }, "departure": { "delay": 455, "time": "1763762195" }, "stopId": "Rue_de_Séville_R", "stopSequence": 15 }, { "arrival": { "delay": 416, "time": "1763762211" }, "departure": { "delay": 416, "time": "1763762216" }, "stopId": "Chapelle_R", "stopSequence": 16 }, { "arrival": { "delay": 445, "time": "1763762294" }, "departure": { "delay": 445, "time": "1763762305" }, "stopId": "Saint-Claude_R", "stopSequence": 17 }, { "arrival": { "delay": 505, "time": "1763762365" }, "departure": { "delay": 505, "time": "1763762365" }, "stopId": "Petite_Camargue_Alsacienne_R", "stopSequence": 18 }, { "arrival": { "delay": 595, "time": "1763762485" }, "departure": { "delay": 595, "time": "1763762515" }, "stopId": "Parc_des_Maréchaux_R", "stopSequence": 19 }, { "arrival": { "delay": 595, "time": "1763762635" }, "departure": { "delay": 595, "time": "1763762635" }, "stopId": "Parc_Soleil_A", "stopSequence": 20 }, { "arrival": { "delay": 535, "time": "1763762695" }, "departure": { "delay": 535, "time": "1763762695" }, "stopId": "Cité_Beaulieu_R", "stopSequence": 21 }, { "arrival": { "delay": 490, "time": "1763762710" }, "departure": { "delay": 490, "time": "1763762710" }, "stopId": "Muguet_R", "stopSequence": 22 }, { "arrival": { "delay": 479, "time": "1763762759" }, "departure": { "delay": 479, "time": "1763762759" }, "stopId": "Rousserolles_R", "stopSequence": 23 } ], "timestamp": "1763761143", "trip": { "directionId": 1, "routeId": "604", "tripId": "450-2230" } } }, { "id": "SM:450-2400", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 285, "time": "1763766285" }, "stopId": "Professeur_Coste_A", "stopSequence": 1 }, { "arrival": { "delay": 285, "time": "1763766345" }, "departure": { "delay": 285, "time": "1763766345" }, "stopId": "Rousserolles_A", "stopSequence": 2 }, { "arrival": { "delay": 255, "time": "1763766375" }, "departure": { "delay": 255, "time": "1763766375" }, "stopId": "Muguet_A", "stopSequence": 3 }, { "arrival": { "delay": 270, "time": "1763766390" }, "departure": { "delay": 270, "time": "1763766390" }, "stopId": "Cité_Beaulieu_A", "stopSequence": 4 }, { "arrival": { "delay": 285, "time": "1763766405" }, "departure": { "delay": 285, "time": "1763766405" }, "stopId": "Parc_des_Maréchaux_A", "stopSequence": 5 }, { "arrival": { "delay": 285, "time": "1763766525" }, "departure": { "delay": 285, "time": "1763766525" }, "stopId": "Parc_Soleil_A", "stopSequence": 6 }, { "arrival": { "delay": 285, "time": "1763766585" }, "departure": { "delay": 285, "time": "1763766585" }, "stopId": "Petite_Camargue_Alsacienne_A", "stopSequence": 7 }, { "arrival": { "delay": 285, "time": "1763766645" }, "departure": { "delay": 285, "time": "1763766645" }, "stopId": "Saint-Claude_A", "stopSequence": 8 }, { "arrival": { "delay": 255, "time": "1763766675" }, "departure": { "delay": 255, "time": "1763766675" }, "stopId": "Chapelle_A", "stopSequence": 9 }, { "arrival": { "delay": 285, "time": "1763766705" }, "departure": { "delay": 285, "time": "1763766705" }, "stopId": "Rue_de_Séville_A", "stopSequence": 10 }, { "arrival": { "delay": 285, "time": "1763766765" }, "departure": { "delay": 285, "time": "1763766765" }, "stopId": "Cité_du_Rail_A", "stopSequence": 11 }, { "arrival": { "delay": 285, "time": "1763766885" }, "departure": { "delay": 285, "time": "1763766885" }, "stopId": "Trois_Lys_A", "stopSequence": 12 }, { "arrival": { "delay": 345, "time": "1763767065" }, "departure": { "delay": 345, "time": "1763767065" }, "stopId": "Église_Saint-Louis_A", "stopSequence": 14 }, { "arrival": { "delay": 345, "time": "1763767125" }, "departure": { "delay": 345, "time": "1763767125" }, "stopId": "Breisach_A", "stopSequence": 15 } ], "timestamp": "1763763590", "trip": { "routeId": "604", "tripId": "450-2400" } } } ], "header": { "gtfsRealtimeVersion": "1.0", "timestamp": "1763763625" } }