Bus 90 in Ottawa links Hurdman D and Greenboro C. The route is 17.4 km long with 53 stops, and the official schedule from OC Transpo puts the full trip at about 46 minutes. On a weekday it runs 61 trips in one direction, and 30 on a weekend day.

Route at a glance
| Mode | Bus |
|---|---|
| Route number | 90 |
| City | Ottawa |
| Transit authority | OC Transpo |
| Start → end | Hurdman D → Greenboro C |
| End → start | Greenboro C → Hurdman D |
| Route length | 17.4 km / 16.6 km in the opposite direction |
| Number of stops | 53 / 50 in the opposite direction |
| Travel time | about 46 minutes |
| Trips per day | 61 on weekdays, 30 on weekends one way (65 on weekdays → Hurdman D) |
| Frequency | peak 3–15 · midday 15–30 · weekend 30–60 |
| First / last trip from «Hurdman D» | 00:26 / 23:56 |
| First / last trip from «Greenboro C» | 04:13 / 23:43 |
| Fare | — |
| Updated | August 23, 2026 |
Route of Bus 90
Outbound: Hurdman D → Greenboro C
This direction has 53 stops and runs 17.4 km. The route passes Lycée Claudel 1A (B), Flannery / Brookfield, Riverside / Leopolds, Mccarthy / Twyford. Below is the full list with the distance from the first stop.
| No. | Stop | From start | Note |
|---|---|---|---|
| 1 | Hurdman D | 0.0 km | Terminus |
| 2 | Lycée Claudel 1A (B) | 0.9 km | |
| 3 | Smyth 1A (B) | 1.5 km | |
| 4 | Riverside 1A (B) | 2.1 km | |
| 5 | Pleasant Park 1A (B) | 2.6 km | |
| 6 | Billings Bridge 1A (A) | 3.6 km | |
| 7 | Data Centre / Billings Bridge | 4.1 km | |
| 8 | Heron 3A | 4.5 km | |
| 9 | Mooney’s Bay B | 5.0 km | |
| 10 | Canada Post / Heron | 5.5 km | |
| 11 | Canada Post / Brookfield | 5.6 km | |
| 12 | Brookfield / Hobson | 5.9 km | |
| 13 | Brookfield / Flannery | 6.1 km | |
| 14 | Flannery / Brookfield | 6.2 km | |
| 15 | Flannery / Ramsgate | 6.4 km | |
| 16 | Flannery / Springland | 6.6 km | |
| 17 | Springland / Hobson | 6.9 km | |
| 18 | Springland / Ridgewood | 7.1 km | |
| 19 | Ridgewood / Riverside | 7.3 km | |
| 20 | Riverside / Ridgewood | 7.5 km | |
| 21 | Riverside / Mooney’s Bay | 7.8 km | |
| 22 | Riverside / Walkley | 8.2 km | |
| 23 | Riverside / Ad. 3200 | 8.5 km | |
| 24 | Riverside / Revelstoke | 8.7 km | |
| 25 | Riverside / Marilyn | 8.9 km | |
| 26 | Riverside / Leopolds | 9.1 km | |
| 27 | Riverside / Rivergate | 10.0 km | |
| 28 | Riverside / Malhotra | 10.2 km | |
| 29 | Uplands / Bowesville | 10.5 km | |
| 30 | Uplands / Country Club | 10.8 km | |
| 31 | Uplands / Rich Little | 11.0 km | |
| 32 | Uplands / Country Club | 11.3 km | |
| 33 | Uplands / Huntmaster | 11.6 km | |
| 34 | Uplands / Royalton | 11.9 km | |
| 35 | Uplands / Paul Anka | 12.0 km | |
| 36 | Paul Anka / Mccarthy | 12.4 km | |
| 37 | Paul Anka / Mccarthy | 12.5 km | |
| 38 | Mccarthy / Twyford | 12.7 km | |
| 39 | Mccarthy / Pigeon | 12.9 km | |
| 40 | Mccarthy / Cahill | 13.1 km | |
| 41 | Cahill / Twyford | 13.4 km | |
| 42 | Cahill / Uplands | 13.6 km | |
| 43 | Uplands / Hunt Club | 13.8 km | |
| 44 | Uplands / Hunt Club | 14.0 km | |
| 45 | Uplands / Dowpatrick | 14.2 km | |
| 46 | Downpatrick / Shanegal | 14.3 km | |
| 47 | Downpatrick / Cotters | 14.6 km | |
| 48 | Downpatrick / Wyman | 14.8 km | |
| 49 | Hunt Club / Mccarthy | 15.0 km | |
| 50 | Hunt Club / Parkway | 15.3 km | |
| 51 | Hunt Club Loop – Stop 2A | 15.8 km | |
| 52 | South Keys A | 16.4 km | |
| 53 | Greenboro C | 17.4 km | Terminus |
Inbound: Greenboro C → Hurdman D
This direction has 50 stops and runs 16.6 km. The route passes South Keys E, Cahill / Mccarthy, Riverside / Malhotra, Flannery / Brookfield. Below is the full list with the distance from the first stop.
| No. | Stop | From start | Note |
|---|---|---|---|
| 1 | Greenboro B | 0.0 km | Terminus |
| 2 | South Keys E | 0.8 km | |
| 3 | Transitway / Hunt Club | 1.1 km | |
| 4 | Hunt Club / Parkway | 1.5 km | |
| 5 | Downpatrick / Huntclub | 1.9 km | |
| 6 | Downpatrick / Wyman | 2.0 km | |
| 7 | Downpatrick / Cotters | 2.2 km | |
| 8 | Downpatrick / Shanegal | 2.4 km | |
| 9 | Downpatrick / Uplands | 2.6 km | |
| 10 | Uplands / Hunt Club | 2.9 km | |
| 11 | Uplands / Cahill | 3.0 km | |
| 12 | Cahill / Uplands | 3.2 km | |
| 13 | Cahill / Twyford | 3.4 km | |
| 14 | Cahill / Mccarthy | 3.7 km | |
| 15 | Mccarthy / Pigeon | 3.9 km | |
| 16 | Mccarthy / Paul Anka | 4.2 km | |
| 17 | Paul Anka / Mccarthy | 4.4 km | |
| 18 | Paul Anka / Uplands | 4.7 km | |
| 19 | Uplands / Ad. 3225 | 5.0 km | |
| 20 | Uplands / Huntmaster | 5.3 km | |
| 21 | Uplands / Huntwood | 5.5 km | |
| 22 | Uplands / Ad. 3095 | 5.6 km | |
| 23 | Uplands / Gillespie | 5.8 km | |
| 24 | Uplands / Archer | 5.9 km | |
| 25 | Uplands / Bowesville | 6.3 km | |
| 26 | Riverside / Malhotra | 6.6 km | |
| 27 | Riverside / Rivergate | 6.9 km | |
| 28 | Riverside / Quesnel | 7.8 km | |
| 29 | Riverside / Revelstoke | 8.2 km | |
| 30 | Riverside / Ad. 3195 | 8.4 km | |
| 31 | Riverside / Walkley | 8.6 km | |
| 32 | Riverside / Mooney’s Bay | 9.2 km | |
| 33 | Ridgewood / Riverside | 9.5 km | |
| 34 | Springland / Ridgewood | 9.8 km | |
| 35 | Springland / Norberry | 10.1 km | |
| 36 | Flannery / Springland | 10.3 km | |
| 37 | Flannery / Ramsgate | 10.4 km | |
| 38 | Flannery / Brookfield | 10.6 km | |
| 39 | Brookfield / Hobson | 11.0 km | |
| 40 | Canada Post / Brookfield | 11.2 km | |
| 41 | Canada Post / Heron | 11.4 km | |
| 42 | Mooney’s Bay A | 11.8 km | |
| 43 | Heron 4A | 12.3 km | |
| 44 | Data Centre / Billings Bridge | 12.8 km | |
| 45 | Billings Bridge 2A (B) | 13.2 km | |
| 46 | Pleasant Park 2A (A) | 14.3 km | |
| 47 | Riverside 2A (A) | 14.8 km | |
| 48 | Smyth 2A (A) | 15.3 km | |
| 49 | Lycée Claudel 2A (A) | 15.9 km | |
| 50 | Hurdman B | 16.6 km | Terminus |
Schedule and frequency
According to the official schedule from OC Transpo, the route runs 61 trips in one direction on a weekday, and 30 on a weekend day.
| Direction | Weekdays | Weekends and holidays |
|---|---|---|
| From «Hurdman D» | 00:26 — 23:56 | 07:03 — 23:03 |
| From «Greenboro C» | 04:13 — 23:43 | 07:10 — 23:10 |
Frequency calculated from the departure table: in the morning peak buses run every 3–15 minutes, most often every 15; midday every 15–30 minutes; in the afternoon peak every 14–30; on weekends every 30–60 minutes.
Frequently asked questions
When do the first and last trips run?
From Hurdman D the first is at 00:26 and the last at 23:56. From Greenboro C they are 04:13 and 23:43.
How long does the trip from Hurdman D to Greenboro C take?
About 46 minutes end to end — the median of full trips in the official schedule.
How many stops does the route have?
53 outbound and 50 inbound according to the official GTFS feed. The two lists do not match exactly.
Does bus 90 run on weekends?
Yes. On weekends and holidays there are 30 trips in one direction, running from Hurdman D between 07:03 and 23:03.
Every route number with its termini, operating hours and travel time is collected in the Ottawa buses overview.
Data current as of August 23, 2026. Schedule and termini — OC Transpo. Fares — OC Transpo. Stop list, schedule and route geometry come from the official GTFS feed (OC Transpo, version S1000512-S1000514).