Resource details

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

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

Download availability

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

⚠️291 warnings

Validation carried out using the current GTFS file and the GTFS-RT the 2026-02-24 at 08:11 Europe/Paris using the MobilityData GTFS-RT validator.

Warnings

vehicle_id not populated W002 97 errors

vehicle_id should be populated for TripUpdates and VehiclePositions

Sample errors
  • trip_id b43b2498-70a7-4140-a11c-ae64c6e0f2c3 does not have a vehicle_id
  • trip_id 14f97c40-e1ba-4d3d-a423-68a4b9cf489f does not have a vehicle_id
  • trip_id 1c6b993b-001d-4594-89d5-6b092373f939 does not have a vehicle_id
  • trip_id 1d141152-b3e9-48c4-a505-44513daa0093 does not have a vehicle_id
  • trip_id 4659d11c-3690-4e71-817c-79971f9c4eeb does not have a vehicle_id

schedule_relationship not populated W009 194 errors

trip.schedule_relationship and stop_time_update.schedule_relationship should be populated

Sample errors
  • trip_id b43b2498-70a7-4140-a11c-ae64c6e0f2c3 stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
  • trip_id b43b2498-70a7-4140-a11c-ae64c6e0f2c3 does not have a schedule_relationship
  • trip_id 14f97c40-e1ba-4d3d-a423-68a4b9cf489f stop_sequence 1 (and potentially more for this trip) does not have a schedule_relationship
  • trip_id 14f97c40-e1ba-4d3d-a423-68a4b9cf489f does not have a schedule_relationship
  • trip_id 1c6b993b-001d-4594-89d5-6b092373f939 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 2,815 24 times (83 % of validations)
