Resource details
This resource file is part of the dataset Réseau urbain Distribus.
Download availability
Learn more
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
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_updatesDecoded 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"
}
}