Aerial night view of the CSW Sky Corridor interchange, its skybridges lit in color

Transit Pulse Jakarta

How Jakarta moves, one bus trip at a time

Built from Transjakarta's official GTFS schedule: 67,579 scheduled trips across 247 active corridors on a typical Monday.

Scroll

What happened at CSW

When the queue reached the ground floor

Passengers queueing at CSW Sky Corridor, held back from the Roti O entrance
5:53 PM: queue held back from the Roti O entrance, reportedly because Level 5 was full. Faces blurred for privacy. Photo: @larkspuretruby.

Passenger queues at CSW Sky Corridor recently backed up from the upper platform levels down to street level. The Level 5 platform reached its maximum occupancy, forcing passenger flow to be held temporarily.

CSW is not a single-corridor stop. It is a four-halte interchange complex (CSW 1, CSW 2, ASEAN, and Kejaksaan Agung) connected to MRT Jakarta's ASEAN station. At least a dozen distinct Transjakarta services converge there: the elevated "Koridor Langit" family (13, 13B, and the L13E express), trunk Corridor 1, and multiple feeder routes.

4

BRT halte in one complex

1

MRT station connected

2021

Interchange opened

12+

Routes converge here

Where the name comes from

CSW stands for Centrale Stichting Wederopbouw, Dutch for "Central Foundation for Reconstruction." It's the old name of the intersection in Kebayoran Baru, South Jakarta, that the interchange is built over.

This site focuses on one piece of that picture: the schedule side of the Corridor 13 family, since that's what Transjakarta's published GTFS data can actually speak to. It is not a claim that service frequency is the whole explanation. Platform design, vertical circulation, and multiple corridors' peak periods overlapping at the same transfer point are all plausible contributing factors this data alone can't settle. What follows is the frequency evidence, presented as one lens on a more complicated interchange, not the full story.

0

Daily trips on Koridor Langit (Corridor 13 family)

Corridor 13, its 13B branch, and the L13E express all share the same elevated busway into CSW. One scheduled bus movement from terminal to terminal counts as one trip.

Corridor L13E

836

Corridor 13

495

Corridor 13B

255

Corridor ranking

How the Corridor 13 family stacks up

13 Family
1,586
9
1,488
1
1,338
10
1,149
8
1,142
3
882
JAK.11
850
JAK.12
850
JAK.14
850
7
788
6
720
2
711
JAK.10
680
JAK.13
680
JAK.48A
680

Plus 232 more corridors running 53,185 combined daily trips.

Split apart, none of Corridor 13's branches would crack the top 10. The best of them ranks around #9. Counted the way they actually operate, sharing one elevated busway into CSW, they're Jakarta's busiest corridor. That gap is the whole reason this page exists.

Relative comparison

Corridor 13 family, side by side

107%

Corridor 13 Family runs at 107% of Corridor 9's daily trips

1,586 vs 1,488 trips/day

119%

Corridor 13 Family runs at 119% of Corridor 1's daily trips

1,586 vs 1,338 trips/day

138%

Corridor 13 Family runs at 138% of Corridor 10's daily trips

1,586 vs 1,149 trips/day

Explore the network

Every corridor, mapped and timed

Pick a corridor on either side to see where it runs and when its buses actually show up. Both stay in sync.

Showing: All corridors

Weekday peak (Monday)

05:00

Weekend peak (Saturday)

05:00

Weekday trips (Monday)

67,579

Weekend trips (Saturday)

65,706

01,0002,0003,0004,00000:0006:0012:0018:0023:00
Weekday
Weekend

Key takeaways

What the schedule tells us

Corridor 13 accounts for the largest volume of scheduled trips in the network, with 1,586 departures per day. Since its branches converge at CSW, the station sees one of the highest concentrations of scheduled bus movements in Jakarta.

The network is highly concentrated. Just three of 247 active corridors account for 7% of all scheduled trips, highlighting how a relatively small number of corridors provide a disproportionate share of scheduled service.

Across the network, scheduled departures peak at 05:00, when many routes dispatch their first buses simultaneously. This reflects service initialization rather than peak passenger demand.

Weekday and Saturday schedules differ by only about 3%, suggesting that Transjakarta maintains relatively consistent service levels throughout the week. Passenger demand, however, cannot be inferred from schedules alone.

Methodology & data

What is GTFS?The General Transit Feed Specification is the standard format transit agencies use to publish their route and schedule data. This project reads Transjakarta's official static GTFS feed directly: nothing on this page is estimated or hand-typed.

How trips are counted. Daily trip counts are derived by expanding each GTFS frequencies.txt block (start_time, end_time, headway_secs) into its implied number of scheduled departures, then summing across every active trip pattern per route for the representative service day. Trips without a frequencies.txt entry fall back to a single fixed-schedule departure from their first stop_times.txt row.

Representative day. Every figure on this page reflects the schedule for Monday, July 20, 2026. It was chosen because it matched 8 other recent weekdays with an identical active-service pattern.

Source. Official Transjakarta GTFS feed, last updated June 29, 2026. Aggregated on July 20, 2026 across 256 routes and 730 scheduled trip patterns (249 routes had active service that day).

Built by mailfaruqi as an exploration of GTFS, cartography, and interactive transit analytics.