--- title: "Jakarta Public Transport Data" description: "Umbrella topic for Jakarta-area public transport data — how each operator's realtime/schedule systems actually work, what is publicly reachable, and what is usable for future projects. Subtopics: TransJakarta live bus feed; KRL/Comuline schedules; Jabodetabek CCTV camera layer." status: active category: technical tags: [jakarta-public-transport-data, transit-data, jakarta, jabodetabek, transjakarta, krl, commuter-line, open-data, reverse-engineering, cctv] draft: true created: 2026-10-12 updated: 2026-10-13 --- # Jakarta Public Transport Data ## Summary Umbrella topic for **Jakarta-area public transport data**: what data each operator exposes, how third-party apps actually get it, and what is usable for future projects. Each system lives in a subtopic below; the shared thread is reverse-engineering public transport data pipelines and documenting them for reuse. ## Subtopic Map - [[transjakarta-live-data/index|TransJakarta Live Data]] — bus lens: anonymous MQTT fleet stream + guest REST API + official GTFS; verified via cross-capture (audited Oct 2026) - [[comuline-krl-data/index|Comuline / KRL Schedule Data]] — rail lens: KRL Commuter Line schedules replicated from KAI Commuter's official partner API; currently a frozen snapshot (audited Oct 2026) - [[jabodetabek-cctv-live-data/index|Jabodetabek CCTV Live Data]] — vision lens: public traffic-camera catalogs (DKI, BPJT toll roads, Bekasi, Bogor) and the owner-hosted HLS streams apps hotlink; audited via transit.oyenza.com/cctv (Oct 2026) ## Research Question Which Jakarta public transport data sources are publicly reachable today, how do they work end-to-end, and which are stable enough to build on? ## Key Findings - **TransJakarta buses: live and open (as of Oct 2026).** Anonymous MQTT broker (`wss://mqtt.tj.co.id:8084/mqtt`) + guest-token REST API + official GTFS give the full realtime fleet (~3.3–3.7k buses). Usable today. - **KRL commuter line: schedules only, and stale.** Comuline replicates KAI Commuter's partner API, but its sync stopped ~Mar 2025; its public API still serves that snapshot. No live train positions there. - **Jabodetabek CCTV: four public catalogs, hotlinked HLS streams (as of Oct 2026).** DKI (jakcctv), BPJT tolls, Bekasi, and Bogor publish camera lists with direct stream URLs; third-party apps hotlink them with no tokens. See [[jabodetabek-cctv-live-data/index|CCTV layer]]. - **Pattern across all three:** operators rarely publish developer-facing APIs; practical access comes from app backends, partner endpoints, government portals that embed streams, and open replication projects that document the pipelines. Access is undocumented and can change without notice. ## Related Research - [[transjakarta-live-data/index|TransJakarta Live Data]] — first audit (origin of this umbrella) - [[comuline-krl-data/index|Comuline / KRL Schedule Data]] — second audit - [[jabodetabek-cctv-live-data/index|Jabodetabek CCTV Live Data]] — third audit ## Discussion Branched 2026-10-12 per user request after two audits: TransJakarta (via `transit.oyenza.com`) and KRL schedules (via `comuline.com`). Both were already documented as separate topics; this umbrella gathers them under one home and is the place to add future systems (MRT Jakarta, LRT Jabodebek, TransJabodetabek, etc.). 2026-10-13: third audit added — the CCTV camera layer, again via `transit.oyenza.com` (its `/cctv` page). Road/traffic cameras rather than vehicles, but the same reverse-engineering thread and reuse potential. ## Next Steps - [ ] Add subtopics for other Jabodetabek systems as they get audited (MRT Jakarta, LRT Jakarta/Jabodebek, TransJabodetabek) - [ ] Re-verify access status of both existing feeds periodically (undocumented; can change) - [ ] Keep per-system "verified on" dates current in subtopics