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-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
75.3%
2026-04-11
86%
2026-04-12
59.8%
2026-04-13
75.4%
2026-04-14
76.2%
2026-04-15
76.7%
2026-04-16
60.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-16 at 09:05 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 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

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 56 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 b6102267-9fcf-49ea-a94c-cd37c92b7fc4 does not have a schedule_relationship
  • trip_id 565d485f-683a-4150-bbe7-4e34ec0784b7 does not have a schedule_relationship
  • trip_id 94c299ec-b41c-4c67-808d-98ad9909e81f does not have a schedule_relationship
  • trip_id 87dffe7f-c8ce-4e70-9b9b-237bc7c333f5 does not have a schedule_relationship
  • trip_id ab7ee290-2bd6-4522-a5d7-933d94cf2450 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 484 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. 144 23 times (77 % of validations)
W001 Timestamps should be populated for all elements 55 22 times (73 % 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-16 at 09:40 Europe/Paris.

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

{ "entity": [ { "id": "VM:0d7c1ad8-702f-4478-a589-625685837fc9", "vehicle": { "currentStopSequence": 14, "position": { "bearing": 157.0, "latitude": 49.18561935424805, "longitude": 6.90702486038208 }, "stopId": "STP-STP-CONSERVATOIRE-DE-MUSIQUE", "timestamp": "1776325130", "trip": { "routeId": "LIGNE-G", "tripId": "0d7c1ad8-702f-4478-a589-625685837fc9" }, "vehicle": { "id": "7" } } }, { "id": "VM:7a6b9868-5a63-4ef2-9320-65ff99fe291b", "vehicle": { "currentStopSequence": 6, "position": { "latitude": 49.17518997192383, "longitude": 6.931241989135742 }, "stopId": "STP-STP-RUE-PFISTERQUELLE", "timestamp": "1776324973", "trip": { "directionId": 1, "routeId": "LIGNE-F", "tripId": "7a6b9868-5a63-4ef2-9320-65ff99fe291b" }, "vehicle": { "id": "226" } } }, { "id": "VM:a50f0681-4526-46d4-a811-c2c5670cacfc", "vehicle": { "currentStopSequence": 43, "position": { "bearing": 301.0, "latitude": 49.17937088012695, "longitude": 6.919579029083252 }, "stopId": "STP-STP-FAUBOURG-SAINTE-CROIX-B", "timestamp": "1776325093", "trip": { "routeId": "LIGNE-G", "tripId": "a50f0681-4526-46d4-a811-c2c5670cacfc" }, "vehicle": { "id": "8" } } }, { "id": "VM:0a9311fe-9a30-4f25-b443-ae32bd2a6769", "vehicle": { "currentStopSequence": 16, "position": { "bearing": 254.0, "latitude": 49.18912124633789, "longitude": 6.903240203857422 }, "stopId": "STP-STP-POSTE-DE-FORBACH-B", "timestamp": "1776325096", "trip": { "routeId": "LIGNE-A", "tripId": "0a9311fe-9a30-4f25-b443-ae32bd2a6769" }, "vehicle": { "id": "57" } } }, { "id": "VM:7439b849-a8ab-476e-9e1d-94059f780161", "vehicle": { "currentStopSequence": 15, "position": { "latitude": 49.20232009887695, "longitude": 6.927317142486572 }, "stopId": "STP-STP-RUE-DES-PONTS", "timestamp": "1776325117", "trip": { "routeId": "LIGNE-B", "tripId": "7439b849-a8ab-476e-9e1d-94059f780161" }, "vehicle": { "id": "18" } } }, { "id": "VM:1918ac4a-59ab-47f1-b4f1-073e35f3c4ae", "vehicle": { "currentStopSequence": 10, "position": { "latitude": 49.18587112426758, "longitude": 6.895812034606934 }, "stopId": "STP-STP-POSTE-DE-FORBACH", "timestamp": "1776325068", "trip": { "routeId": "LIGNE-F", "tripId": "1918ac4a-59ab-47f1-b4f1-073e35f3c4ae" }, "vehicle": { "id": "225" } } }, { "id": "VM:70640828-f819-4387-8dd8-22a43ae026ea", "vehicle": { "currentStopSequence": 4, "position": { "bearing": 165.0, "latitude": 49.186668395996094, "longitude": 6.906381130218506 }, "stopId": "STP-STP-CONSERVATOIRE-DE-MUSIQUE", "timestamp": "1776325104", "trip": { "routeId": "LIGNE-C", "tripId": "70640828-f819-4387-8dd8-22a43ae026ea" }, "vehicle": { "id": "217" } } }, { "id": "VM:cf48ecd8-f1fa-4ffd-a199-86c9bc0cc294", "vehicle": { "currentStopSequence": 9, "position": { "bearing": 171.0, "latitude": 49.19160842895508, "longitude": 6.904116153717041 }, "stopId": "STP-STP-CARREFOUR-DE-SCHOENECK", "timestamp": "1776325133", "trip": { "routeId": "LIGNE-E", "tripId": "cf48ecd8-f1fa-4ffd-a199-86c9bc0cc294" }, "vehicle": { "id": "6" } } }, { "id": "VM:00554d51-94d2-46db-9bf8-e4ebe66ac16f", "vehicle": { "currentStopSequence": 20, "position": { "bearing": 170.0, "latitude": 49.1899299621582, "longitude": 6.919277191162109 }, "stopId": "STP-STP-FOYER-DU-CREUTZBERG", "timestamp": "1776325132", "trip": { "directionId": 1, "routeId": "LIGNE-D", "tripId": "00554d51-94d2-46db-9bf8-e4ebe66ac16f" }, "vehicle": { "id": "13" } } }, { "id": "VM:df1cc6ec-f1f9-42db-aad9-4bc4d1a74c01", "vehicle": { "currentStopSequence": 1, "position": { "latitude": 49.18880844116211, "longitude": 6.89998197555542 }, "stopId": "STP-FORBACH-GARE-ROUTIERE", "timestamp": "1776316761", "trip": { "routeId": "LIGNE-129", "tripId": "df1cc6ec-f1f9-42db-aad9-4bc4d1a74c01" }, "vehicle": { "id": "219" } } }, { "id": "VM:d73076e2-556f-478e-b992-c0fdb27fe7d9", "vehicle": { "currentStopSequence": 31, "position": { "bearing": 60.0, "latitude": 49.18790817260742, "longitude": 6.900354862213135 }, "stopId": "STP-STP-POSTE-DE-FORBACH", "timestamp": "1776325092", "trip": { "directionId": 1, "routeId": "LIGNE-A", "tripId": "d73076e2-556f-478e-b992-c0fdb27fe7d9" }, "vehicle": { "id": "56" } } }, { "id": "VM:f2e35e3b-b4bf-4600-af14-8113e65ca3f4", "vehicle": { "currentStopSequence": 43, "position": { "latitude": 49.212608337402344, "longitude": 6.872343063354492 }, "stopId": "STP-STP-RUE-GARGAN", "timestamp": "1776325125", "trip": { "routeId": "LIGNE-A", "tripId": "f2e35e3b-b4bf-4600-af14-8113e65ca3f4" }, "vehicle": { "id": "60" } } }, { "id": "VM:a69a4ae5-2ec8-46e8-a2eb-239df667cdf4", "vehicle": { "currentStopSequence": 29, "position": { "bearing": 222.0, "latitude": 49.05315017700195, "longitude": 6.929500102996826 }, "stopId": "STP-PUTTELANGE-AUX-LACS-RUE-LONGUE", "timestamp": "1776324649", "trip": { "routeId": "LIGNE-124", "tripId": "a69a4ae5-2ec8-46e8-a2eb-239df667cdf4" }, "vehicle": { "id": "189" } } }, { "id": "VM:f816459c-06ad-4607-944d-bd922d38ac5c", "vehicle": { "currentStopSequence": 13, "position": { "latitude": 49.197269439697266, "longitude": 6.920592784881592 }, "stopId": "STP-STP-RUE-DES-ECOLES-B", "timestamp": "1776325074", "trip": { "directionId": 1, "routeId": "LIGNE-B", "tripId": "f816459c-06ad-4607-944d-bd922d38ac5c" }, "vehicle": { "id": "227" } } }, { "id": "VM:565d485f-683a-4150-bbe7-4e34ec0784b7", "vehicle": { "currentStopSequence": 14, "position": { "latitude": 49.23215103149414, "longitude": 6.963099002838135 }, "stopId": "STP-STP-SCHONECKER-WEG-B", "timestamp": "1776325100", "trip": { "routeId": "LIGNE-30", "tripId": "565d485f-683a-4150-bbe7-4e34ec0784b7" }, "vehicle": { "id": "20" } } }, { "id": "VM:b7dba0cf-62d8-46f9-ab29-809ed92ddfe0", "vehicle": { "currentStopSequence": 17, "position": { "bearing": 245.0, "latitude": 49.18806076049805, "longitude": 6.900481224060059 }, "stopId": "STP-STP-POSTE-DE-FORBACH-B", "timestamp": "1776325034", "trip": { "routeId": "LIGNE-D", "tripId": "b7dba0cf-62d8-46f9-ab29-809ed92ddfe0" }, "vehicle": { "id": "14" } } } ], "header": { "gtfsRealtimeVersion": "1.0", "timestamp": "1776325202" } }