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-10
82.6%
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
56.5%
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

3 errors, 24 warnings

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

Errors

Vehicle position outside agency coverage area E028 3 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 56 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 3 errors

Timestamps should be populated for all elements

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

Header timestamp is older than 65 seconds W008 1 error

The data in a GTFS-realtime feed should always be less than one minute old

Sample errors
  • header.timestamp is 2 min 45 sec old which is greater than the recommended age of 65 seconds

schedule_relationship not populated W009 20 errors

trip.schedule_relationship and stop_time_update.schedule_relationship should be populated

Sample errors
  • trip_id 527a87f6-bc0e-40f5-9665-e142086d8740 does not have a schedule_relationship
  • trip_id 94c299ec-b41c-4c67-808d-98ad9909e81f does not have a schedule_relationship
  • trip_id 1da02b6a-6eb2-4932-ab6b-d07e8443c495 does not have a schedule_relationship
  • trip_id 9dde860d-3b67-4c80-b25e-4f660532491f does not have a schedule_relationship
  • trip_id 4a3771e4-28c7-4926-b8cb-a284e4246024 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
W009 trip.schedule_relationship and stop_time_update.schedule_relationship should be populated 519 24 times (80 % of validations)
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 23 times (77 % of validations)
W001 Timestamps should be populated for all elements 52 22 times (73 % of validations)
W008 The data in a GTFS-realtime feed should always be less than one minute old 18 18 times (60 % of validations)

GTFS-RT feed content

Entities

Entities present in this feed at 2026-04-09 at 08:53 Europe/Paris.

vehicle_positions (19) 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-09 at 08:53 Europe/Paris. You can look at the GTFS-RT documentation.

