Bus Services - TransportSG/TransportSG GitHub Wiki

TransportSG API - Bus Services


List all Bus Services

Description

This API returns a list of all public bus services currently operated in Singapore. Bus services returned include those run by public transport operators, namely SBS Transit, SMRT Buses, Tower Transit Singapore, and Go-Ahead Singapore as of writing. Also included are premium bus services - bus services plying from the heartlands to downtown Singapore, such as the CBDs in both Downtown Core (Shenton Way) and Changi Business Park.

Request URL

https://transportsg.me/api/bus/services

Parameters

This API takes no parameters.

Response

Returns a JSON array containing all bus service numbers as a string:

[ serviceNumber: string ]

serviceNumber string

The bus service number


Bus Service Info

Description

This API returns detailed information regarding a public bus service in Singapore.

Request URL

https://transportsg.me/api/bus/:service

Parameters

:service the bus service number, eg 174

Response

Returns an array containing detailed route information for each direction of the bus service.

[ serviceDirectionInfo: object ]

serviceDirectionInfo object

Under serviceDirectionInfo:

fullService string

Contains both the actual route number, and any letters in front or behind (eg 858A for 858A, without any trimming.)

serviceNumber string

Contains just the route number (eg 123 in 123M. Special case is CT services, where serviceNumber is CT)

variant string

Contains just the route variant (eg A in 70A. Special case is CT services, where variant is the CT number, such as 18 for CT18)

routeDirection number

Contains the route direction (eg 66 D1 is towards Jurong East Temp Int, while 66 D2 is towards Bedok ITH)

routeType enum

Specifies the route type

Possible values:

TRUNK services that generally ply long distances across many different areas

EXPRESS similar to trunk services, but skip certain bus stops and charge higher fares

TOWNLINK deprecated, similar to feeder. (will change this to reflect feeder soon)

FEEDER bus services that run within towns (eg 333 runs entirely within Jurong East, serving residential HDB flats)

INDUSTRIAL industrial bus services running from Joo Koon to areas like Tuas, Gul Cresent and Benoi

CITY DIRECT services running from the heartlands to the CBD in Shenton, charging distanced based express fares.

CHINATOWN a set of 2 services plying directly from Ang Mo Kio (CT8) and Bedok North (CT18) to Chinatown (Kampong Bahru Ter), with express sectors

NIGHT RIDER SMRT Buses-operated late night bus services that originate from the city, serving residential estates. Do note that service NR7 is currently suspended to facilitate On Demand Public Bus trialing

NIGHT OWL SBS Transit-operated late night bus services that also originate from the city, serving residential estates

PREMIUM Similar to City Direct Services, with the exception of the flat fare system, and the additional catchment area of Changi Business Park, which is currently only served by a small number of public buses. All premium bus services are operated by private operators. Currently, some services have outdated information, and I am coordinating with LTA to rectify this.

operator string/enum

The operator responsible for operating and maintaining service standards of the said service.

Contains one of SBST, SMRT, TTS, GAS for most services, but several other values exist for premium buses.

interchanges array

[ number number ]

The bus stop codes of the 2 interchanges the service plies. For looping services, both values will be equal. Services ending at Marina Centre Terminal (BSC 02099) may sometimes show the second interchange as Pan Pacific Hotel (BSC 02089), but this has been corrected to always show Marina Centre Terminal

frequency object

An object containing the minimum and maximum headway timings between 2 buses as specified by LTA under the bus service operating license.

Under frequency:

morning object: from first bus to 0830

afternoon object: from 0831 to 1659

evening object: from 1700 to 1900

night object: from 1901 to last bus

If the bus does not operate during the specified interval the values of min andd max will be -.

stops array

[ busStop: object ]

An array of all bus stops the route serves. In LTA literature, non-stopping bus stops have a bus stop code matching /E\d{4}/. All of such bus stops are ignored here.

Under stops

busStopCode string: the bus stop code of the given bus stop, as shown on the bus stop sign (eg 22009). Bus stop codes are given as strings to ensure that downtown bus stops, which begin with a 0, are always padded to 5 digits.

busStopName string: the human-friendly name of the bus stop (eg Blk 123).

roadName string: the name of the road the bus stop is along (eg Chai Chee St)

distance number: the distance of the bus stop from the start of the route, in km to a 1 decimal place precision.

stopNumber number: the sequence in which a bus plying that service will stop at. Do note certain services ply at the same bus stop twice on both directions, or after completing a loop.

firstBus lastBus object: information regarding the time the first and last bus of the given service will serve this bus stop.

Under firstBus and lastBus:

weekday string: the time of the first or last bus on a weekday (Monday - Friday)

saturday string: the time of the first or last bus on a Saturday

sunday string: the time of the first or last bus on a Sunday