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-02-21
98.1%
2026-02-22
67.7%
2026-02-23
74.8%
2026-02-24
84%
2026-02-26
95.6%
2026-02-28
87.6%
2026-03-01
50.6%
2026-03-02
74.9%
2026-03-03
85.4%
2026-03-04
78.4%
2026-03-05
84%
2026-03-07
88%
2026-03-08
60%
2026-03-09
74.7%
2026-03-10
82.6%
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
68.7%
2026-03-06
100%
2026-02-27
100%
2026-03-11
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

11 errors, 26 warnings

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

Errors

Vehicle position outside agency coverage area E028 11 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 shapes.txt coverage area - vehicle should be within area
  • vehicle.id 29 at (49.13824,6.86657) is more than 1609.0 meters (1.00 mile(s)) outside entire GTFS shapes.txt coverage area - vehicle should be within area
  • vehicle.id 14 at (49.20941,6.934044) is more than 1609.0 meters (1.00 mile(s)) outside entire GTFS shapes.txt coverage area - vehicle should be within area
  • vehicle.id 35 at (49.16817,6.868369) is more than 1609.0 meters (1.00 mile(s)) outside entire GTFS shapes.txt coverage area - vehicle should be within area
  • vehicle.id 57 at (49.1984,6.860711) is more than 1609.0 meters (1.00 mile(s)) outside entire GTFS shapes.txt coverage area - vehicle should be within area

Warnings

timestamp not populated W001 1 error

Timestamps should be populated for all elements

Sample errors
  • vehicle_id 217 does not have a timestamp

schedule_relationship not populated W009 25 errors

trip.schedule_relationship and stop_time_update.schedule_relationship should be populated

Sample errors
  • trip_id 115102a7-e9f3-4ad2-8006-b1e1c384f8bf does not have a schedule_relationship
  • trip_id a6610815-d6c1-4f3e-8730-d8ecf499f60d does not have a schedule_relationship
  • trip_id 3226bdff-1314-4f8c-8eb1-6c40de3355ae does not have a schedule_relationship
  • trip_id 22f54272-8a1f-4634-8b0c-df2b0c069b5e does not have a schedule_relationship
  • trip_id 5799de0a-4689-4ec1-9f6e-8f67090ca79b 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 428 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. 90 19 times (63 % of validations)
