Mobility / Normalized departures, routing and map segments
Transitous normalized Tbilisi realtime and routing API
Transitous runs the open-source MOTIS engine over Tbilisi's static GTFS and raw vehicle-position feed. Its versioned JSON API exposes nearby stop events with both scheduled and realtime-adjusted times, stop and route metadata, journey planning, trip details, geocoding and map trip segments. It is simpler to consume than raw protobuf and does not require TTC's embedded application credential, but it is a volunteer-operated best-effort service and inherits upstream licensing and quality limits.
Provenance and access
How the data is reached
Unauthenticated HTTPS JSON API documented by MOTIS OpenAPI. Send a meaningful User-Agent with application name/version/contact or a browser Referer with site contact information. FOSS and non-profit use is encouraged; contact maintainers before high-volume or expensive routing use and show Transitous/source attribution.
Transitous has a FOSS/non-profit usage policy and attribution requirements; every underlying feed and OpenStreetMap component retains its own terms, and the TTC source license is unclear
Nearby stop times
https://api.transitous.org/api/v6/stoptimes ↗- Method
- GET
- Format
- JSON
- Authentication
- None; identifying User-Agent or Referer required by policy
Tested parameters: center, radius, n and language
Map trip segments
https://api.transitous.org/api/v6/map/trips ↗- Method
- GET
- Format
- JSON
- Authentication
- None; identifying User-Agent or Referer required by policy
Accepts zoom, min/max bounds, startTime/endTime, precision and languages; this returns trip segments, not raw vehicle dots
Transitous usage and attribution policy
https://transitous.org/api/ ↗- Method
- GET
- Format
- HTML documentation
- Authentication
- None
MOTIS v2.10.2 OpenAPI
https://raw.githubusercontent.com/motis-project/motis/refs/tags/v2.10.2/openapi.yaml ↗- Method
- GET
- Format
- OpenAPI YAML
- Authentication
- None
Field-level detail
What is actually returned
Stop-times response
Top-level response for nearby stop events.
| Field / path | Type | Null? | Example | Meaning | Freshness |
|---|---|---|---|---|---|
stopTimes[] | array<object> | No | 5 records | Arrival and departure events around the requested point | derived |
place | Place object | No | {name:"center",lat:41.72072,lon:44.74624} | Requested coordinate or stop anchorNot necessarily a transit stop | derived |
previousPageCursor | opaque string | No | long cursor token | Cursor for earlier eventsDo not parse | derived |
nextPageCursor | opaque string | No | long cursor token | Cursor for later eventsDo not parse | derived |
Stop-time event
One route arrival/departure at a selected nearby stop.
| Field / path | Type | Null? | Example | Meaning | Freshness |
|---|---|---|---|---|---|
place | Place object | No | University Street with event times | Event stop and timing fields | derived |
mode | enum string | No | BUS | Transport modeAlso SUBWAY and AERIAL_LIFT in current API | reference |
realTime | boolean | No | true | Whether a realtime adjustment was applied | live |
headsign | string | No | სახ.უნივერსიტეტის მ/კ | Trip direction or destination text | reference |
tripFrom | Place object | No | Didi Dighomi IV Micro-District | Scheduled trip origin | reference |
tripTo | Place object | No | Tbilisi State University | Scheduled trip destination | reference |
agencyId | string | No | TTC | Source agency identifier | reference |
agencyName | string | No | Tbilisi Transport Company | Source agency name | reference |
agencyUrl | URL string | No | https://ttc.com.ge | Agency website | reference |
routeId | string | No | ge-tbilisi-transport-company_1:R97614 | Transitous-namespaced route identifier | reference |
routeUrl | string | Yes | Optional agency route URLBlank in the sample | reference | |
directionId | string | No | 1 | GTFS trip direction | reference |
routeColor | hex string | No | 00b38b | Route display color without # | reference |
routeTextColor | hex string | No | 000000 | Suggested route-label text color | reference |
tripId | string | No | namespaced dated trip ID | Specific scheduled trip identifier | reference |
routeType | integer | No | 3 | GTFS route type | reference |
routeShortName | string | No | 311 | Passenger-facing route number | reference |
routeLongName | string | No | Didi Dighomi IV M/D - Tbilisi State University H/B | Route description | reference |
tripShortName | string | Yes | Optional trip number or name | reference | |
displayName | string | No | 311 | Consumer-facing service label | reference |
pickupDropoffType | enum string | No | NORMAL | Boarding and alighting rule at the event | reference |
cancelled | boolean | No | false | Whether this event is canceledNo cancellations observed and no Alert source existed upstream | live |
tripCancelled | boolean | No | false | Whether the whole trip is canceled | live |
source | string | No | ...stop_times.txt:401239:401302 | Source GTFS file and line provenance | reference |
Event Place
Stop identity, coordinates, scheduled times and current returned times nested in an event.
| Field / path | Type | Null? | Example | Meaning | Freshness |
|---|---|---|---|---|---|
name | string | No | University Street | Stop name | reference |
stopId | string | No | ge-tbilisi-transport-company_1:1266 | Transitous-namespaced stop ID | reference |
importance | number | No | 0.0004257434 | MOTIS search/ranking weightNot passenger demand or social importance | derived |
lat | number | No | 41.72066 | WGS84 stop latitude | reference |
lon | number | No | 44.746197 | WGS84 stop longitude | reference |
level | number | No | 0 | OSM or indoor level | reference |
tz | IANA timezone | No | Asia/Tbilisi | Stop timezone | reference |
arrival | ISO datetime | No | 2026-07-22T09:45:00Z | Current returned arrival, adjusted when realtime is available | live |
departure | ISO datetime | No | 2026-07-22T09:45:00Z | Current returned departure, adjusted when realtime is available | live |
scheduledArrival | ISO datetime | No | 2026-07-22T09:39:00Z | Original scheduled arrival | reference |
scheduledDeparture | ISO datetime | No | 2026-07-22T09:39:00Z | Original scheduled departure | reference |
stopCode | string | No | 1266 | Passenger-facing stop code | reference |
vertexType | enum string | No | TRANSIT | MOTIS graph location type | derived |
pickupType | enum string | No | NORMAL | Boarding rule | reference |
dropoffType | enum string | No | NORMAL | Alighting rule | reference |
cancelled | boolean | No | false | Whether the event at this stop is canceled | live |
modes[] | array<enum> | No | ["BUS"] | Modes serving the place | reference |
Map trip segment
Scheduled or realtime-adjusted segment returned by /api/v6/map/trips; not a raw vehicle dot.
| Field / path | Type | Null? | Example | Meaning | Freshness |
|---|---|---|---|---|---|
trips[] | array<{tripId,displayName}> | No | [{tripId:"…",displayName:"439"}] | Trips sharing the displayed segment | reference |
routeColor | hex string | No | 0033b4 | Route display color | reference |
mode | enum string | No | BUS | Segment modeAlso SUBWAY and AERIAL_LIFT | reference |
distance | number | No | 1481.6848 | Segment distance in metres | derived |
from | Place object | No | origin stop | Segment origin stop | reference |
to | Place object | No | destination stop | Segment destination stop | reference |
departure | ISO datetime | No | 2026-07-22T09:45:00Z | Current returned departure | live |
arrival | ISO datetime | No | 2026-07-22T09:48:00Z | Current returned arrival | live |
scheduledDeparture | ISO datetime | No | 2026-07-22T09:39:00Z | Original scheduled departure | reference |
scheduledArrival | ISO datetime | No | 2026-07-22T09:42:00Z | Original scheduled arrival | reference |
realTime | boolean | No | true | Whether live adjustment was applied | live |
polyline | encoded string | No | encoded geometry | Segment geometry at requested precision | derived |
Representative evidence
Sample records
Realtime-adjusted route 311 stop event
Retrieved 2026-07-22 13:44 Asia/Tbilisi
{
"place": {
"name": "University Street",
"stopId": "ge-tbilisi-transport-company_1:1266",
"arrival": "2026-07-22T09:45:00Z",
"departure": "2026-07-22T09:45:00Z",
"scheduledArrival": "2026-07-22T09:39:00Z",
"scheduledDeparture": "2026-07-22T09:39:00Z",
"stopCode": "1266",
"modes": ["BUS"]
},
"mode": "BUS",
"realTime": true,
"routeShortName": "311",
"displayName": "311",
"cancelled": false,
"tripCancelled": false
}Boundaries
Reliability, caveats, and privacy
What held up
- The nearby stop-times endpoint returned both scheduled and realtime-adjusted events
- The OpenAPI schema and Transitous usage policy are public
- Source-line provenance is included for GTFS-derived records
What can go wrong
- Volunteer best-effort service with no TTC SLA
- Map-wide and routing queries can be expensive; coordinate high-volume use
- Realtime flags are derived from the raw vehicle feed and inherit its gaps
- A realTime=false event is schedule-only, not evidence that a service is absent
- Underlying TTC feed has no declared open-data license
Privacy boundary
- No passenger identities or fare validations are exposed
- importance is a routing/search score and must not be interpreted as ridership
Cross-source possibilities
Ideas using this source
Job After the Commute
Which vacancy is actually compatible with daily life without a car?
Joined with 3 other sources →Everyday lifeThe Better Rate’s Commute
Is traveling for the numerically better exchange rate actually worthwhile?
Joined with 1 other source →Everyday lifeThe Last 600 Metres
Which similarly fast route has the more tolerable final walk today?
Joined with 3 other sources →Care & accessMedicine Availability Honesty
Which registered pharmacies should I call before making the trip?
Joined with 2 other sources →Source trail
Primary pages and documentation
- DocumentationTransitous API policy ↗
https://transitous.org/api/ - DocumentationTransitous sources and attribution ↗
https://transitous.org/sources/ - DocumentationMOTIS v2.10.2 OpenAPI ↗
https://raw.githubusercontent.com/motis-project/motis/refs/tags/v2.10.2/openapi.yaml