Resource details

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

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

Download availability

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.4%
2025-11-06
100%
2025-11-07
99.4%
2025-11-08
100%
2025-11-09
100%
2025-11-10
100%
2025-11-11
100%
2025-11-12
99.5%
2025-11-13
100%
2025-11-14
100%
2025-11-15
100%
2025-11-16
100%
2025-11-17
99.4%
2025-11-18
100%
2025-11-19
100%
2025-11-20
100%
2025-11-21
100%
2025-11-22
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

37 errors, 18 warnings

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

Errors

GTFS-rt trip_id does not exist in GTFS data and does not have schedule_relationship of ADDED E003 3 errors

All trip_ids provided in the GTFS-rt feed must exist in the GTFS data, unless the schedule_relationship is ADDED

Sample errors
  • trip_id 3-305037551 does not exist in the GTFS data and does not have schedule_relationship of ADDED
  • trip_id 3-839057410 does not exist in the GTFS data and does not have schedule_relationship of ADDED
  • trip_id 3-305103086 does not exist in the GTFS data and does not have schedule_relationship of ADDED

stop_time_update departure time is before arrival time E025 1 error

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.

Sample errors
  • trip_id 3-275709981 stop_sequence 2 departure_time 07:58:50 (1763794730) is less than the same stop arrival_time 07:58:56 (1763794736) - departure time must be equal to or greater than arrival time

GTFS-rt stop_time_update stop_sequence and stop_id do not match GTFS E045 33 errors

If GTFS-rt stop_time_update contains both stop_sequence and stop_id, the values must match the GTFS data in stop_times.txt

Sample errors
  • GTFS-rt trip_id 3-282329439 stop_sequence 1 has stop_id 106 but GTFS stop_sequence 1 has stop_id 107 - stop_ids should be the same
  • GTFS-rt trip_id 3-282329439 stop_sequence 9 has stop_id 136 but GTFS stop_sequence 9 has stop_id 137 - stop_ids should be the same
  • GTFS-rt trip_id 3-282329439 stop_sequence 10 has stop_id 124 but GTFS stop_sequence 10 has stop_id 125 - stop_ids should be the same
  • GTFS-rt trip_id 3-282329439 stop_sequence 11 has stop_id 120 but GTFS stop_sequence 11 has stop_id 121 - stop_ids should be the same
  • GTFS-rt trip_id 3-282329439 stop_sequence 12 has stop_id 141 but GTFS stop_sequence 12 has stop_id 142 - stop_ids should be the same

Warnings

vehicle_id not populated W002 6 errors

vehicle_id should be populated for TripUpdates and VehiclePositions

Sample errors
  • trip_id 3-305037551 does not have a vehicle_id
  • trip_id 3-839057410 does not have a vehicle_id
  • trip_id 3-282329439 does not have a vehicle_id
  • trip_id 3-299040772 does not have a vehicle_id
  • trip_id 3-305103086 does not have a vehicle_id

schedule_relationship not populated W009 12 errors

trip.schedule_relationship and stop_time_update.schedule_relationship should be populated

Sample errors
  • trip_id 3-305037551 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
  • trip_id 3-305037551 does not have a schedule_relationship
  • trip_id 3-839057410 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
  • trip_id 3-839057410 does not have a schedule_relationship
  • trip_id 3-282329439 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 206 25 times (83 % of validations)
