Resource details

File name: Position des véhicules du réseau FORBUS
Format: gtfs-rt

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

Download availability

2026-03-11
100%
2026-03-12
93.6%
2026-03-13
88.9%
2026-03-14
69.1%
2026-03-15
57.8%
2026-03-16
87.3%
2026-03-17
78.5%
2026-03-18
74.8%
2026-03-19
77%
2026-03-20
74.5%
2026-03-21
68.9%
2026-03-22
55.8%
2026-03-23
74.6%
2026-03-24
84.1%
2026-03-25
87.7%
2026-03-26
95.7%
2026-03-27
92.1%
2026-03-28
69%
2026-03-29
58%
2026-03-30
94.1%
2026-03-31
96.4%
2026-04-01
96.4%
2026-04-02
84.2%
2026-04-03
71.1%
2026-04-04
84.7%
2026-04-05
50.7%
2026-04-06
60.1%
2026-04-07
87.4%
2026-04-08
84.6%
2026-04-09
75.3%
2026-04-10
61.7%
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

2 errors, 20 warnings

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

Errors

Vehicle position outside agency coverage area E028 2 errors

The vehicle position should be inside the agency coverage area. This is defined as within roughly 1/8 of a mile (200 meters) of the GTFS shapes.txt data, or stops.txt locations if the GTFS feed doesn't include shapes.txt.

Sample errors
  • vehicle.id 217 at (0.0,0.0) is more than 1609.0 meters (1.00 mile(s)) outside entire GTFS stops.txt coverage area - vehicle should be within area
  • vehicle.id 226 at (0.0,0.0) is more than 1609.0 meters (1.00 mile(s)) outside entire GTFS stops.txt coverage area - vehicle should be within area

Warnings

timestamp not populated W001 2 errors

Timestamps should be populated for all elements

Sample errors
  • vehicle_id 217 does not have a timestamp
  • vehicle_id 226 does not have a timestamp

schedule_relationship not populated W009 18 errors

trip.schedule_relationship and stop_time_update.schedule_relationship should be populated

Sample errors
  • trip_id 4fbc5bab-2ff9-4e21-acf5-de02c3f7c692 does not have a schedule_relationship
  • trip_id 3bf97cd7-5c38-448c-a047-dad1da69af69 does not have a schedule_relationship
  • trip_id 1da02b6a-6eb2-4932-ab6b-d07e8443c495 does not have a schedule_relationship
  • trip_id 1f569428-cfe7-4f81-890e-f7ebc181c674 does not have a schedule_relationship
  • trip_id 565d1a3a-fc5a-4e1a-a88a-f683cff25acd 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
E028 The vehicle position should be inside the agency coverage area. This is defined as within roughly 1/8 of a mile (200 meters) of the GTFS shapes.txt data, or stops.txt locations if the GTFS feed doesn't include shapes.txt. 161 24 times (80 % of validations)
W009 trip.schedule_relationship and stop_time_update.schedule_relationship should be populated 502 24 times (80 % of validations)
W001 Timestamps should be populated for all elements 52 23 times (77 % of validations)
W008 The data in a GTFS-realtime feed should always be less than one minute old 16 16 times (53 % of validations)

GTFS-RT feed content

Entities

Entities present in this feed at 2026-04-10 at 09:51 Europe/Paris.

vehicle_positions (15) service_alerts (0) trip_updates (0)

Entities seen in the last 7 days.

vehicle_positions

Decoded GTFS-RT feed

See full payload

Here is the decoded GTFS-RT feed Protobuf at 2026-04-10 at 09:51 Europe/Paris. You can look at the GTFS-RT documentation.

