Transit insights
Fleet status
A dated fleet inventory and maintenance report sit beside current public vehicle observations.
Fleet composition, not the number available for today’s service. OC Transpo Transit Committee update · slide 22 ↗
Latest feed observation: Nov 4, 2026, 5:34 p.m.
What did public vehicle feeds show?
Find an exact route or public feed ID, including routes beyond the 12 shown below. Enter one at a time.
Show what the retained samples recorded
Retained public GTFS-RT positions
Look back at retained position samples for one service date. These are feed observations, not a count of physical buses or completed trips.
Find an exact route or public feed ID, including routes beyond the 12 shown below. Enter one at a time.
OC Transpo
STO
Latest retained position:
Recorded vehicle-feed checks
Checks of the operators’ vehicle feeds recorded for this date. These records do not show whether every planned check ran.
OC Transpo
- Response contained records
- 2,755
- Empty response
- 0
- Old data
- 0
- Check failed
- 0
Last recorded check: · Last successful check:
STO
- Response contained records
- 1,516
- Empty response
- 62
- Old data
- 0
- Check failed
- 0
Last recorded check: · Last successful check:
Which feed IDs were seen?
One selected service date and operator. These public identifiers are observed in retained positions; they are not a physical vehicle roster.
- 4612OC Transpo
First seen: · Last seen:
8 routes with positions · 15 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 4713OC Transpo
First seen: · Last seen:
5 routes with positions · 8 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 2184OC Transpo
First seen: · Last seen:
2 routes with positions · 3 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 6401OC Transpo
First seen: · Last seen:
6 routes with positions · 9 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 2213OC Transpo
First seen: · Last seen:
7 routes with positions · 11 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 2113OC Transpo
First seen: · Last seen:
4 routes with positions · 13 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 4745OC Transpo
First seen: · Last seen:
5 routes with positions · 6 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 2226OC Transpo
First seen: · Last seen:
4 routes with positions · 9 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 4843OC Transpo
First seen: · Last seen:
4 routes with positions · 16 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 6627OC Transpo
First seen: · Last seen:
2 routes with positions · 3 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 2176OC Transpo
First seen: · Last seen:
5 routes with positions · 10 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 2121OC Transpo
First seen: · Last seen:
3 routes with positions · 11 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 2215OC Transpo
First seen: · Last seen:
8 routes with positions · 10 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 6514OC Transpo
First seen: · Last seen:
0 routes with positions · 0 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 6550OC Transpo
First seen: · Last seen:
6 routes with positions · 12 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 4847OC Transpo
First seen: · Last seen:
3 routes with positions · 7 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 4617OC Transpo
First seen: · Last seen:
1 routes with positions · 10 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 2223OC Transpo
First seen: · Last seen:
5 routes with positions · 8 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 2259OC Transpo
First seen: · Last seen:
5 routes with positions · 10 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 4776OC Transpo
First seen: · Last seen:
2 routes with positions · 7 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 2109OC Transpo
First seen: · Last seen:
5 routes with positions · 7 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 6396OC Transpo
First seen: · Last seen:
4 routes with positions · 6 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 2212OC Transpo
First seen: · Last seen:
4 routes with positions · 6 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 4841OC Transpo
First seen: · Last seen:
6 routes with positions · 16 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗ - 4630OC Transpo
First seen: · Last seen:
1 routes with positions · 2 route–trip claims
Find in retained samples ↗Separate recent feed-ID trip history (not limited to this date or operator) ↗
Showing up to 25 IDs in a stable order. Use Next to continue; your browser Back returns to the previous page.
Recent retained service dates (up to seven)
- 2026-10-29 · OC Transpo574
- 2026-10-29 · STO210
- 2026-10-30 · OC Transpo568
- 2026-10-30 · STO197
- 2026-10-31 · OC Transpo363
- 2026-10-31 · STO64
- 2026-11-01 · OC Transpo331
- 2026-11-01 · STO64
- 2026-11-02 · OC Transpo565
- 2026-11-02 · STO196
- 2026-11-03 · OC Transpo563
- 2026-11-03 · STO200
- 2026-11-04 · OC Transpo561
- 2026-11-04 · STO200
Routes observed on this date
- Inspect 75Open route 75129 route–trip assignments seen
- Inspect 88Open route 88123 route–trip assignments seen
- Inspect 98Open route 98117 route–trip assignments seen
- Inspect 39Open route 39110 route–trip assignments seen
- Inspect 6Open route 6104 route–trip assignments seen
- Inspect 85Open route 85104 route–trip assignments seen
- Inspect 400Open route 400102 route–trip assignments seen
- Inspect 5Open route 5102 route–trip assignments seen
- Inspect 111Open route 111100 route–trip assignments seen
- Inspect 11Open route 1199 route–trip assignments seen
- Inspect 80Open route 8098 route–trip assignments seen
- Inspect 68Open route 6898 route–trip assignments seen
Showing the 12 routes with the most observed trip assignments.
Method: retained public position feed IDs grouped by Toronto service date (04:00–03:59). The peak is the largest sampled minute, not an in-service or fleet peak. Feed IDs can change or be reused. The expected polling schedule is unavailable. A minute without retained positions could be an empty feed, a failed request, or a collection gap.
What makes up the bus fleet?
60-foot articulated 250 · Double-decker 10 · 40-foot diesel 260 · 40-foot electric 175
Show the inventory by type
Official inventory by vehicle type, September 2026. OC Transpo Transit Committee update · slide 22 ↗
- 60-foot articulated
- 250 82*
- Double-decker
- 10 10*
- 40-foot diesel
- 260 260*
- 40-foot electric
- 175 354*
* September 2027 projection: 706 buses in the fleet.
How often do buses break down?
Mean distance between failures: 6,750 km
Show failures against the target
OC TRANSPO · September 2026 inventory · OC Transpo Transit Committee update · slide 23 ↗
A fleet-wide average of kilometres travelled before a breakdown; it is not a daily count of buses in repair.
Q4 2027 projection: 13,750 km
Compare vehicle types
* Q4 2027 projection
What share of maintenance is planned?
56% planned work, September 2026
Show planned and reactive work
This is the mix of maintenance work, not the share of vehicles in repair. OC Transpo Transit Committee update · slide 25 ↗
O-Train and STO inventories
OC Transpo · before the January 2025 opening
South O-Train inventory
- Stadler FLIRT trainsets
- 7
- Alstom LINT trainsets
- 6
Operator-reported trainsets for Lines 2 and 4, not passenger cars or a current count available for service. Line 1 availability and repair counts are not established by this inventory. A missing train position does not mean it is out of service.
OC Transpo train inventory ↗STO · 2025 annual report
STO regular bus inventory
374- Regular diesel
- 131
- Regular hybrid
- 145
- Articulated diesel
- 59
- Articulated hybrid
- 37
- Electric
- 2
Paratransit minibuses, separate from regular buses: 24.
This annual inventory does not say how many vehicles are available or in repair today.
STO 2025 annual report ↗Investigate a vehicle observation
Search the live public-feed records by route or feed ID. Feed IDs have not been verified against physical fleet numbers.
Open observed vehicles ↗The September 2027 figures are projections, not observed inventory. The update does not publish a current in-service or repair count on these slides.
Official feeds, calculated measures, civic data, and rider observations stay visibly separate. Missing evidence is unavailable, never zero.