W009 trip.schedule_relationship and stop_time_update.schedule_relationship should be populated 412 25 times (83 % of validations)
W008 The data in a GTFS-realtime feed should always be less than one minute old 8 8 times (27 % 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. 9 7 times (23 % of validations)
E003 All trip_ids provided in the GTFS-rt feed must exist in the GTFS data, unless the schedule_relationship is ADDED 11 5 times (17 % of validations)
E011 All stop_ids referenced in GTFS-rt feeds must exist in GTFS stops.txt 8 4 times (13 % of validations)
E045 If GTFS-rt stop_time_update contains both stop_sequence and stop_id, the values must match the GTFS data in stop_times.txt 33 1 times (3 % of validations)

GTFS-RT feed content

Entities

Entities present in this feed at 2025-11-22 at 10:42 Europe/Paris.

trip_updates (6) 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-22 at 10:42 Europe/Paris. You can look at the GTFS-RT documentation.

{ "entity": [ { "id": "SM:3-305037559", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "delay": 60, "time": "1763803662" }, "departure": { "delay": 60, "time": "1763803680" }, "stopId": "60", "stopSequence": 5 }, { "arrival": { "delay": 54, "time": "1763803700" }, "departure": { "delay": 54, "time": "1763803734" }, "stopId": "51", "stopSequence": 6 }, { "arrival": { "delay": 69, "time": "1763803749" }, "departure": { "delay": 69, "time": "1763803809" }, "stopId": "19", "stopSequence": 7 }, { "arrival": { "delay": 60, "time": "1763803888" }, "departure": { "delay": 60, "time": "1763803920" }, "stopId": "22", "stopSequence": 8 }, { "arrival": { "delay": 68, "time": "1763804034" }, "departure": { "delay": 68, "time": "1763804048" }, "stopId": "58", "stopSequence": 9 }, { "arrival": { "delay": 62, "time": "1763804105" }, "departure": { "delay": 62, "time": "1763804162" }, "stopId": "75", "stopSequence": 10 }, { "arrival": { "delay": 106, "time": "1763804217" }, "departure": { "delay": 106, "time": "1763804266" }, "stopId": "79", "stopSequence": 11 }, { "arrival": { "delay": 30, "time": "1763804506" }, "departure": { "delay": 30, "time": "1763804550" }, "stopId": "29", "stopSequence": 13 }, { "arrival": { "delay": 30, "time": "1763804610" }, "departure": { "delay": 30, "time": "1763804610" }, "stopId": "27", "stopSequence": 14 }, { "arrival": { "delay": 30, "time": "1763804670" }, "stopId": "17", "stopSequence": 15 } ], "timestamp": "1763804523", "trip": { "routeId": "18", "tripId": "3-305037559" } } }, { "id": "SM:3-305037561", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "time": "1763805120" }, "stopId": "48", "stopSequence": 1 }, { "arrival": { "time": "1763805240" }, "departure": { "time": "1763805240" }, "stopId": "35", "stopSequence": 2 }, { "arrival": { "time": "1763805300" }, "departure": { "time": "1763805300" }, "stopId": "1", "stopSequence": 3 }, { "arrival": { "time": "1763805360" }, "departure": { "time": "1763805360" }, "stopId": "28", "stopSequence": 4 }, { "arrival": { "time": "1763805420" }, "departure": { "time": "1763805420" }, "stopId": "60", "stopSequence": 5 }, { "arrival": { "time": "1763805480" }, "departure": { "time": "1763805480" }, "stopId": "51", "stopSequence": 6 }, { "arrival": { "time": "1763805540" }, "departure": { "time": "1763805540" }, "stopId": "19", "stopSequence": 7 }, { "arrival": { "time": "1763805660" }, "departure": { "time": "1763805660" }, "stopId": "22", "stopSequence": 8 }, { "arrival": { "time": "1763805780" }, "departure": { "time": "1763805780" }, "stopId": "58", "stopSequence": 9 }, { "arrival": { "time": "1763805900" }, "departure": { "time": "1763805900" }, "stopId": "75", "stopSequence": 10 }, { "arrival": { "time": "1763805960" }, "departure": { "time": "1763805960" }, "stopId": "79", "stopSequence": 11 }, { "arrival": { "time": "1763806260" }, "departure": { "time": "1763806260" }, "stopId": "12", "stopSequence": 12 }, { "arrival": { "time": "1763806320" }, "departure": { "time": "1763806320" }, "stopId": "29", "stopSequence": 13 }, { "arrival": { "time": "1763806380" }, "departure": { "time": "1763806380" }, "stopId": "27", "stopSequence": 14 }, { "arrival": { "time": "1763806440" }, "stopId": "17", "stopSequence": 15 } ], "timestamp": "1763804524", "trip": { "routeId": "18", "tripId": "3-305037561" } } }, { "id": "SM:3-332660761", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 23, "time": "1763803823" }, "stopId": "98", "stopSequence": 1 }, { "arrival": { "delay": 20, "time": "1763803918" }, "departure": { "delay": 20, "time": "1763803940" }, "stopId": "110", "stopSequence": 2 }, { "arrival": { "delay": 48, "time": "1763803975" }, "departure": { "delay": 48, "time": "1763804028" }, "stopId": "112", "stopSequence": 3 }, { "arrival": { "delay": 55, "time": "1763804086" }, "departure": { "delay": 55, "time": "1763804095" }, "stopId": "109", "stopSequence": 4 }, { "arrival": { "delay": 64, "time": "1763804151" }, "departure": { "delay": 64, "time": "1763804164" }, "stopId": "99", "stopSequence": 5 }, { "arrival": { "delay": 39, "time": "1763804181" }, "departure": { "delay": 39, "time": "1763804199" }, "stopId": "104", "stopSequence": 6 }, { "arrival": { "delay": 35, "time": "1763804229" }, "departure": { "delay": 35, "time": "1763804255" }, "stopId": "107", "stopSequence": 7 }, { "arrival": { "delay": 72, "time": "1763804267" }, "departure": { "delay": 72, "time": "1763804412" }, "stopId": "103", "stopSequence": 8 }, { "arrival": { "delay": 80, "time": "1763804540" }, "departure": { "delay": 80, "time": "1763804540" }, "stopId": "96", "stopSequence": 9 }, { "arrival": { "delay": 80, "time": "1763804660" }, "departure": { "delay": 80, "time": "1763804660" }, "stopId": "101", "stopSequence": 10 }, { "arrival": { "delay": 80, "time": "1763804720" }, "departure": { "delay": 80, "time": "1763804720" }, "stopId": "106", "stopSequence": 11 }, { "arrival": { "delay": 80, "time": "1763804780" }, "departure": { "delay": 80, "time": "1763804780" }, "stopId": "114", "stopSequence": 12 }, { "arrival": { "delay": 80, "time": "1763804840" }, "departure": { "delay": 80, "time": "1763804840" }, "stopId": "94", "stopSequence": 13 }, { "arrival": { "delay": 80, "time": "1763804960" }, "departure": { "delay": 80, "time": "1763804960" }, "stopId": "55", "stopSequence": 14 }, { "arrival": { "delay": 80, "time": "1763805020" }, "departure": { "delay": 80, "time": "1763805020" }, "stopId": "66", "stopSequence": 15 }, { "arrival": { "delay": 80, "time": "1763805080" }, "departure": { "delay": 80, "time": "1763805080" }, "stopId": "73", "stopSequence": 16 }, { "arrival": { "delay": 80, "time": "1763805200" }, "departure": { "delay": 80, "time": "1763805200" }, "stopId": "37", "stopSequence": 17 }, { "arrival": { "delay": 80, "time": "1763805260" }, "departure": { "delay": 80, "time": "1763805260" }, "stopId": "4", "stopSequence": 18 }, { "arrival": { "delay": 80, "time": "1763805320" }, "departure": { "delay": 80, "time": "1763805320" }, "stopId": "76", "stopSequence": 19 }, { "arrival": { "delay": 80, "time": "1763805440" }, "departure": { "delay": 80, "time": "1763805440" }, "stopId": "14", "stopSequence": 20 }, { "arrival": { "delay": 80, "time": "1763805560" }, "stopId": "65", "stopSequence": 21 } ], "timestamp": "1763804521", "trip": { "routeId": "19", "tripId": "3-332660761" } } }, { "id": "SM:3-299040784", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 83, "time": "1763804183" }, "stopId": "69", "stopSequence": 1 }, { "arrival": { "delay": 135, "time": "1763804249" }, "departure": { "delay": 135, "time": "1763804295" }, "stopId": "61", "stopSequence": 2 }, { "arrival": { "delay": 125, "time": "1763804312" }, "departure": { "delay": 125, "time": "1763804345" }, "stopId": "33", "stopSequence": 3 }, { "arrival": { "delay": 131, "time": "1763804372" }, "departure": { "delay": 131, "time": "1763804411" }, "stopId": "53", "stopSequence": 4 }, { "arrival": { "delay": 109, "time": "1763804429" }, "departure": { "delay": 109, "time": "1763804449" }, "stopId": "63", "stopSequence": 5 }, { "arrival": { "delay": 119, "time": "1763804483" }, "departure": { "delay": 119, "time": "1763804519" }, "stopId": "31", "stopSequence": 6 }, { "arrival": { "delay": 100, "time": "1763804560" }, "departure": { "delay": 100, "time": "1763804560" }, "stopId": "43", "stopSequence": 7 }, { "arrival": { "delay": 100, "time": "1763804680" }, "departure": { "delay": 100, "time": "1763804680" }, "stopId": "49", "stopSequence": 8 }, { "arrival": { "delay": 100, "time": "1763804800" }, "departure": { "delay": 100, "time": "1763804800" }, "stopId": "71", "stopSequence": 9 }, { "arrival": { "delay": 100, "time": "1763804920" }, "departure": { "delay": 100, "time": "1763804920" }, "stopId": "37", "stopSequence": 10 }, { "arrival": { "delay": 100, "time": "1763804980" }, "departure": { "delay": 100, "time": "1763804980" }, "stopId": "4", "stopSequence": 11 }, { "arrival": { "delay": 100, "time": "1763805160" }, "departure": { "delay": 100, "time": "1763805160" }, "stopId": "24", "stopSequence": 12 }, { "arrival": { "delay": 100, "time": "1763805220" }, "departure": { "delay": 100, "time": "1763805220" }, "stopId": "26", "stopSequence": 13 }, { "arrival": { "delay": 100, "time": "1763805280" }, "departure": { "delay": 100, "time": "1763805280" }, "stopId": "85", "stopSequence": 14 }, { "arrival": { "delay": 100, "time": "1763805340" }, "departure": { "delay": 100, "time": "1763805340" }, "stopId": "15", "stopSequence": 15 }, { "arrival": { "delay": 100, "time": "1763805460" }, "stopId": "138", "stopSequence": 16 } ], "timestamp": "1763804519", "trip": { "directionId": 1, "routeId": "17", "tripId": "3-299040784" } } }, { "id": "SM:3-275709961", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "delay": 316, "time": "1763803749" }, "departure": { "delay": 316, "time": "1763803816" }, "stopId": "121", "stopSequence": 16 }, { "arrival": { "delay": 401, "time": "1763803930" }, "departure": { "delay": 401, "time": "1763803961" }, "stopId": "125", "stopSequence": 17 }, { "arrival": { "delay": 274, "time": "1763804019" }, "departure": { "delay": 274, "time": "1763804074" }, "stopId": "137", "stopSequence": 18 }, { "arrival": { "delay": 343, "time": "1763804149" }, "departure": { "delay": 343, "time": "1763804263" }, "stopId": "13", "stopSequence": 19 }, { "arrival": { "delay": 356, "time": "1763804387" }, "departure": { "delay": 356, "time": "1763804396" }, "stopId": "75", "stopSequence": 20 }, { "arrival": { "delay": 288, "time": "1763804410" }, "departure": { "delay": 288, "time": "1763804448" }, "stopId": "71", "stopSequence": 21 }, { "arrival": { "delay": 240, "time": "1763804494" }, "departure": { "delay": 240, "time": "1763804520" }, "stopId": "74", "stopSequence": 22 }, { "arrival": { "delay": 300, "time": "1763804640" }, "departure": { "delay": 300, "time": "1763804640" }, "stopId": "67", "stopSequence": 23 } ], "timestamp": "1763804522", "trip": { "routeId": "16", "tripId": "3-275709961" } } }, { "id": "SM:3-275709963", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "time": "1763805300" }, "stopId": "116", "stopSequence": 1 }, { "arrival": { "delay": 60, "time": "1763805420" }, "departure": { "delay": 60, "time": "1763805420" }, "stopId": "126", "stopSequence": 2 }, { "arrival": { "delay": 120, "time": "1763805540" }, "departure": { "delay": 120, "time": "1763805540" }, "stopId": "117", "stopSequence": 3 }, { "arrival": { "delay": 120, "time": "1763805660" }, "departure": { "delay": 120, "time": "1763805660" }, "stopId": "127", "stopSequence": 4 }, { "arrival": { "delay": 120, "time": "1763805780" }, "departure": { "delay": 120, "time": "1763805780" }, "stopId": "130", "stopSequence": 5 }, { "arrival": { "delay": 60, "time": "1763805840" }, "departure": { "delay": 60, "time": "1763805840" }, "stopId": "129", "stopSequence": 6 }, { "arrival": { "delay": 60, "time": "1763805900" }, "departure": { "delay": 60, "time": "1763805900" }, "stopId": "118", "stopSequence": 7 }, { "arrival": { "delay": 120, "time": "1763806020" }, "departure": { "delay": 120, "time": "1763806020" }, "stopId": "122", "stopSequence": 8 }, { "arrival": { "delay": 60, "time": "1763806080" }, "departure": { "delay": 60, "time": "1763806080" }, "stopId": "146", "stopSequence": 9 }, { "arrival": { "delay": 300, "time": "1763806380" }, "departure": { "delay": 300, "time": "1763806380" }, "stopId": "148", "stopSequence": 10 }, { "arrival": { "delay": 180, "time": "1763806440" }, "departure": { "delay": 180, "time": "1763806440" }, "stopId": "133", "stopSequence": 11 }, { "arrival": { "delay": 240, "time": "1763806620" }, "departure": { "delay": 240, "time": "1763806620" }, "stopId": "135", "stopSequence": 12 }, { "arrival": { "delay": 480, "time": "1763806920" }, "departure": { "delay": 480, "time": "1763806920" }, "stopId": "144", "stopSequence": 13 }, { "arrival": { "delay": 480, "time": "1763807100" }, "departure": { "delay": 480, "time": "1763807100" }, "stopId": "143", "stopSequence": 14 }, { "arrival": { "delay": 240, "time": "1763807160" }, "departure": { "delay": 240, "time": "1763807160" }, "stopId": "141", "stopSequence": 15 }, { "arrival": { "delay": 300, "time": "1763807400" }, "departure": { "delay": 300, "time": "1763807400" }, "stopId": "121", "stopSequence": 16 }, { "arrival": { "delay": 360, "time": "1763807520" }, "departure": { "delay": 360, "time": "1763807520" }, "stopId": "125", "stopSequence": 17 }, { "arrival": { "delay": 240, "time": "1763807640" }, "departure": { "delay": 240, "time": "1763807640" }, "stopId": "137", "stopSequence": 18 }, { "arrival": { "delay": 240, "time": "1763807760" }, "departure": { "delay": 240, "time": "1763807760" }, "stopId": "13", "stopSequence": 19 }, { "arrival": { "delay": 240, "time": "1763807880" }, "departure": { "delay": 240, "time": "1763807880" }, "stopId": "75", "stopSequence": 20 }, { "arrival": { "delay": 180, "time": "1763807940" }, "departure": { "delay": 180, "time": "1763807940" }, "stopId": "71", "stopSequence": 21 }, { "arrival": { "delay": 120, "time": "1763808000" }, "departure": { "delay": 120, "time": "1763808000" }, "stopId": "74", "stopSequence": 22 }, { "arrival": { "delay": 180, "time": "1763808120" }, "departure": { "delay": 180, "time": "1763808120" }, "stopId": "67", "stopSequence": 23 } ], "timestamp": "1763804522", "trip": { "routeId": "16", "tripId": "3-275709963" } } } ], "header": { "gtfsRealtimeVersion": "1.0", "timestamp": "1763804576" } }