Skip to main content

Get transport information from TransportNSW

Project description


Python lib to access Transport NSW information.

How to Use

Get an API Key

An OpenData account and API key is required to request the data. More information on how to create the free account can be found here: .

Get the stop and line

The libary will expect at least stop id to request the next leave events. The easieste way to get the ID is using Google Maps and clicking on one of the bus, train or ferry stops. The information pane one the left will show the relevant stop ID.

Another source for the stop ID and line is It provides the option to search for a stop and the corresponding lines leaving from there.

Sample Code

The following example will request the next leave event for the bus route/line 199 from stop ID 209516.


from TransportNSW import TransportNSW
ptnsw1 = TransportNSW.TransportNSW()
journey = tnsw.get_departures('209516', '199', '', 'YOUR_API_KEY')


{'stop_id': '209516', 'route': '199', 'due': 4, 'delay': 0, 'real_time': 'n', 'destination': 'Palm Beach'}
  • route: bus, train, ferry number
  • due: minutes till next leave
  • real_time: flag if the leave event has real_time information
  • delay: delay in minutes from the scheduled leave time
  • destination: end point of the route

Leaving the line field empty will return any bus/train/ferry leaving next from a given stop. Code:

journey = tnsw.get_departures('209516', '', '', 'YOUR_API_KEY')

Setting a destination will return all lines going there from the stop_id. Example for ferries leaving Balmain Warf towards Circular Quay Code:

journey = tnsw.get_departures('10102008','','Circular Quay' 'YOUR_API_KEY')


No leave event with wrong stop ID or not matching route.

{'stop_id': 'n/a', 'route': 'n/a', 'due': 'n/a', 'delay': 'n/a', 'real_time': 'n/a', destination: 'n/a'}

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for PyTransportNSW, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size PyTransportNSW-0.1.1-py3-none-any.whl (16.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size PyTransportNSW-0.1.1.tar.gz (3.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page