{ "entity": [ { "id": "VM:70ab5582-d4ab-422a-b4ba-5e3873ec4a9d", "vehicle": { "currentStopSequence": 1, "position": {}, "stopId": "STP-STP-BREME-D-OR", "trip": { "routeId": "LIGNE-A", "tripId": "70ab5582-d4ab-422a-b4ba-5e3873ec4a9d" }, "vehicle": { "id": "54" } } }, { "id": "VM:00554d51-94d2-46db-9bf8-e4ebe66ac16f", "vehicle": { "currentStopSequence": 27, "position": { "bearing": 233.0, "latitude": 49.19403076171875, "longitude": 6.930004119873047 }, "stopId": "STP-STP-ZI-HEID", "timestamp": "1775807272", "trip": { "directionId": 1, "routeId": "LIGNE-D", "tripId": "00554d51-94d2-46db-9bf8-e4ebe66ac16f" }, "vehicle": { "id": "13" } } }, { "id": "VM:42110f91-45a8-401f-b8e4-7d77fdeda8e5", "vehicle": { "currentStopSequence": 16, "position": { "latitude": 49.18867874145508, "longitude": 6.900015830993652 }, "stopId": "STP-STP-LYCEE-JEAN-MOULIN", "timestamp": "1775803325", "trip": { "routeId": "RENFORT-LIGNE-H", "tripId": "42110f91-45a8-401f-b8e4-7d77fdeda8e5" }, "vehicle": { "id": "219" } } }, { "id": "VM:c3e7a473-d57a-4145-a1b4-f0a68c17a7e1", "vehicle": { "currentStopSequence": 1, "position": {}, "stopId": "STP-STP-EGLISE-DU-HABSTERDICK", "trip": { "directionId": 1, "routeId": "LIGNE-B", "tripId": "c3e7a473-d57a-4145-a1b4-f0a68c17a7e1" }, "vehicle": { "id": "18" } } }, { "id": "VM:7a6b9868-5a63-4ef2-9320-65ff99fe291b", "vehicle": { "currentStopSequence": 11, "position": { "bearing": 317.0, "latitude": 49.18246078491211, "longitude": 6.916841983795166 }, "stopId": "STP-STP-FAUBOURG-SAINTE-CROIX-B", "timestamp": "1775807315", "trip": { "directionId": 1, "routeId": "LIGNE-F", "tripId": "7a6b9868-5a63-4ef2-9320-65ff99fe291b" }, "vehicle": { "id": "225" } } }, { "id": "VM:f78b4d92-b20b-4078-b8d9-daadee393d54", "vehicle": { "currentStopSequence": 15, "position": { "latitude": 49.217079162597656, "longitude": 6.857035160064697 }, "stopId": "STP-STP-LA-CONCORDE-B", "timestamp": "1775807328", "trip": { "directionId": 1, "routeId": "LIGNE-A", "tripId": "f78b4d92-b20b-4078-b8d9-daadee393d54" }, "vehicle": { "id": "60" } } }, { "id": "VM:cf48ecd8-f1fa-4ffd-a199-86c9bc0cc294", "vehicle": { "currentStopSequence": 14, "position": { "latitude": 49.18315887451172, "longitude": 6.893045902252197 }, "stopId": "STP-STP-RUE-PAUL-NEY", "timestamp": "1775807306", "trip": { "routeId": "LIGNE-E", "tripId": "cf48ecd8-f1fa-4ffd-a199-86c9bc0cc294" }, "vehicle": { "id": "8" } } }, { "id": "VM:b7dba0cf-62d8-46f9-ab29-809ed92ddfe0", "vehicle": { "currentStopSequence": 28, "position": { "bearing": 62.0, "latitude": 49.19934844970703, "longitude": 6.877196788787842 }, "stopId": "STP-STP-ALLEE-DES-ERABLES", "timestamp": "1775807319", "trip": { "routeId": "LIGNE-D", "tripId": "b7dba0cf-62d8-46f9-ab29-809ed92ddfe0" }, "vehicle": { "id": "14" } } }, { "id": "VM:9edb355a-37c7-4782-a511-caf41dad93e5", "vehicle": { "currentStopSequence": 14, "position": { "latitude": 49.191349029541016, "longitude": 6.91103982925415 }, "stopId": "STP-STP-RUE-COUTURIER-B", "timestamp": "1775807328", "trip": { "routeId": "LIGNE-A", "tripId": "9edb355a-37c7-4782-a511-caf41dad93e5" }, "vehicle": { "id": "57" } } }, { "id": "VM:1918ac4a-59ab-47f1-b4f1-073e35f3c4ae", "vehicle": { "currentStopSequence": 11, "position": { "bearing": 80.0, "latitude": 49.18906021118164, "longitude": 6.903253078460693 }, "stopId": "STP-STP-ANCIENNE-TRESORERIE", "timestamp": "1775807309", "trip": { "routeId": "LIGNE-F", "tripId": "1918ac4a-59ab-47f1-b4f1-073e35f3c4ae" }, "vehicle": { "id": "227" } } }, { "id": "VM:a50f0681-4526-46d4-a811-c2c5670cacfc", "vehicle": { "currentStopSequence": 48, "position": { "bearing": 219.0, "latitude": 49.18669128417969, "longitude": 6.897422790527344 }, "stopId": "STP-STP-HOTEL-DE-VILLE-B", "timestamp": "1775807269", "trip": { "routeId": "LIGNE-G", "tripId": "a50f0681-4526-46d4-a811-c2c5670cacfc" }, "vehicle": { "id": "12" } } }, { "id": "VM:f9f535c6-238c-42ff-b403-f0233238a870", "vehicle": { "currentStopSequence": 23, "position": { "bearing": 81.0, "latitude": 49.1775016784668, "longitude": 6.895740985870361 }, "stopId": "STP-PISCINE-OLYMPIQUE", "timestamp": "1775807310", "trip": { "directionId": 1, "routeId": "LIGNE-B", "tripId": "f9f535c6-238c-42ff-b403-f0233238a870" }, "vehicle": { "id": "226" } } }, { "id": "VM:e742a263-2459-4ca2-b231-833b32eb1029", "vehicle": { "currentStopSequence": 4, "position": { "bearing": 12.0, "latitude": 49.19211959838867, "longitude": 6.904287815093994 }, "stopId": "STP-STP-CAMILLE-WEISS", "timestamp": "1775807334", "trip": { "routeId": "LIGNE-H", "tripId": "e742a263-2459-4ca2-b231-833b32eb1029" }, "vehicle": { "id": "21" } } }, { "id": "VM:0d7c1ad8-702f-4478-a589-625685837fc9", "vehicle": { "currentStopSequence": 20, "position": { "bearing": 336.0, "latitude": 49.17264938354492, "longitude": 6.908086776733398 }, "stopId": "STP-STP-PLACE-DE-LA-LIBERATION", "timestamp": "1775807334", "trip": { "routeId": "LIGNE-G", "tripId": "0d7c1ad8-702f-4478-a589-625685837fc9" }, "vehicle": { "id": "230" } } }, { "id": "VM:ee4486ac-5179-4576-927d-fbf3017b2bbe", "vehicle": { "currentStopSequence": 5, "position": { "latitude": 49.18532943725586, "longitude": 6.908041954040527 }, "stopId": "STP-STP-ANCIENNE-TRESORERIE-B", "timestamp": "1775807324", "trip": { "directionId": 1, "routeId": "LIGNE-C", "tripId": "ee4486ac-5179-4576-927d-fbf3017b2bbe" }, "vehicle": { "id": "217" } } } ], "header": { "gtfsRealtimeVersion": "1.0", "timestamp": "1775807465" } }