Microburbs
Free sandbox: try any request below on the sample suburbs, no signup. For every suburb, create an API key.
Classic docs
Microburbs Property Data API
Suburb - Transport

Public transport access and service

GET/v1/suburbs/{suburb_name}/transport/public-transport5¢ per call

Stops by mode, weekday service frequency, routes, and how many addresses are within a short walk of a stop or station, for suburbs in Victoria, South East Queensland, Perth, Adelaide, Tasmania and Darwin.

Coverage: Victoria (trains, trams, buses, coaches), South East Queensland, the Perth region and the towns its bus network serves, Adelaide and its regional services, Tasmania, and Darwin. Not covered: New South Wales, the ACT, the rest of Queensland and the Northern Territory outside Darwin. A suburb is included when it is in a covered state and within 25 km of a stop; inside that area a suburb with no service shows real zeros. Current to 2026-11-06. Full description, field list and method: /v1/datasets/public-transport.

Exact suburb identifier required. Exact official suburb name (SAL), e.g. Burwood (NSW) — many suburbs carry a state suffix. If starting from free text or an unverified bare name, first call GET /v1/geocode/suburb?q=<text>, then use the exact data[].area_name it returns. Suburb data endpoints do not guess a state or typo-correct names.

Authorization

Request

The only values you send. Fields under Responses below are what comes back — you never pass those.

Path parameters

suburb_namestringrequired

Exact official suburb name (SAL), e.g. `Burwood (NSW)` — many suburbs carry a state suffix. If starting from free text or an unverified bare name, first call `GET /v1/geocode/suburb?q=<text>`, then use the exact `data[].area_name` it returns. Suburb data endpoints do not guess a state or typo-correct names.

Query parameters

fieldsstringoptional

Comma-separated subset of: stops_total, stops_bus, stops_train, stops_tram, stops_ferry, weekday_trips_total, weekday_trips_bus, weekday_trips_train, weekday_trips_tram, weekday_trips_ferry, peak_trips_per_hour_busiest_stop, routes_total, routes_bus, routes_train, routes_tram, routes_ferry, share_addr_400m_stop_pct, share_addr_800m_station_pct, median_addr_distance_to_stop_m, nearest_train_station_m. Omit for all.

fromstringoptional

First period to include: 2020, 2020-Q3, 2020-07 or 2020-07-01.

tostringoptional

Last period to include, same formats as `from`.

Responses

Successful Response

application/json
DatasetValuesfields returned to you
datasetstringalways returned

Dataset slug; describe it with /v1/datasets/{slug}.

levelstringalways returned

suburb, lga or block.

areastringalways returned

Canonical name (or mesh-block code) of the area answered.

period_typestringalways returned

snapshot, year, financial_year, quarter or month.

as_ofstring · datealways returned

Date the dataset is current to. Values are never withheld for age; check this instead.

modelledbooleanalways returned

True when the figures are estimates from a model rather than counts or measurements.

fieldsarray of DatasetFieldSeriesalways returned
GET/v1/suburbs/{suburb_name}/transport/public-transport
cURL
curl --request GET \
  --url 'https://api.microburbs.com.au/v1/suburbs/Belmont%20North/transport/public-transport' \
  --header 'Authorization: Bearer test'
Example Responses
{
  "data": {
    "dataset": "public-transport",
    "level": "suburb",
    "area": "St Kilda (Vic.)",
    "period_type": "snapshot",
    "as_of": "2026-11-06",
    "modelled": false,
    "fields": [
      {
        "field": "stops_total",
        "name": "Stops served",
        "unit": "count",
        "values": [
          {
            "period": "2026-11-06",
            "period_start": "2026-11-06",
            "value": 96
          }
        ]
      },
      {
        "field": "stops_bus",
        "name": "Bus and coach stops",
        "unit": "count",
        "values": [
          {
            "period": "2026-11-06",
            "period_start": "2026-11-06",
            "value": 37
          }
        ]
      },
      {
        "field": "stops_train",
        "name": "Train stations",
        "unit": "count",
        "values": [
          {
            "period": "2026-11-06",
            "period_start": "2026-11-06",
            "value": 0
          }
        ]
      }
    ]
  }
}
Successful Response200
application/json

About this dataset

Victoria (trains, trams, buses, coaches), South East Queensland, the Perth region and the towns its bus network serves, Adelaide and its regional services, Tasmania, and Darwin. Not covered: New South Wales, the ACT, the rest of Queensland and the Northern Territory outside Darwin. A suburb is included when it is in a covered state and within 25 km of a stop; inside that area a suburb with no service shows real zeros. Current to 2026-11-06; refreshed quarterly.