W009 trip.schedule_relationship and stop_time_update.schedule_relationship should be populated 5,630 24 times (83 % 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. 16 9 times (31 % of validations)
W008 The data in a GTFS-realtime feed should always be less than one minute old 6 6 times (21 % of validations)
E037 Sequential GTFS-rt trip stop_time_updates shouldn't have the same stop_id 51 3 times (10 % of validations)
E022 stop_time_update arrival/departure times between sequential stops should always increase - they should never be the same or decrease. 1 1 times (3 % of validations)

GTFS-RT feed content

Entities

Entities present in this feed at 2026-02-25 at 06:32 Europe/Paris.

trip_updates (2) 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-02-25 at 06:32 Europe/Paris. You can look at the GTFS-RT documentation.

{ "entity": [ { "id": "SM:7d55e893-0187-4686-93d7-b276ad58e65f", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "delay": 287, "time": "1771996654" }, "departure": { "delay": 287, "time": "1771996667" }, "stopId": "160969", "stopSequence": 10 }, { "arrival": { "delay": 195, "time": "1771996676" }, "departure": { "delay": 195, "time": "1771996695" }, "stopId": "160968", "stopSequence": 11 }, { "arrival": { "delay": 228, "time": "1771996730" }, "departure": { "delay": 228, "time": "1771996788" }, "stopId": "160967", "stopSequence": 12 }, { "arrival": { "delay": 233, "time": "1771996834" }, "departure": { "delay": 233, "time": "1771996853" }, "stopId": "160966", "stopSequence": 13 }, { "arrival": { "delay": 205, "time": "1771996875" }, "departure": { "delay": 205, "time": "1771996885" }, "stopId": "160898", "stopSequence": 14 }, { "arrival": { "delay": 185, "time": "1771996908" }, "departure": { "delay": 185, "time": "1771996925" }, "stopId": "160991", "stopSequence": 15 }, { "arrival": { "delay": 236, "time": "1771997034" }, "departure": { "delay": 236, "time": "1771997036" }, "stopId": "160900", "stopSequence": 16 }, { "arrival": { "delay": 252, "time": "1771997100" }, "departure": { "delay": 252, "time": "1771997112" }, "stopId": "160901", "stopSequence": 17 }, { "arrival": { "delay": 292, "time": "1771997192" }, "departure": { "delay": 292, "time": "1771997212" }, "stopId": "160902", "stopSequence": 18 }, { "arrival": { "delay": 271, "time": "1771997240" }, "departure": { "delay": 271, "time": "1771997251" }, "stopId": "160903", "stopSequence": 19 }, { "arrival": { "delay": 253, "time": "1771997283" }, "departure": { "delay": 253, "time": "1771997293" }, "stopId": "160904", "stopSequence": 20 }, { "arrival": { "delay": 244, "time": "1771997321" }, "departure": { "delay": 244, "time": "1771997344" }, "stopId": "160895", "stopSequence": 21 }, { "arrival": { "delay": 215, "time": "1771997366" }, "departure": { "delay": 215, "time": "1771997375" }, "stopId": "160896", "stopSequence": 22 }, { "arrival": { "delay": 184, "time": "1771997396" }, "departure": { "delay": 184, "time": "1771997404" }, "stopId": "160897", "stopSequence": 23 }, { "arrival": { "delay": 192, "time": "1771997464" }, "departure": { "delay": 192, "time": "1771997472" }, "stopId": "160914", "stopSequence": 24 }, { "arrival": { "delay": 168, "time": "1771997499" }, "departure": { "delay": 168, "time": "1771997508" }, "stopId": "160916", "stopSequence": 25 }, { "arrival": { "delay": 168, "time": "1771997568" }, "departure": { "delay": 168, "time": "1771997568" }, "stopId": "160910", "stopSequence": 26 }, { "arrival": { "delay": 168, "time": "1771997628" }, "departure": { "delay": 168, "time": "1771997628" }, "stopId": "160912", "stopSequence": 27 }, { "arrival": { "delay": 168, "time": "1771997688" }, "departure": { "delay": 168, "time": "1771997688" }, "stopId": "160920", "stopSequence": 28 }, { "arrival": { "delay": 168, "time": "1771997748" }, "departure": { "delay": 168, "time": "1771997748" }, "stopId": "161045", "stopSequence": 29 }, { "arrival": { "delay": 168, "time": "1771997808" }, "departure": { "delay": 168, "time": "1771997808" }, "stopId": "160917", "stopSequence": 30 }, { "arrival": { "delay": 168, "time": "1771997868" }, "departure": { "delay": 168, "time": "1771997868" }, "stopId": "160919", "stopSequence": 31 }, { "arrival": { "delay": 168, "time": "1771997928" }, "departure": { "delay": 168, "time": "1771997928" }, "stopId": "160783", "stopSequence": 32 }, { "arrival": { "delay": 168, "time": "1771997988" }, "departure": { "delay": 168, "time": "1771997988" }, "stopId": "160782", "stopSequence": 33 }, { "arrival": { "delay": 168, "time": "1771998048" }, "departure": { "delay": 168, "time": "1771998408" }, "stopId": "160781", "stopSequence": 34 }, { "arrival": { "delay": 168, "time": "1771998468" }, "departure": { "delay": 168, "time": "1771998468" }, "stopId": "160778", "stopSequence": 35 }, { "arrival": { "delay": 168, "time": "1771998528" }, "departure": { "delay": 168, "time": "1771998528" }, "stopId": "160785", "stopSequence": 36 }, { "arrival": { "delay": 168, "time": "1771998588" }, "departure": { "delay": 168, "time": "1771998588" }, "stopId": "160784", "stopSequence": 37 }, { "arrival": { "delay": 168, "time": "1771998648" }, "departure": { "delay": 168, "time": "1771998648" }, "stopId": "160884", "stopSequence": 38 }, { "arrival": { "delay": 168, "time": "1771998708" }, "departure": { "delay": 168, "time": "1771998708" }, "stopId": "160877", "stopSequence": 39 }, { "arrival": { "delay": 168, "time": "1771998768" }, "departure": { "delay": 168, "time": "1771998768" }, "stopId": "160871", "stopSequence": 40 }, { "arrival": { "delay": 168, "time": "1771998828" }, "departure": { "delay": 168, "time": "1771998828" }, "stopId": "160868", "stopSequence": 41 }, { "arrival": { "delay": 168, "time": "1771998888" }, "departure": { "delay": 168, "time": "1771998888" }, "stopId": "160823", "stopSequence": 42 }, { "arrival": { "delay": 168, "time": "1771998948" }, "departure": { "delay": 168, "time": "1771998948" }, "stopId": "160822", "stopSequence": 43 }, { "arrival": { "delay": 168, "time": "1771999008" }, "departure": { "delay": 168, "time": "1771999008" }, "stopId": "160820", "stopSequence": 44 }, { "arrival": { "delay": 168, "time": "1771999068" }, "departure": { "delay": 168, "time": "1771999068" }, "stopId": "STP-PORTE-DE-FRANCE", "stopSequence": 45 }, { "arrival": { "delay": 168, "time": "1771999128" }, "departure": { "delay": 168, "time": "1771999128" }, "stopId": "160876", "stopSequence": 46 }, { "arrival": { "delay": 168, "time": "1771999188" }, "departure": { "delay": 168, "time": "1771999188" }, "stopId": "160886", "stopSequence": 47 }, { "arrival": { "delay": 168, "time": "1771999248" }, "stopId": "160885", "stopSequence": 48 } ], "timestamp": "1771997523", "trip": { "directionId": 1, "routeId": "LIGNE-1", "tripId": "7d55e893-0187-4686-93d7-b276ad58e65f" } } }, { "id": "SM:c13b19d1-f04f-4677-8ccb-5c75faa3a729", "tripUpdate": { "stopTimeUpdate": [ { "arrival": { "delay": 380, "time": "1771996619" }, "departure": { "delay": 380, "time": "1771996640" }, "stopId": "160886", "stopSequence": 2 }, { "arrival": { "delay": 361, "time": "1771996673" }, "departure": { "delay": 361, "time": "1771996681" }, "stopId": "160876", "stopSequence": 3 }, { "arrival": { "delay": 355, "time": "1771996726" }, "departure": { "delay": 355, "time": "1771996735" }, "stopId": "STP-", "stopSequence": 4 }, { "arrival": { "delay": 338, "time": "1771996770" }, "departure": { "delay": 338, "time": "1771996778" }, "stopId": "160820", "stopSequence": 5 }, { "arrival": { "delay": 336, "time": "1771996822" }, "departure": { "delay": 336, "time": "1771996836" }, "stopId": "160822", "stopSequence": 6 }, { "arrival": { "delay": 299, "time": "1771996850" }, "departure": { "delay": 299, "time": "1771996859" }, "stopId": "160823", "stopSequence": 7 }, { "arrival": { "delay": 269, "time": "1771996907" }, "departure": { "delay": 269, "time": "1771996949" }, "stopId": "160868", "stopSequence": 8 }, { "arrival": { "delay": 311, "time": "1771997050" }, "departure": { "delay": 311, "time": "1771997051" }, "stopId": "STP-STP-SAINT-THEODORE-2", "stopSequence": 9 }, { "arrival": { "delay": 282, "time": "1771997069" }, "departure": { "delay": 282, "time": "1771997082" }, "stopId": "160771", "stopSequence": 10 }, { "arrival": { "delay": 256, "time": "1771997109" }, "departure": { "delay": 256, "time": "1771997116" }, "stopId": "160877", "stopSequence": 11 }, { "arrival": { "delay": 223, "time": "1771997136" }, "departure": { "delay": 223, "time": "1771997143" }, "stopId": "160884", "stopSequence": 12 }, { "arrival": { "delay": 210, "time": "1771997181" }, "departure": { "delay": 210, "time": "1771997190" }, "stopId": "160784", "stopSequence": 13 }, { "arrival": { "delay": 175, "time": "1771997205" }, "departure": { "delay": 175, "time": "1771997215" }, "stopId": "160785", "stopSequence": 14 }, { "arrival": { "delay": 180, "time": "1771997268" }, "departure": { "delay": 180, "time": "1771997280" }, "stopId": "160778", "stopSequence": 15 }, { "arrival": { "delay": 194, "time": "1771997311" }, "departure": { "delay": 194, "time": "1771997354" }, "stopId": "160781", "stopSequence": 16 }, { "arrival": { "delay": 122, "time": "1771997446" }, "departure": { "delay": 122, "time": "1771997462" }, "stopId": "160782", "stopSequence": 17 }, { "arrival": { "delay": 109, "time": "1771997495" }, "departure": { "delay": 109, "time": "1771997509" }, "stopId": "160783", "stopSequence": 18 }, { "arrival": { "delay": 109, "time": "1771997569" }, "departure": { "delay": 109, "time": "1771997569" }, "stopId": "161035", "stopSequence": 19 }, { "arrival": { "delay": 109, "time": "1771997629" }, "departure": { "delay": 109, "time": "1771997629" }, "stopId": "161034", "stopSequence": 20 }, { "arrival": { "delay": 109, "time": "1771997689" }, "departure": { "delay": 109, "time": "1771997689" }, "stopId": "161033", "stopSequence": 21 }, { "arrival": { "delay": 109, "time": "1771997749" }, "departure": { "delay": 109, "time": "1771997749" }, "stopId": "161012", "stopSequence": 22 }, { "arrival": { "delay": 109, "time": "1771997809" }, "departure": { "delay": 109, "time": "1771997809" }, "stopId": "160910", "stopSequence": 23 }, { "arrival": { "delay": 109, "time": "1771997869" }, "departure": { "delay": 109, "time": "1771997869" }, "stopId": "160916", "stopSequence": 24 }, { "arrival": { "delay": 109, "time": "1771997929" }, "departure": { "delay": 109, "time": "1771997929" }, "stopId": "160914", "stopSequence": 25 }, { "arrival": { "delay": 109, "time": "1771997989" }, "departure": { "delay": 109, "time": "1771997989" }, "stopId": "160897", "stopSequence": 26 }, { "arrival": { "delay": 109, "time": "1771998049" }, "departure": { "delay": 109, "time": "1771998049" }, "stopId": "160896", "stopSequence": 27 }, { "arrival": { "delay": 109, "time": "1771998109" }, "departure": { "delay": 109, "time": "1771998109" }, "stopId": "160895", "stopSequence": 28 }, { "arrival": { "delay": 109, "time": "1771998169" }, "departure": { "delay": 109, "time": "1771998169" }, "stopId": "160904", "stopSequence": 29 }, { "arrival": { "delay": 109, "time": "1771998229" }, "departure": { "delay": 109, "time": "1771998229" }, "stopId": "160903", "stopSequence": 30 }, { "arrival": { "delay": 109, "time": "1771998289" }, "departure": { "delay": 109, "time": "1771998289" }, "stopId": "160902", "stopSequence": 31 }, { "arrival": { "delay": 109, "time": "1771998349" }, "departure": { "delay": 109, "time": "1771998349" }, "stopId": "160901", "stopSequence": 32 }, { "arrival": { "delay": 109, "time": "1771998409" }, "departure": { "delay": 109, "time": "1771998409" }, "stopId": "160900", "stopSequence": 33 }, { "arrival": { "delay": 109, "time": "1771998469" }, "departure": { "delay": 109, "time": "1771998469" }, "stopId": "160899", "stopSequence": 34 }, { "arrival": { "delay": 109, "time": "1771998529" }, "departure": { "delay": 109, "time": "1771998529" }, "stopId": "160898", "stopSequence": 35 }, { "arrival": { "delay": 109, "time": "1771998589" }, "departure": { "delay": 109, "time": "1771998589" }, "stopId": "160966", "stopSequence": 36 }, { "arrival": { "delay": 109, "time": "1771998649" }, "stopId": "160938", "stopSequence": 37 } ], "timestamp": "1771997523", "trip": { "routeId": "LIGNE-1", "tripId": "c13b19d1-f04f-4677-8ccb-5c75faa3a729" } } } ], "header": { "gtfsRealtimeVersion": "1.0", "timestamp": "1771997549" } }