About MelbTracker

MelbTracker follows Melbourne's Metro trains using Transport Victoria's live train data, to show how the different fleets move around the network. Follow a train set through the day and you can see where it goes: an X'Trapolis 100 that starts out on Belgrave services, for example, and the point where it moves across to the Frankston line.

Live stats

Trips recorded
87,994
Positions
3.75 million
Train sets seen
460
Days of data
44

Live stats: from 14 August 2025 at 23:37 up to now.

What you can see

Terms

TD
Train description: the number a service runs under, such as 4517. The same TD runs at much the same time each weekday.
Train set
Carriages that stay coupled together, written as their car numbers, such as 701M-2500T-702M (M is a motor car, T a trailer). Most six-car trains are two three-car sets; HCMT trains are single seven-car sets.
Line group
Lines that share a colour and a route into the city, such as Belgrave, Lilydale, Alamein and Glen Waverley.
Up and Down
Up services run towards the city, Down services away from it.

Where the data comes from

Positions come from Transport Victoria's GTFS Realtime feed for Metro trains and are recorded about once a minute. Train sets are matched from the car numbers in the feed; X'Trapolis 2.0 sets are recognised by their car numbers (8101 to 8650) and added the first time each one runs. Line routes and stations come from Transport Victoria's GTFS Schedule.

History covers 14 August to 3 October 2025 (with a gap from 18 to 25 August), then from 31 October 2026 onwards.

MelbTracker is unofficial and isn't affiliated with Metro Trains Melbourne, PTV or the Victorian Government. Positions can lag or be missing, so check official sources before you travel.

How MelbTracker started

I started this project in August 2025, under the name MetroLog. I got data collection and a basic front end working, but other projects took over and I set it aside. The agentic coding tools available at the time also weren't up to helping me work through some of its bigger problems.

While it sat untouched, data collection kept running until 3 October 2025, shortly after Transport Victoria moved API access from its Data Exchange Platform (DEP) to the Transport Victoria Open Data Portal.

What got me to launch? I came across another project built around a different idea, which prompted me to register this domain on 31 October 2026, polish up a new release, and here we are. My aim isn't to copy other websites or tools that use the same data. I want to offer a point of difference that serves my own interests, and share it with the public.

How it's built

The website runs on Cloudflare Pages as static files, with a PHP and MySQL (MariaDB) back end serving the API. The API is hosted on a $5/month Vultr server in Melbourne, Australia.