SG Bus can't reach the live-data service right now — it may be restarting for maintenance, or your connection dropped. This page reconnects on its own, so there's no need to refresh.
Reconnecting…
SG Bus · live arrivals & AI-adjusted predictions
Link copied to clipboard
Install SG Bus
Add it to your Home Screen for a full-screen app — faster, and one tap away.
1Tap the Share button
in Safari's toolbar
2Choose Add to Home Screen
Don't see "Add to Home Screen"? Scroll the share sheet down, or tap Edit Actions… / More to find it.
🆕
Nearby stops
·auto-refresh 30s·official LTA times, AI estimate below
No buses serving this stop right now.
Punctuality statslast 30 days
Not enough history for this stop yet — it builds automatically.
LTA timing
–
within ±1 min
vs
AI-adjusted
–
within ±1 min
Average delay by route
positive = late, negative = early · bar width = number of observations
On-time rate by route (% arriving within ±1 min of LTA)
Average delay by hour (orange = peak hours)
how late buses tend to run at each hour of the day
Daily trend, last 14 days
average delay per day — are buses getting better or worse?
How predictions work
The big number is the official LTA estimate. Underneath it, the AI
estimate shows when the bus will actually arrive based on how
this exact route at this exact stop has behaved historically.
Two prediction layers work together: a gradient-boosting model that
generalises across hour, day, crowding and bus type — and a per-route
memory of real measured delays from the last 30 days. Routes with more
history lean on real measurements; the correction also shrinks as a bus
gets close, since live GPS estimates are most accurate then.
Ground truth comes from tracking each bus across successive polls
until it arrives. The model retrains itself hourly.
What the labels mean
Bus type
DDDouble-deck bus
BDBendy (articulated) bus
SDSingle-deck bus — the default, shown without a tag
Accessibility
♿Wheelchair-accessible bus
Crowding
SeatsSeats available
StandingStanding only
CrowdedLimited standing — packed
Timing
AIMachine-learning adjusted arrival, refining the raw LTA estimate
Saved
Log in to save bus stops and journey routes — they sync to your account across all your devices.
Stops
No saved stops yet. Search for a stop and tap Save — monitored 24/7 for sharper predictions.
Routes
No saved routes yet. Plan a journey and tap
to save it.
Plan a journey
Bus & MRT routes with live arrival times
From
To
Depart
Finding routes…
Checkpoint Traffic
Loading…
Bus to checkpoint
From Kranji
From Marsiling
From Woodlands Int
Live cameras ~90 s refresh by LTA
Live cameras ~90 s refresh by LTA
Live camera feeds from data.gov.sg · Images refresh every ~90 s
Data & model
What the system has collected and learned so far.
Continuously monitored stops
Latest measured delays
Stop
Bus
When
Delay
Recent snapshots
Stop
Bus
When
Delay
Load
🏆 Most delayed buses last 30 days
#
Route
Avg delay
Trips
🏆 Most delayed stops last 30 days
#
Stop
Avg delay
Records
Feedback
Usage dashboard live
–
queries today
–
daily avg (7d)
–
registered users
–
active sessions (30d)
–
arrival lookups today
–
journey plans today
–
feedback rating
Queries by type
Type
Today
7d
30d
All
Top stops this week
Users
User
Via
Joined
Last seen
Saved
Punctuality heatmap 90 days
Average measured delay by day & hour — when buses actually run late across every monitored stop.
EarlyLate no data
System notifications
SG Bus
Live arrivals · AI-adjusted predictions
Appearance
Theme
Home location
Account
Legend
Bus type
DDDouble-deck bus
BDBendy (articulated) bus
SDSingle-deck bus — the default, shown without a tag
Accessibility
♿Wheelchair-accessible bus (WAB)
Crowding
SeatsSeats available (SEA)
StandingStanding only (SDA)
CrowdedLimited standing — packed (LSD)
Timing
AIMachine-learning adjusted arrival — refines the raw LTA estimate using live traffic & history