W001 Timestamps should be populated for all elements 35 18 times (60 % 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-03-23 at 14:12 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-03-23 at 14:12 Europe/Paris. You can look at the GTFS-RT documentation.

{ "entity": [ { "id": "VM:ad9a177c-525f-40cf-ab7b-dce47cf5caf1", "vehicle": { "currentStopSequence": 1, "position": {}, "stopId": "STP-FORBACH-GARE-ROUTIERE", "trip": { "routeId": "LIGNE-124", "tripId": "ad9a177c-525f-40cf-ab7b-dce47cf5caf1" }, "vehicle": { "id": "197" } } }, { "id": "VM:dd74e864-5170-42fb-aaff-63715859014e", "vehicle": { "currentStopSequence": 33, "position": {}, "stopId": "STP-STP-CAVENDISH", "trip": { "routeId": "LIGNE-G", "tripId": "dd74e864-5170-42fb-aaff-63715859014e" }, "vehicle": { "id": "230" } } }, { "id": "VM:8203c989-9ff1-4002-9289-d9acea83e2c9", "vehicle": { "currentStopSequence": 8, "position": { "bearing": 238.0, "latitude": 49.20256042480469, "longitude": 6.9276018142700195 }, "stopId": "STP-STP-POSTE-DE-STIRING-WENDEL", "timestamp": "1774271326", "trip": { "routeId": "LIGNE-A", "tripId": "8203c989-9ff1-4002-9289-d9acea83e2c9" }, "vehicle": { "id": "54" } } }, { "id": "VM:0399b0dd-b697-49cf-a094-9caaf7ca50ee", "vehicle": { "currentStopSequence": 2, "position": { "latitude": 49.18846893310547, "longitude": 6.899593830108643 }, "stopId": "STP-STP-ANCIENNE-TRESORERIE", "timestamp": "1774271237", "trip": { "routeId": "LIGNE-H", "tripId": "0399b0dd-b697-49cf-a094-9caaf7ca50ee" }, "vehicle": { "id": "21" } } }, { "id": "VM:f7e95f47-f64a-495d-8d2a-bfde105625c4", "vehicle": { "currentStopSequence": 7, "position": { "bearing": 181.0, "latitude": 49.21120834350586, "longitude": 6.86234188079834 }, "stopId": "STP-STP-PLACE-CARMEN", "timestamp": "1774271375", "trip": { "directionId": 1, "routeId": "LIGNE-A", "tripId": "f7e95f47-f64a-495d-8d2a-bfde105625c4" }, "vehicle": { "id": "12" } } }, { "id": "VM:f6fc7c70-5999-4ee6-8395-45725c5215cf", "vehicle": { "currentStopSequence": 5, "position": { "bearing": 346.0, "latitude": 49.188880920410156, "longitude": 6.905881881713867 }, "stopId": "STP-STP-ANCIENNE-TRESORERIE-B", "timestamp": "1774271398", "trip": { "directionId": 1, "routeId": "LIGNE-C", "tripId": "f6fc7c70-5999-4ee6-8395-45725c5215cf" }, "vehicle": { "id": "217" } } }, { "id": "VM:34822f04-2a47-41cf-ba75-0dae62e74ebe", "vehicle": { "currentStopSequence": 28, "position": { "bearing": 265.0, "latitude": 49.20022964477539, "longitude": 6.877954006195068 }, "stopId": "STP-STP-ALLEE-DES-ERABLES", "timestamp": "1774271409", "trip": { "routeId": "LIGNE-D", "tripId": "34822f04-2a47-41cf-ba75-0dae62e74ebe" }, "vehicle": { "id": "10" } } }, { "id": "VM:478b467e-5558-4278-8bf8-299be2ef6a74", "vehicle": { "currentStopSequence": 5, "position": { "bearing": 64.0, "latitude": 49.198089599609375, "longitude": 6.931221008300781 }, "stopId": "STP-STP-RUE-DE-METZ-B", "timestamp": "1774271361", "trip": { "routeId": "LIGNE-30", "tripId": "478b467e-5558-4278-8bf8-299be2ef6a74" }, "vehicle": { "id": "20" } } }, { "id": "VM:0910527f-c8ae-41ed-b5bf-0a685da45e89", "vehicle": { "currentStopSequence": 8, "position": { "bearing": 43.0, "latitude": 49.18342971801758, "longitude": 6.89203405380249 }, "stopId": "STP-STP-CARREFOUR-DE-MERLEBACH", "timestamp": "1774271414", "trip": { "routeId": "LIGNE-F", "tripId": "0910527f-c8ae-41ed-b5bf-0a685da45e89" }, "vehicle": { "id": "227" } } }, { "id": "VM:a21593db-ac06-4234-ab37-e66c1466cc8f", "vehicle": { "currentStopSequence": 5, "position": { "bearing": 242.0, "latitude": 49.206539154052734, "longitude": 6.942019939422607 }, "stopId": "STP-STP-AVENUE-DE-FRANCE-B", "timestamp": "1774271402", "trip": { "directionId": 1, "routeId": "LIGNE-B", "tripId": "a21593db-ac06-4234-ab37-e66c1466cc8f" }, "vehicle": { "id": "18" } } }, { "id": "VM:0795c6f1-242f-4b23-9138-a1b0b9806513", "vehicle": { "currentStopSequence": 4, "position": { "bearing": 304.0, "latitude": 49.18067169189453, "longitude": 6.889317989349365 }, "stopId": "STP-STP-RUE-DE-GUISE", "timestamp": "1774271407", "trip": { "routeId": "LIGNE-B", "tripId": "0795c6f1-242f-4b23-9138-a1b0b9806513" }, "vehicle": { "id": "226" } } }, { "id": "VM:47fed043-b464-48a0-b21d-649680a0f839", "vehicle": { "currentStopSequence": 7, "position": { "latitude": 49.17512893676758, "longitude": 6.931310176849365 }, "stopId": "STP-STP-RUE-PFISTERQUELLE", "timestamp": "1774271357", "trip": { "directionId": 1, "routeId": "LIGNE-F", "tripId": "47fed043-b464-48a0-b21d-649680a0f839" }, "vehicle": { "id": "225" } } }, { "id": "VM:a8904bc5-a59b-4d3c-ab3b-97860729890d", "vehicle": { "currentStopSequence": 8, "position": { "bearing": 114.0, "latitude": 49.17810821533203, "longitude": 6.892471790313721 }, "stopId": "STP-STP-RUE-PAUL-NEY-B", "timestamp": "1774271411", "trip": { "directionId": 1, "routeId": "LIGNE-E", "tripId": "a8904bc5-a59b-4d3c-ab3b-97860729890d" }, "vehicle": { "id": "61" } } }, { "id": "VM:383933b2-3df9-42e9-9657-d258247b0964", "vehicle": { "currentStopSequence": 39, "position": { "latitude": 49.19837951660156, "longitude": 6.926878929138184 }, "stopId": "STP-STP-POSTE-DE-STIRING-WENDEL-B", "timestamp": "1774271418", "trip": { "directionId": 1, "routeId": "LIGNE-A", "tripId": "383933b2-3df9-42e9-9657-d258247b0964" }, "vehicle": { "id": "60" } } }, { "id": "VM:04e1085f-1264-4910-918a-f5c40eb19b48", "vehicle": { "currentStopSequence": 39, "position": { "latitude": 49.21458053588867, "longitude": 6.865214824676514 }, "stopId": "STP-STP-MACHINE-FIXE", "timestamp": "1774271413", "trip": { "routeId": "LIGNE-A", "tripId": "04e1085f-1264-4910-918a-f5c40eb19b48" }, "vehicle": { "id": "57" } } } ], "header": { "gtfsRealtimeVersion": "1.0", "timestamp": "1774271570" } }