Resource details
Cette ressource met à disposition la position des véhicules des lignes du réseau Astuce exploitées par Transdev Rouen au format GTFS-RT.
Contrairement au GTFS-RT officiel, ce GTFS-RT est continuellement mis à jour : en le téléchargeant toutes les \~ 15 secondes, vous serez en mesure d’avoir des données quasi systématiquement fraiches.
En bonus, la fréquentation en temps réel des véhicules est renvoyée lorsque l’information est disponible.
Depuis le 20 octobre 2025, cette ressource s’aligne sur le GTFS complet publié sur le PAN. Pour revenir aux anciens identifiants, ajouter ?id_format=TCAR
à la fin de vos URLs.
Pour télécharger la représentation JSON : https://gtfs.bus-tracker.fr/gtfs-rt/tcar/vehicle-positions.json.
Le numéro du véhicule se trouve dans le champ id
du VehicleDescriptor
. Le champ label
contient la destination SAE (et peut être utilisée à la place du trip_headsign
pour une fiabilité de l’information accrue) lorsque la donnée provient du site web site web myastuce.fr.
Pour toute question, ou en cas d’anomalie rencontrée lors de l’utilisation de cette ressource, nous vous invitons à nous contacter à contact@bus-tracker.fr.
This resource file is part of the dataset Réseau urbain Astuce.
Download availability
Learn more
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
GTFS-RT feed content
Entities
Entities present in this feed at 2025-10-22 at 23:37 Europe/Paris.
vehicle_positions (31) service_alerts (0) trip_updates (0)Entities seen in the last 7 days.
vehicle_positionsDecoded GTFS-RT feed
See full payload
Here is the decoded GTFS-RT feed Protobuf at 2025-10-22 at 23:37 Europe/Paris. You can look at the GTFS-RT documentation.
{
"entity": [
{
"id": "VM:TCAR:854",
"vehicle": {
"currentStatus": "STOPPED_AT",
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 331.0,
"latitude": 49.400474548339844,
"longitude": 1.0425509214401245
},
"stopId": "TCAR:BRAQU1",
"timestamp": "1761168486",
"trip": {
"directionId": 1,
"routeId": "TCAR:90",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:5212:4015270"
},
"vehicle": {
"id": "TCAR:854",
"label": "Boulingrin C"
}
}
},
{
"id": "VM:TCAR:845",
"vehicle": {
"position": {
"bearing": 191.0,
"latitude": 49.398136138916016,
"longitude": 1.0717793703079224
},
"stopId": "TCAR:PARC0",
"timestamp": "1761169056",
"trip": {
"directionId": 0,
"routeId": "TCAR:90",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:4211:4015270"
},
"vehicle": {
"id": "TCAR:845",
"label": "Technopôle"
}
}
},
{
"id": "VM:TCAR:846",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 236.0,
"latitude": 49.43191909790039,
"longitude": 1.083246111869812
},
"stopId": "TCAR:STSEV0",
"timestamp": "1761169056",
"trip": {
"directionId": 0,
"routeId": "TCAR:90",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:4677:4015270"
},
"vehicle": {
"id": "TCAR:846",
"label": "Georges Braque"
}
}
},
{
"id": "VM:TCAR:6412",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 294.0,
"latitude": 49.440128326416016,
"longitude": 1.0897547006607056
},
"stopId": "TCAR:TARTT2",
"timestamp": "1761169045",
"trip": {
"directionId": 1,
"routeId": "TCAR:93",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:2367:4015343"
},
"vehicle": {
"id": "TCAR:6412",
"label": "Monet"
}
}
},
{
"id": "VM:TCAR:6403",
"vehicle": {
"currentStatus": "STOPPED_AT",
"currentStopSequence": 1,
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 185.0,
"latitude": 49.457115173339844,
"longitude": 1.0361582040786743
},
"stopId": "TCAR:TMONET",
"timestamp": "1761168845",
"trip": {
"directionId": 0,
"routeId": "TCAR:93",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:3291:4015343"
},
"vehicle": {
"id": "TCAR:6403",
"label": "Durécu-Lavoisier"
}
}
},
{
"id": "VM:TCAR:849",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 2.0,
"latitude": 49.42350769042969,
"longitude": 1.0889747142791748
},
"stopId": "TCAR:BALZA1",
"timestamp": "1761169056",
"trip": {
"directionId": 1,
"routeId": "TCAR:90",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:5651:4015270"
},
"vehicle": {
"id": "TCAR:849",
"label": "Boulingrin B"
}
}
},
{
"id": "VM:TCAR:6414",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 343.0,
"latitude": 49.45612335205078,
"longitude": 1.056841492652893
},
"stopId": "TCAR:MAISO2",
"timestamp": "1761169045",
"trip": {
"directionId": 1,
"routeId": "TCAR:92",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:378:4015335"
},
"vehicle": {
"id": "TCAR:6414",
"label": "V. Schoelcher"
}
}
},
{
"id": "VM:TCAR:5501",
"vehicle": {
"currentStatus": "STOPPED_AT",
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 320.0,
"latitude": 49.41255187988281,
"longitude": 1.0731998682022095
},
"stopId": "TCAR:DIOCH4",
"timestamp": "1761169056",
"trip": {
"directionId": 1,
"routeId": "TCAR:01",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:10609:4015342"
},
"vehicle": {
"id": "TCAR:5501",
"label": "Pl. de la Ronce"
}
}
},
{
"id": "VM:TCAR:5211",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 216.0,
"latitude": 49.4057731628418,
"longitude": 1.1520073413848877
},
"stopId": "TCAR:HUBER1",
"timestamp": "1761169056",
"trip": {
"directionId": 1,
"routeId": "TCAR:05",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:12894:4015286"
},
"vehicle": {
"id": "TCAR:5211",
"label": "Théâtre des Arts"
}
}
},
{
"id": "VM:TCAR:4002",
"vehicle": {
"position": {
"bearing": 19.0,
"latitude": 49.44083786010742,
"longitude": 1.0977555513381958
},
"stopId": "TCAR:HVR4",
"timestamp": "1761169045",
"trip": {
"directionId": 1,
"routeId": "TCAR:07",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:14732:4015292"
},
"vehicle": {
"id": "TCAR:4002",
"label": "La Pléiade"
}
}
},
{
"id": "VM:TCAR:6404",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 16.0,
"latitude": 49.44384002685547,
"longitude": 1.1504794359207153
},
"stopId": "TCAR:DUREC",
"timestamp": "1761168435",
"trip": {
"directionId": 1,
"routeId": "TCAR:93",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:2311:4015343"
},
"vehicle": {
"id": "TCAR:6404",
"label": "Monet"
}
}
},
{
"id": "VM:TCAR:5315",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 34.0,
"latitude": 49.46980285644531,
"longitude": 1.1199511289596558
},
"stopId": "TCAR:BGUI31",
"timestamp": "1761169056",
"trip": {
"directionId": 1,
"routeId": "TCAR:01",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:10597:4015342"
},
"vehicle": {
"id": "TCAR:5315",
"label": "Pl. de la Ronce"
}
}
},
{
"id": "VM:TCAR:5403",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 55.0,
"latitude": 49.46808624267578,
"longitude": 1.0752203464508057
},
"stopId": "TCAR:LEHM21",
"timestamp": "1761169045",
"trip": {
"directionId": 1,
"routeId": "TCAR:02",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:11291:4015269"
},
"vehicle": {
"id": "TCAR:5403",
"label": "La Vatine-C.Cial"
}
}
},
{
"id": "VM:TCAR:4012",
"vehicle": {
"position": {
"bearing": 203.0,
"latitude": 49.44491195678711,
"longitude": 1.0921870470046997
},
"stopId": "TCAR:BARTS0",
"timestamp": "1761169045",
"trip": {
"directionId": 0,
"routeId": "TCAR:07",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:14404:4015292"
},
"vehicle": {
"id": "TCAR:4012",
"label": "HDV Sotteville"
}
}
},
{
"id": "VM:TCAR:6106",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 241.0,
"latitude": 49.44023132324219,
"longitude": 1.1122359037399292
},
"stopId": "TCAR:CHRUT2",
"timestamp": "1761168655",
"trip": {
"directionId": 1,
"routeId": "TCAR:91",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:6260:4015277"
},
"vehicle": {
"id": "TCAR:6106",
"label": "Mont aux Malades"
}
}
},
{
"id": "VM:TCAR:6231",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 320.0,
"latitude": 49.488712310791016,
"longitude": 1.0488694906234741
},
"stopId": "TCAR:BMAIR1",
"timestamp": "1761168065",
"trip": {
"directionId": 0,
"routeId": "TCAR:92",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:1406:4015335"
},
"vehicle": {
"id": "TCAR:6231",
"label": "Tamarelle"
}
}
},
{
"id": "VM:TCAR:5316",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 28.0,
"latitude": 49.461273193359375,
"longitude": 1.1311936378479004
},
"stopId": "TCAR:TAMAR4",
"timestamp": "1761169025",
"trip": {
"directionId": 0,
"routeId": "TCAR:02",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:10934:4015269"
},
"vehicle": {
"id": "TCAR:5316",
"label": "Tamarelle"
}
}
},
{
"id": "VM:TCAR:6237",
"vehicle": {
"currentStatus": "STOPPED_AT",
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 285.0,
"latitude": 49.461368560791016,
"longitude": 1.0711959600448608
},
"stopId": "TCAR:CBLBE1",
"timestamp": "1761169056",
"trip": {
"directionId": 0,
"routeId": "TCAR:91",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:6979:4015277"
},
"vehicle": {
"id": "TCAR:6237",
"label": "CHU Ch. Nicolle"
}
}
},
{
"id": "VM:TCAR:6230",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 357.0,
"latitude": 49.46310806274414,
"longitude": 1.1314811706542969
},
"stopId": "TCAR:TAMAR",
"timestamp": "1761169056",
"trip": {
"directionId": 1,
"routeId": "TCAR:92",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:448:4015335"
},
"vehicle": {
"id": "TCAR:6230",
"label": "V. Schoelcher"
}
}
},
{
"id": "VM:TCAR:5305",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 237.0,
"latitude": 49.528892517089844,
"longitude": 1.0403636693954468
},
"stopId": "TCAR:CMEDI1",
"timestamp": "1761169056",
"trip": {
"directionId": 0,
"routeId": "TCAR:04",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:12370:4015282"
},
"vehicle": {
"id": "TCAR:5305",
"label": "Mont-Riboudet"
}
}
},
{
"id": "VM:TCAR:5209",
"vehicle": {
"currentStatus": "STOPPED_AT",
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 196.0,
"latitude": 49.43604278564453,
"longitude": 1.0955021381378174
},
"stopId": "TCAR:PCORN0",
"timestamp": "1761169045",
"trip": {
"directionId": 0,
"routeId": "TCAR:01",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:10227:4015342"
},
"vehicle": {
"id": "TCAR:5209",
"label": "Stade Diochon"
}
}
},
{
"id": "VM:TCAR:6408",
"vehicle": {
"currentStatus": "STOPPED_AT",
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 109.0,
"latitude": 49.44888687133789,
"longitude": 1.0649867057800293
},
"stopId": "TCAR:RIBOU1",
"timestamp": "1761169045",
"trip": {
"directionId": 0,
"routeId": "TCAR:93",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:3298:4015343"
},
"vehicle": {
"id": "TCAR:6408",
"label": "Durécu-Lavoisier"
}
}
},
{
"id": "VM:TCAR:703",
"vehicle": {
"position": {
"bearing": 198.0,
"latitude": 49.378211975097656,
"longitude": 1.1015524864196777
},
"stopId": "TCAR:LANGU0",
"timestamp": "1761169035",
"trip": {
"directionId": 0,
"routeId": "TCAR:03",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:11485:4015276"
},
"vehicle": {
"id": "TCAR:703",
"label": "TERM. PROVISOIRE"
}
}
},
{
"id": "VM:TCAR:6102",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 98.0,
"latitude": 49.441890716552734,
"longitude": 1.1163294315338135
},
"stopId": "TCAR:JEUNE1",
"timestamp": "1761169056",
"trip": {
"directionId": 0,
"routeId": "TCAR:92",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:1397:4015335"
},
"vehicle": {
"id": "TCAR:6102",
"label": "Tamarelle"
}
}
},
{
"id": "VM:TCAR:708",
"vehicle": {
"position": {
"bearing": 358.0,
"latitude": 49.3477668762207,
"longitude": 1.095821738243103
},
"stopId": "TCAR:PEZO21",
"timestamp": "1761169035",
"trip": {
"directionId": 1,
"routeId": "TCAR:03",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:11416:4015276"
},
"vehicle": {
"id": "TCAR:708",
"label": "HDV Sotteville"
}
}
},
{
"id": "VM:TCAR:6234",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 43.0,
"latitude": 49.46088790893555,
"longitude": 1.074198603630066
},
"stopId": "TCAR:COQUE2",
"timestamp": "1761169056",
"trip": {
"directionId": 1,
"routeId": "TCAR:91",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:6258:4015277"
},
"vehicle": {
"id": "TCAR:6234",
"label": "Mont aux Malades"
}
}
},
{
"id": "VM:TCAR:684",
"vehicle": {
"currentStatus": "STOPPED_AT",
"currentStopSequence": 1,
"position": {
"bearing": 354.0,
"latitude": 49.37656021118164,
"longitude": 1.1093528270721436
},
"stopId": "TCAR:GARES",
"timestamp": "1761169015",
"trip": {
"directionId": 1,
"routeId": "TCAR:06",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:13565:4015288"
},
"vehicle": {
"id": "TCAR:684"
}
}
},
{
"id": "VM:TCAR:673",
"vehicle": {
"position": {
"bearing": 195.0,
"latitude": 49.36578369140625,
"longitude": 1.0139997005462646
},
"stopId": "TCAR:LYLEG0",
"timestamp": "1761169045",
"trip": {
"directionId": 1,
"routeId": "TCAR:06",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:13552:4015288"
},
"vehicle": {
"id": "TCAR:673",
"label": "Les Bouttières"
}
}
},
{
"id": "VM:TCAR:831",
"vehicle": {
"occupancyStatus": "MANY_SEATS_AVAILABLE",
"position": {
"bearing": 91.0,
"latitude": 49.448463439941406,
"longitude": 1.0956283807754517
},
"stopId": "TCAR:BEAUV1",
"timestamp": "1761169056",
"trip": {
"directionId": 1,
"routeId": "TCAR:90",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:5192:4015270"
},
"vehicle": {
"id": "TCAR:831",
"label": "Boulingrin C"
}
}
},
{
"id": "VM:TCAR:6123",
"vehicle": {
"position": {
"bearing": 176.0,
"latitude": 49.42336654663086,
"longitude": 1.0669972896575928
},
"stopId": "TCAR:NOVET1",
"timestamp": "1761169056",
"trip": {
"directionId": 0,
"routeId": "TCAR:94",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:8884:4015293"
},
"vehicle": {
"id": "TCAR:6123",
"label": "Zénith-Parc Expo"
}
}
},
{
"id": "VM:TCAR:6406",
"vehicle": {
"currentStatus": "STOPPED_AT",
"position": {
"bearing": 270.0,
"latitude": 49.43791198730469,
"longitude": 1.114633321762085
},
"stopId": "TCAR:MCURIE",
"timestamp": "1761168846",
"trip": {
"directionId": 0,
"routeId": "TCAR:94",
"scheduleRelationship": "SCHEDULED",
"tripId": "TCAR:8838:4015293"
},
"vehicle": {
"id": "TCAR:6406",
"label": "Zénith-Parc Expo"
}
}
}
],
"header": {
"gtfsRealtimeVersion": "2.0",
"timestamp": "1761169064"
}
}