research/transjakarta-live-data/index.md
hermes 3a518be39f Add transjakarta-live-data research topic
Verified TransJakarta realtime stack: anonymous MQTT bus feed (wss://mqtt.tj.co.id:8084/mqtt), guest REST API (tijeapi.transjakarta.co.id), official GTFS. Cross-capture verification vs third-party tracker, connection recipes, snapshot tool.
2026-10-12 09:34:23 +00:00

2.7 KiB
Raw Blame History

title description status category tags draft created updated
TransJakarta live data — verified stack: MQTT stream, app REST API, GTFS How TransJakarta realtime bus data works and how to use it — anonymous MQTT broker, guest REST API, official GTFS. Verified by cross-capture, Oct 2026. concluded technical
transjakarta
mqtt
realtime
gtfs
reverse-engineering
transit-data
true 2026-10-12 2026-10-12

TransJakarta live data — verified stack

What this is: a verified map of TransJakarta's public realtime data services — the MQTT live-bus stream, the official app REST API, and the GTFS static feed — plus ready-to-use connection recipes.

Origin: reverse-engineering transit.oyenza.com (a third-party tracker) to determine what it uses. The trail led to TransJakarta's own services, which are reachable directly. Cross-capture verification proved the third-party tracker serves the same data as the official feed — see transjakarta-live-data/analysis.

TL;DR — the three services

  1. Live positions (MQTT): wss://mqtt.tj.co.id:8084/mqtt — anonymous, no key needed. Topics /mobile_armada/<cell>/<route>/<trip>/<fleet-no>; one JSON payload per bus.
  2. App REST API: https://tijeapi.transjakarta.co.id — guest JWT via POST /v1/auth/login/guest (no account). POST /v1/bus returns nearby buses and the MQTT topics to subscribe.
  3. Static schedule: https://gtfs.transjakarta.co.id/files/file_gtfs.zip (~2.4 MB, open download; version observed 27 Jul 2026).

Key verified numbers (Oct 12, 2026)

  • Live fleet: ~3,300–3,720 buses (BRT, Mikrotrans, Angkutan Umum Integrasi, Transjabodetabek, Royaltrans, Rusun).
  • oyenza cross-capture: 1,794 common buses, 100% trip/route ID agreement, median position delta 8.9 m, 97.8% fleet overlap over 75 s.
  • Broker: ~2,000+ retained messages delivered instantly on subscribe; per-bus refresh ~8–75 s in samples.
  • Third-party tracker's own browser stream: full snapshot (3,722 buses) + deltas every 3.00 s.

Using it

Files