What it is

A public transport profile for each suburb, built from the published timetables of each state's transport department: how many bus, train, tram and ferry stops it has, how often vehicles actually call on a typical weekday, how many routes serve it, and how close its residents live to a stop or a train station.

What it shows

Stop counts by mode; total weekday vehicle calls, in total and by mode; the peak-hour frequency at the suburb's busiest stop (7 to 9 am); the number of distinct routes by mode; the share of the suburb's addresses within 400 m of any stop and within 800 m of a train station; the typical distance from an address to its nearest stop; and the distance from the suburb centre to the nearest train station.

Why use it

Stop counts alone mislead: a suburb can have 80 bus stops and one bus an hour. Service volume and peak frequency tell you whether public transport is genuinely usable, which is what drives car dependence, rental demand near stations and the walkability scores in a property report. Use it for a transport score in a suburb or property app, for filtering suburbs by 'a train within a 10 minute walk', or to compare commuter belts.

How it is built

We read each state's timetable, pick one typical weekday (a mid-week day in November to December 2026 that is neither unusually quiet nor busy) and count every vehicle call at every stop that day. Stops are placed in suburbs by their coordinates, and platforms grouped under one station count once. Walking access is measured in straight lines from each address point, so real walking routes are a little longer. Coverage is limited to states whose timetables are openly published; New South Wales and the ACT are not included and return no data rather than zeros. Timetables change a few times a year, so figures describe the network as published in late 2026.

Fields

FieldUnitDescription
stops_total
Stops served
countStops in the suburb that at least one vehicle calls at on a typical weekday. A station or interchange that groups several platforms counts once; a stop used by more than one mode counts once here.
stops_bus
Bus and coach stops
countStops with at least one bus or coach service on a typical weekday.
stops_train
Train stations
countStations with at least one metro or suburban/regional train service on a typical weekday.
stops_tram
Tram and light-rail stops
countStops with at least one tram or light-rail service on a typical weekday.
stops_ferry
Ferry wharves
countWharves with at least one ferry service on a typical weekday.
weekday_trips_total
Weekday vehicle calls, all modes
countTotal times a bus, train, tram or ferry calls at a stop in the suburb on a typical weekday (a vehicle that serves five stops in the suburb counts five). The measure of how much service the suburb actually receives.
weekday_trips_bus
Weekday bus and coach calls
countWeekday vehicle calls at the suburb's bus and coach stops.
weekday_trips_train
Weekday train calls
countWeekday train calls at the suburb's stations.
weekday_trips_tram
Weekday tram calls
countWeekday tram and light-rail calls at the suburb's stops.
weekday_trips_ferry
Weekday ferry calls
countWeekday ferry calls at the suburb's wharves.
peak_trips_per_hour_busiest_stop
Peak departures per hour at the busiest stop
per hourAt the suburb's busiest stop, the average number of vehicle calls per hour between 7:00 and 8:59 am on a typical weekday. About 4 or more per hour means a service you can turn up to without a timetable.
routes_total
Routes serving the suburb
countDistinct routes (by published route name) that call at one or more stops in the suburb, all modes. Some operators publish each direction or origin-destination pair as its own route, so rail counts run higher in South East Queensland.
routes_bus
Bus and coach routes
countDistinct bus and coach routes calling in the suburb.
routes_train
Train routes
countDistinct train routes calling in the suburb.
routes_tram
Tram routes
countDistinct tram and light-rail routes calling in the suburb.
routes_ferry
Ferry routes
countDistinct ferry routes calling in the suburb.
share_addr_400m_stop_pct
Addresses within 400 m of a stop
%Share of the suburb's addresses within 400 metres (straight line, about a 5 minute walk) of a stop of any mode.
share_addr_800m_station_pct
Addresses within 800 m of a station
%Share of the suburb's addresses within 800 metres (about a 10 minute walk) of a train station. 0 where the state's feed has stations but none is near.
median_addr_distance_to_stop_m
Typical distance to the nearest stop
mMedian straight-line distance from the suburb's addresses to their nearest stop of any mode.
nearest_train_station_m
Distance from the suburb centre to the nearest train station
mStraight-line distance from the suburb's centre point to the nearest train station in the same state's network. Not returned for Tasmania and Darwin, which have no passenger trains in the data.