← All sources
LiveLive-testedCommunity mirror

Mobility / Live public-transport vehicle positions

Tbilisi GTFS-Realtime bus and minibus vehicle positions

A community-operated GTFS-Realtime v2.0 feed listed by Transitous publishes timestamped positions for ordinary Tbilisi buses and municipal minibuses. It supplies route and vehicle IDs, WGS84 coordinates, bearing, a per-vehicle observation timestamp, service date, and sometimes a stop and trip ID. During validation every entity was a VehiclePosition; no metro, gondola, TripUpdate or Alert entities were present.

01

Provenance and access

How the data is reached

Unauthenticated GTFS-Realtime v2.0 FeedMessage over HTTP. Decode with official GTFS-Realtime Protocol Buffer bindings. The source is HTTP-only; HTTPS failed during validation.

Reuse status

No license is declared in the Transitous configuration for this realtime source

02

Field-level detail

What is actually returned

livereferencederivedhistoricalunknown

Feed header

Feed-wide GTFS-Realtime metadata.

3 fields
Field / pathTypeNull?ExampleMeaningFreshness
header.gtfsRealtimeVersionstringNo2.0GTFS-Realtime schema versionreference
header.incrementalityenumNoFULL_DATASETEach response replaces the previous full statereference
header.timestampuint64 Unix secondsNo1784713133Feed generation time2026-07-22 13:38:53 Asia/Tbilisi in the tested responselive

VehiclePosition entity

One observed bus or minibus and its current location.

10 fields
Field / pathTypeNull?ExampleMeaningFreshness
entity[].idstringNo1:2056Feed entity identifierSame as vehicle ID in the samplelive
entity[].vehicle.trip.startDateYYYYMMDD stringNo20260722Trip service dayreference
entity[].vehicle.trip.routeIdstringNo1:R97622Route ID matching static GTFS1:minibus… prefix identifies minibus routesreference
entity[].vehicle.trip.tripIdstringYesExact scheduled-trip identifier when matchedNon-empty for 537 of 1,275 entitiesreference
entity[].vehicle.position.latitudefloatNo41.70671463012695Current WGS84 latitudelive
entity[].vehicle.position.longitudefloatNo44.80546569824219Current WGS84 longitudelive
entity[].vehicle.position.bearingfloatNo346.525146484375Heading in degrees clockwise from northlive
entity[].vehicle.timestampuint64 Unix secondsNo1784713117Vehicle position observation time16 seconds behind the feed header in the samplelive
entity[].vehicle.stopIdstringYes1:1726Current or next associated stop according to the producerBlank for 458 of 1,275 entities; exact semantics undocumentedlive
entity[].vehicle.vehicle.idstringNo1:2056Public-service vehicle identifierlive

Standard VehiclePosition fields not populated

Fields defined by GTFS-Realtime but absent in every tested entity.

6 fields
Field / pathTypeNull?ExampleMeaningFreshness
position.speedfloatYesabsentVehicle speedlive
position.odometerdoubleYesabsentVehicle odometerlive
currentStopSequence / currentStatusinteger / enumYesabsentStop progression statelive
congestionLevelenumYesabsentTraffic congestion statelive
occupancyStatus / occupancyPercentageenum / integerYesabsentPassenger crowding or occupancylive
vehicle.label / licensePlate / wheelchairAccessiblestring / enumYesabsentAdditional vehicle descriptorsreference
03

Representative evidence

Sample records

Decoded VehiclePosition

Retrieved 2026-07-22 13:38:53 Asia/Tbilisi

Protocol Buffer
{
  "id": "1:2056",
  "vehicle": {
    "trip": {"startDate": "20260722", "routeId": "1:R97622"},
    "position": {"latitude": 41.70671463012695, "longitude": 44.80546569824219, "bearing": 346.525146484375},
    "timestamp": "1784713117",
    "stopId": "1:1726",
    "vehicle": {"id": "1:2056"}
  }
}

JSON rendering of a Protocol Buffer entity decoded with official GTFS-Realtime bindings

04

Boundaries

Reliability, caveats, and privacy

What held up

  • Two live responses three seconds apart changed from 1,275 to 1,274 entities
  • Header and per-vehicle timestamps were current at retrieval
  • The feed is FULL_DATASET, so consumers must replace state instead of appending

What can go wrong

  • Community-hosted and HTTP-only, creating integrity and uptime risks
  • No stated reuse license or published rate limit
  • stopId and tripId are often blank
  • No speed, occupancy, congestion, accessibility or position-accuracy fields
  • No metro or gondola positions, TripUpdates or Alerts were observed

Privacy boundary

  • Vehicle IDs identify public-service vehicles, not riders
  • No passenger identity or occupancy values are present