Resource details

File name: Horaire temps réel (GTFS-RT PROTOBUF) - réseau TOHM
Format: gtfs-rt

Données horaires temps réel, au format GTFS-RT PROTOBUF, du réseau TOHM

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

Download availability

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

⚠️48 warnings

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

Warnings

vehicle_id not populated W002 16 errors

vehicle_id should be populated for TripUpdates and VehiclePositions

Sample errors
  • trip_id 2605 does not have a vehicle_id
  • trip_id 2606 does not have a vehicle_id
  • trip_id 2607 does not have a vehicle_id
  • trip_id 2608 does not have a vehicle_id
  • trip_id 2641 does not have a vehicle_id

schedule_relationship not populated W009 32 errors

trip.schedule_relationship and stop_time_update.schedule_relationship should be populated

Sample errors
  • trip_id 2605 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
  • trip_id 2605 does not have a schedule_relationship
  • trip_id 2606 stop_sequence 4 (and potentially more for this trip) does not have a schedule_relationship
  • trip_id 2606 does not have a schedule_relationship
  • trip_id 2607 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 361 28 times (93 % of validations)
W009 trip.schedule_relationship and stop_time_update.schedule_relationship should be populated 718 28 times (93 % of validations)
W008 The data in a GTFS-realtime feed should always be less than one minute old 2 2 times (7 % of validations)
E037 Sequential GTFS-rt trip stop_time_updates shouldn't have the same stop_id 1 1 times (3 % of validations)

GTFS-RT feed content

Entities

Entities present in this feed at 2026-04-24 at 07:47 Europe/Paris.

trip_updates (16) 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-04-24 at 07:47 Europe/Paris. You can look at the GTFS-RT documentation.

