research/transjakarta-live-data/sources.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.2 KiB
Raw Blame History

Sources

★ = directly verified during this investigation (Oct 11–12, 2026). Unmarked items are community-documented leads, not yet re-verified.

TransJakarta services

  • ★ https://tijeapi.transjakarta.co.id — official app ("TJ:Transjakarta" / Tije) REST backend. Guest login works: POST /v1/auth/login/guest. (~105 endpoints total per open-tj; only the bus endpoints verified here.)
  • ★ wss://mqtt.tj.co.id:8084/mqtt — live bus feed; MQTT 3.1.1 over WebSocket Secure, anonymous access.
  • ★ https://gtfs.transjakarta.co.id/files/file_gtfs.zip — official GTFS zip (~2.4 MB). Portal UI is login-gated; the file URL itself is open. Version observed: 27 Jul 2026.
  • ★ https://bustrack.transjakarta.co.id — TJ's own tracker web app, built on Traccar (stock UI + API surface). /api/session returned 404; access looks restricted. Separate system from the Tije feed.
  • https://chatbot.transjakarta.co.id/ws/ — "Tara" AI chatbot WebSocket (JWT) — documented by open-tj.
  • https://tije-dashboard.transjakarta.co.id — login page for the app's admin dashboard.

Third-party projects (how the stack became known)

  • https://github.com/mugnimaestra/tj-live — SvelteKit tracker. Source documents broker URL, guest JWT flow, POST /v1/bus topics, Bus schema.
  • https://github.com/BroNils/open-tj — Go SDK/CLI. Documents "MQTT anonymous", "~105 REST endpoints", Tara chatbot, Kong gateway.

Investigation target (origin of this research)

  • https://transit.oyenza.com — "Bus Jakarta Live", independent third-party tracker ("Tidak berafiliasi" — not affiliated). Serves TransJakarta's feed through its own backend:
    • browser stream wss://transit.oyenza.com/api/live (custom protocol)
    • REST: /api/bus/<fleet-no>, /api/halte/<stop-id>, /api/stats, /api/meta, /api/places
    • static.json cites the official GTFS URL as its static source
  • Related domains: transit.vantis.sh (alias), vantis.sh, oyenza.com — same developer.

Context

  • App launch coverage: "Transjakarta launches new app with accurate bus tracking", The Jakarta Post, 2024-09-24 (headline as seen in search results).
  • Official app listings: Play Store com.transjakmobile, App Store "TJ:Transjakarta".