{ "entity": [ { "id": "VM:ab7ee290-2bd6-4522-a5d7-933d94cf2450", "vehicle": { "currentStopSequence": 1, "position": {}, "stopId": "STP-STP-MORSBACH-GIRATOIRE", "trip": { "directionId": 1, "routeId": "LIGNE-E", "tripId": "ab7ee290-2bd6-4522-a5d7-933d94cf2450" }, "vehicle": { "id": "61" } } }, { "id": "VM:a69a4ae5-2ec8-46e8-a2eb-239df667cdf4", "vehicle": { "currentStopSequence": 2, "position": { "latitude": 49.18832015991211, "longitude": 6.900859832763672 }, "stopId": "STP-FORBACH-HOTEL-DE-VILLE", "timestamp": "1775717501", "trip": { "routeId": "LIGNE-124", "tripId": "a69a4ae5-2ec8-46e8-a2eb-239df667cdf4" }, "vehicle": { "id": "190" } } }, { "id": "VM:4a3771e4-28c7-4926-b8cb-a284e4246024", "vehicle": { "currentStopSequence": 15, "position": { "bearing": 136.0, "latitude": 49.186981201171875, "longitude": 6.896862030029297 }, "stopId": "STP-STP-POSTE-DE-FORBACH", "timestamp": "1775717505", "trip": { "directionId": 1, "routeId": "LIGNE-D", "tripId": "4a3771e4-28c7-4926-b8cb-a284e4246024" }, "vehicle": { "id": "14" } } }, { "id": "VM:1da02b6a-6eb2-4932-ab6b-d07e8443c495", "vehicle": { "currentStopSequence": 1, "position": {}, "stopId": "STP-PISCINE-OLYMPIQUE", "trip": { "routeId": "LIGNE-B", "tripId": "1da02b6a-6eb2-4932-ab6b-d07e8443c495" }, "vehicle": { "id": "19" } } }, { "id": "VM:ea5e2ee5-544d-49cc-a6cc-0d7a9bf7699c", "vehicle": { "currentStopSequence": 2, "position": { "bearing": 205.0, "latitude": 49.182308197021484, "longitude": 6.9127092361450195 }, "stopId": "STP-STP-UNISANTE-B", "timestamp": "1775717484", "trip": { "directionId": 1, "routeId": "LIGNE-C", "tripId": "ea5e2ee5-544d-49cc-a6cc-0d7a9bf7699c" }, "vehicle": { "id": "217" } } }, { "id": "VM:b6102267-9fcf-49ea-a94c-cd37c92b7fc4", "vehicle": { "currentStopSequence": 13, "position": { "bearing": 324.0, "latitude": 49.18920135498047, "longitude": 6.920783042907715 }, "stopId": "STP-STP-RUE-DU-PUITS-3", "timestamp": "1775717497", "trip": { "routeId": "LIGNE-D", "tripId": "b6102267-9fcf-49ea-a94c-cd37c92b7fc4" }, "vehicle": { "id": "12" } } }, { "id": "VM:87be4e16-05e5-41e0-b1fa-b37517e2c6b7", "vehicle": { "currentStopSequence": 17, "position": { "bearing": 228.0, "latitude": 49.20771026611328, "longitude": 6.843799114227295 }, "stopId": "STP-STP-ROSSELSTRASSE", "timestamp": "1775717471", "trip": { "directionId": 1, "routeId": "LIGNE-A", "tripId": "87be4e16-05e5-41e0-b1fa-b37517e2c6b7" }, "vehicle": { "id": "57" } } }, { "id": "VM:3bf97cd7-5c38-448c-a047-dad1da69af69", "vehicle": { "currentStopSequence": 16, "position": { "bearing": 241.0, "latitude": 49.18815994262695, "longitude": 6.900667190551758 }, "stopId": "STP-STP-POSTE-DE-FORBACH-B", "timestamp": "1775717467", "trip": { "routeId": "LIGNE-A", "tripId": "3bf97cd7-5c38-448c-a047-dad1da69af69" }, "vehicle": { "id": "60" } } }, { "id": "VM:84f00030-c052-4e98-a7b2-2659353ef6e4", "vehicle": { "currentStopSequence": 14, "position": { "bearing": 151.0, "latitude": 49.188758850097656, "longitude": 6.8998942375183105 }, "stopId": "STP-STP-FOLKLING-PLACE-DE-LA-FONTAINE", "timestamp": "1775713289", "trip": { "routeId": "LIGNE-AS-124", "tripId": "84f00030-c052-4e98-a7b2-2659353ef6e4" }, "vehicle": { "id": "219" } } }, { "id": "VM:f229ec51-c154-43d2-b060-5e42d4220134", "vehicle": { "currentStopSequence": 10, "position": { "bearing": 52.0, "latitude": 49.18587875366211, "longitude": 6.895802021026611 }, "stopId": "STP-STP-POSTE-DE-FORBACH", "timestamp": "1775717472", "trip": { "routeId": "LIGNE-F", "tripId": "f229ec51-c154-43d2-b060-5e42d4220134" }, "vehicle": { "id": "225" } } }, { "id": "VM:a32c06a4-61a0-4c2d-9a70-3f52040e15a8", "vehicle": { "currentStopSequence": 3, "position": { "latitude": 49.189151763916016, "longitude": 6.905158042907715 }, "stopId": "STP-STP-CARREFOUR-DE-SCHOENECK", "timestamp": "1775717440", "trip": { "routeId": "LIGNE-H", "tripId": "a32c06a4-61a0-4c2d-9a70-3f52040e15a8" }, "vehicle": { "id": "21" } } }, { "id": "VM:94c299ec-b41c-4c67-808d-98ad9909e81f", "vehicle": { "currentStopSequence": 4, "position": { "bearing": 318.0, "latitude": 49.1696891784668, "longitude": 6.9337477684021 }, "stopId": "STP-STP-CENTRE-COMMERCIAL-BEHREN-B", "timestamp": "1775717425", "trip": { "directionId": 1, "routeId": "LIGNE-F", "tripId": "94c299ec-b41c-4c67-808d-98ad9909e81f" }, "vehicle": { "id": "227" } } }, { "id": "VM:b931e7d4-604b-434a-9979-e55b96d12071", "vehicle": { "currentStopSequence": 16, "position": { "latitude": 49.189430236816406, "longitude": 6.906389236450195 }, "stopId": "STP-STP-ANCIENNE-TRESORERIE-B", "timestamp": "1775717494", "trip": { "directionId": 1, "routeId": "LIGNE-B", "tripId": "b931e7d4-604b-434a-9979-e55b96d12071" }, "vehicle": { "id": "18" } } }, { "id": "VM:565d1a3a-fc5a-4e1a-a88a-f683cff25acd", "vehicle": { "currentStopSequence": 13, "position": { "bearing": 161.0, "latitude": 49.18817138671875, "longitude": 6.905576229095459 }, "stopId": "STP-STP-RUE-POINCARE", "timestamp": "1775717510", "trip": { "routeId": "LIGNE-G", "tripId": "565d1a3a-fc5a-4e1a-a88a-f683cff25acd" }, "vehicle": { "id": "10" } } }, { "id": "VM:9eb4dfb0-8a08-4eda-a95e-ce57f5472f67", "vehicle": { "currentStopSequence": 43, "position": { "latitude": 49.177330017089844, "longitude": 6.9198150634765625 }, "stopId": "STP-STP-FAUBOURG-SAINTE-CROIX-B", "timestamp": "1775717463", "trip": { "routeId": "LIGNE-G", "tripId": "9eb4dfb0-8a08-4eda-a95e-ce57f5472f67" }, "vehicle": { "id": "230" } } }, { "id": "VM:87dffe7f-c8ce-4e70-9b9b-237bc7c333f5", "vehicle": { "currentStopSequence": 8, "position": { "bearing": 355.0, "latitude": 49.053550720214844, "longitude": 6.930108070373535 }, "stopId": "STP-LOUPERSHOUSE-MAIRIE-B", "timestamp": "1775717488", "trip": { "directionId": 1, "routeId": "LIGNE-124", "tripId": "87dffe7f-c8ce-4e70-9b9b-237bc7c333f5" }, "vehicle": { "id": "189" } } }, { "id": "VM:9dde860d-3b67-4c80-b25e-4f660532491f", "vehicle": { "currentStopSequence": 1, "position": {}, "stopId": "STP-STP-RUE-DE-LA-SEINE-2", "trip": { "routeId": "LIGNE-E", "tripId": "9dde860d-3b67-4c80-b25e-4f660532491f" }, "vehicle": { "id": "7" } } }, { "id": "VM:5ba34a40-be38-4d57-bf9f-e4ac39d5c53a", "vehicle": { "currentStopSequence": 46, "position": { "bearing": 218.0, "latitude": 49.215518951416016, "longitude": 6.871506214141846 }, "stopId": "STP-STP-AVENUE-DE-STIRING-WENDEL", "timestamp": "1775717477", "trip": { "routeId": "LIGNE-A", "tripId": "5ba34a40-be38-4d57-bf9f-e4ac39d5c53a" }, "vehicle": { "id": "54" } } }, { "id": "VM:d3cefcb9-20d5-49cc-b012-5082cd6b89e8", "vehicle": { "currentStopSequence": 35, "position": { "bearing": 58.0, "latitude": 49.19076919555664, "longitude": 6.909833908081055 }, "stopId": "STP-STP-RUE-DES-ECOLES-B", "timestamp": "1775717476", "trip": { "directionId": 1, "routeId": "LIGNE-A", "tripId": "d3cefcb9-20d5-49cc-b012-5082cd6b89e8" }, "vehicle": { "id": "56" } } } ], "header": { "gtfsRealtimeVersion": "1.0", "timestamp": "1775717580" } }