{ "entity": [ { "id": "SM:2603", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "time": "1777008720" }, "departure": { "time": "1777008720" }, "stopId": "PSMCHM1", "stopSequence": 2 }, { "arrival": { "delay": -15, "time": "1777008870" }, "departure": { "delay": -15, "time": "1777008885" }, "stopId": "PSMMRI1", "stopSequence": 3 }, { "arrival": { "delay": -17, "time": "1777009123" }, "departure": { "delay": -17, "time": "1777009123" }, "stopId": "PSMHOP1", "stopSequence": 4 }, { "arrival": { "delay": -17, "time": "1777009243" }, "departure": { "delay": -17, "time": "1777009243" }, "stopId": "PSMSEU1", "stopSequence": 5 }, { "arrival": { "delay": 62, "time": "1777009502" }, "departure": { "delay": 62, "time": "1777009502" }, "stopId": "PSMMBR1", "stopSequence": 6 }, { "arrival": { "delay": 68, "time": "1777009568" }, "departure": { "delay": 68, "time": "1777009568" }, "stopId": "PSMVMT1", "stopSequence": 7 }, { "arrival": { "delay": 68, "time": "1777009688" }, "departure": { "delay": 68, "time": "1777009688" }, "stopId": "PSMJDF1", "stopSequence": 8 }, { "arrival": { "delay": 68, "time": "1777009748" }, "departure": { "delay": 68, "time": "1777009748" }, "stopId": "PSMCBR1", "stopSequence": 9 }, { "arrival": { "delay": 19, "time": "1777010359" }, "stopId": "PSMCOA1", "stopSequence": 10 } ], "timestamp": "1777005125", "trip": { "routeId": "A1", "tripId": "2603" } } }, { "id": "SM:2604", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "time": "1777011600" }, "stopId": "PSMGAR2", "stopSequence": 8 } ], "timestamp": "1777008005", "trip": { "directionId": 1, "routeId": "A1", "tripId": "2604" } } }, { "id": "SM:2605", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "time": "1777012800" }, "departure": { "time": "1777012800" }, "stopId": "PSMSEU1", "stopSequence": 5 }, { "arrival": { "time": "1777013160" }, "departure": { "time": "1777013160" }, "stopId": "PSMJDF1", "stopSequence": 8 } ], "timestamp": "1777009206", "trip": { "routeId": "A1", "tripId": "2605" } } }, { "id": "SM:2638", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "delay": -12, "time": "1777007988" }, "departure": { "delay": -12, "time": "1777007988" }, "stopId": "PSMVMT2", "stopSequence": 2 }, { "arrival": { "delay": 35, "time": "1777008155" }, "departure": { "delay": 35, "time": "1777008155" }, "stopId": "PSMMRI2", "stopSequence": 4 }, { "arrival": { "delay": 34, "time": "1777008454" }, "departure": { "delay": 34, "time": "1777008454" }, "stopId": "PSMBAT2", "stopSequence": 5 }, { "arrival": { "delay": 35, "time": "1777008515" }, "departure": { "delay": 35, "time": "1777008515" }, "stopId": "PSMECL1", "stopSequence": 6 }, { "arrival": { "delay": 34, "time": "1777008634" }, "departure": { "delay": 34, "time": "1777008634" }, "stopId": "PSMOUR1", "stopSequence": 7 }, { "arrival": { "delay": 34, "time": "1777008694" }, "departure": { "delay": 34, "time": "1777008694" }, "stopId": "PSMPLA2", "stopSequence": 8 }, { "arrival": { "delay": 34, "time": "1777008754" }, "departure": { "delay": 34, "time": "1777008754" }, "stopId": "PSMCDG1", "stopSequence": 9 }, { "arrival": { "delay": 33, "time": "1777008873" }, "departure": { "delay": 33, "time": "1777008873" }, "stopId": "PSMVMO1", "stopSequence": 10 }, { "arrival": { "delay": 33, "time": "1777008933" }, "departure": { "delay": 33, "time": "1777008933" }, "stopId": "PSMCOU1", "stopSequence": 11 }, { "arrival": { "delay": 33, "time": "1777008993" }, "stopId": "PSMGRE1", "stopSequence": 12 } ], "timestamp": "1777007995", "trip": { "directionId": 1, "routeId": "A2", "tripId": "2638" } } }, { "id": "SM:2639", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "time": "1777009200" }, "stopId": "PSMCHM1", "stopSequence": 1 }, { "arrival": { "time": "1777009620" }, "departure": { "time": "1777009620" }, "stopId": "PSMMRI1", "stopSequence": 2 }, { "arrival": { "delay": -247, "time": "1777009793" }, "departure": { "delay": -247, "time": "1777009793" }, "stopId": "PSMMBR1", "stopSequence": 3 }, { "arrival": { "delay": -272, "time": "1777009888" }, "departure": { "delay": -272, "time": "1777009888" }, "stopId": "PSMVMT1", "stopSequence": 4 }, { "arrival": { "delay": -272, "time": "1777010008" }, "departure": { "delay": -272, "time": "1777010008" }, "stopId": "PSMJDF1", "stopSequence": 5 }, { "arrival": { "delay": -272, "time": "1777010068" }, "departure": { "delay": -272, "time": "1777010068" }, "stopId": "PSMCBR1", "stopSequence": 6 }, { "arrival": { "time": "1777010520" }, "stopId": "PSMCOA1", "stopSequence": 7 } ], "timestamp": "1777008912", "trip": { "routeId": "A1", "tripId": "2639" } } }, { "id": "SM:2640", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "time": "1777011600" }, "departure": { "time": "1777011600" }, "stopId": "PSMVMT2", "stopSequence": 2 }, { "arrival": { "time": "1777012800" }, "stopId": "PSMGAR1", "stopSequence": 13 } ], "timestamp": "1777008004", "trip": { "directionId": 1, "routeId": "A2", "tripId": "2640" } } }, { "id": "SM:2672", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 46, "time": "1777008526" }, "scheduleRelationship": "SKIPPED", "stopId": "BRLBVI1", "stopSequence": 1 }, { "arrival": { "time": "1777008960" }, "departure": { "time": "1777008960" }, "stopId": "PSMART1", "stopSequence": 5 }, { "arrival": { "delay": -162, "time": "1777009248" }, "departure": { "delay": -162, "time": "1777009338" }, "stopId": "PSMGAR1", "stopSequence": 10 }, { "arrival": { "delay": 76, "time": "1777009816" }, "departure": { "delay": 76, "time": "1777009816" }, "stopId": "LAGVER1", "stopSequence": 11 }, { "arrival": { "delay": 76, "time": "1777010056" }, "departure": { "delay": 76, "time": "1777010056" }, "stopId": "LAGDUP1", "stopSequence": 12 }, { "arrival": { "delay": -72, "time": "1777010088" }, "stopId": "PSMAUV1", "stopSequence": 13 } ], "timestamp": "1777008551", "trip": { "routeId": "B", "tripId": "2672" } } }, { "id": "SM:2673", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "time": "1777010760" }, "departure": { "time": "1777010760" }, "stopId": "LAGDUP1", "stopSequence": 2 }, { "arrival": { "time": "1777011660" }, "departure": { "time": "1777011660" }, "stopId": "PSMSAL2", "stopSequence": 7 }, { "arrival": { "time": "1777012500" }, "departure": { "time": "1777012500" }, "stopId": "BRLMON2", "stopSequence": 15 }, { "arrival": { "time": "1777012620" }, "stopId": "BRLBVI2", "stopSequence": 16 } ], "timestamp": "1777007168", "trip": { "directionId": 1, "routeId": "B", "tripId": "2673" } } }, { "id": "SM:2696", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "delay": 63, "time": "1777008123" }, "departure": { "delay": 63, "time": "1777008123" }, "stopId": "PSMMNK1", "stopSequence": 3 }, { "arrival": { "delay": -22, "time": "1777008158" }, "departure": { "delay": -22, "time": "1777008158" }, "stopId": "PSMMRI1", "stopSequence": 4 }, { "arrival": { "delay": -22, "time": "1777008398" }, "departure": { "delay": -22, "time": "1777008398" }, "stopId": "PSMSLT1", "stopSequence": 5 }, { "arrival": { "delay": -54, "time": "1777008486" }, "departure": { "delay": -54, "time": "1777008486" }, "stopId": "PTPPHL1", "stopSequence": 6 }, { "arrival": { "delay": -54, "time": "1777008546" }, "departure": { "delay": -54, "time": "1777008546" }, "stopId": "PTPSPA1", "stopSequence": 7 }, { "arrival": { "delay": -54, "time": "1777008726" }, "departure": { "delay": -54, "time": "1777008726" }, "stopId": "PTPSTG1", "stopSequence": 8 }, { "arrival": { "delay": -18, "time": "1777008882" }, "departure": { "delay": -18, "time": "1777008882" }, "stopId": "PTPSTP1", "stopSequence": 9 }, { "arrival": { "delay": -64, "time": "1777009136" }, "departure": { "delay": -64, "time": "1777009196" }, "stopId": "PTPMOR1", "stopSequence": 10 }, { "arrival": { "delay": -64, "time": "1777009256" }, "stopId": "PTPCRS1", "stopSequence": 11 } ], "timestamp": "1777008002", "trip": { "routeId": "C", "tripId": "2696" } } }, { "id": "SM:2698", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "time": "1777011660" }, "departure": { "time": "1777011660" }, "stopId": "PSMMNK1", "stopSequence": 3 }, { "arrival": { "time": "1777012020" }, "departure": { "time": "1777012020" }, "stopId": "PSMSLT1", "stopSequence": 5 }, { "arrival": { "time": "1777012500" }, "departure": { "time": "1777012500" }, "stopId": "PTPSTP1", "stopSequence": 9 } ], "timestamp": "1777008070", "trip": { "routeId": "C", "tripId": "2698" } } }, { "id": "SM:2723", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "delay": 120, "time": "1777008420" }, "stopId": "PSMGAR1", "stopSequence": 1 }, { "arrival": { "delay": 240, "time": "1777008960" }, "departure": { "delay": 240, "time": "1777008960" }, "stopId": "PSMAUV2", "stopSequence": 2 }, { "arrival": { "delay": 18, "time": "1777009278" }, "departure": { "delay": 18, "time": "1777009278" }, "stopId": "SMLRNS1", "stopSequence": 5 }, { "arrival": { "delay": 18, "time": "1777009398" }, "departure": { "delay": 18, "time": "1777009398" }, "stopId": "SMLRNN1", "stopSequence": 6 }, { "arrival": { "delay": 18, "time": "1777009458" }, "departure": { "delay": 18, "time": "1777009458" }, "stopId": "SMLRDE2", "stopSequence": 7 }, { "arrival": { "delay": 18, "time": "1777009638" }, "stopId": "SMLCAM1", "stopSequence": 8 } ], "timestamp": "1777008427", "trip": { "directionId": 1, "routeId": "D", "tripId": "2723" } } }, { "id": "SM:2725", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "time": "1777012800" }, "departure": { "time": "1777012800" }, "stopId": "PSMAUV1", "stopSequence": 4 }, { "arrival": { "time": "1777013100" }, "departure": { "time": "1777013100" }, "stopId": "SMLRNS1", "stopSequence": 5 } ], "timestamp": "1777009206", "trip": { "directionId": 1, "routeId": "D", "tripId": "2725" } } }, { "id": "SM:2758", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "time": "1777011360" }, "departure": { "time": "1777011360" }, "stopId": "CIQAGM1", "stopSequence": 7 } ], "timestamp": "1777007768", "trip": { "routeId": "E", "tripId": "2758" } } }, { "id": "SM:2793", "tripUpdate": { "stopTimeUpdate": [ { "departure": { "time": "1777008000" }, "stopId": "PSMMRI1", "stopSequence": 1 }, { "arrival": { "time": "1777008120" }, "departure": { "time": "1777008120" }, "stopId": "PSMFEL1", "stopSequence": 3 }, { "arrival": { "time": "1777008780" }, "departure": { "time": "1777008780" }, "stopId": "VNHCRV1", "stopSequence": 5 }, { "arrival": { "time": "1777008960" }, "departure": { "time": "1777008960" }, "stopId": "VNHEGL1", "stopSequence": 11 }, { "arrival": { "time": "1777009560" }, "departure": { "time": "1777009560" }, "stopId": "VNHALT21", "stopSequence": 15 }, { "arrival": { "delay": 20, "time": "1777009820" }, "stopId": "VNHALT4", "stopSequence": 19 } ], "timestamp": "1777004408", "trip": { "routeId": "TD4", "tripId": "2793" } } }, { "id": "SM:2794", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "time": "1777010520" }, "departure": { "time": "1777010520" }, "stopId": "VNHINS2", "stopSequence": 7 }, { "arrival": { "time": "1777010700" }, "departure": { "time": "1777010700" }, "stopId": "VNHETG2", "stopSequence": 10 }, { "arrival": { "time": "1777010760" }, "departure": { "time": "1777010760" }, "stopId": "VNHGYM2", "stopSequence": 12 }, { "arrival": { "time": "1777011600" }, "stopId": "PSMMRI2", "stopSequence": 19 } ], "timestamp": "1777006925", "trip": { "directionId": 1, "routeId": "TD4", "tripId": "2794" } } }, { "id": "SM:2795", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "time": "1777012800" }, "departure": { "time": "1777012800" }, "stopId": "VNHETG1", "stopSequence": 10 }, { "arrival": { "time": "1777013100" }, "departure": { "time": "1777013100" }, "stopId": "VNHTAL", "stopSequence": 14 } ], "timestamp": "1777009205", "trip": { "routeId": "TD4", "tripId": "2795" } } } ], "header": { "gtfsRealtimeVersion": "1.0", "timestamp": "1777009651" } }