Transit Journey Planner & Timetables: Bus, Metro, Rail icon

Transit Journey Planner & Timetables: Bus, Metro, Rail

Public transport for ~2,900 cities and operators from their official timetables: journeys from A to B with changes and walking, next departures at a stop, stops near a point and every route. Bus, metro, rail, tram and ferry feeds merged per city.

$3 per 1,000 resultupdated 2026-11-01
Try it

Build the input, get the call

Change any field; the code on the right follows. Copy it, or run the same input on Apify.

Journeys plan trips with changes and walking; departures list what leaves a stop next.

lat,lon (e.g. 12.9767,77.5713) or a stop name. Also used to find the city's feeds when none are named.

lat,lon or a stop name.

YYYY-MM-DD. Empty = today where the transit runs.

HH:MM, local time. Empty = now where the transit runs.

How many departures to plan, one after another.

Most changes between vehicles in one journey.

Longest walk to the first stop and from the last one; also the radius for stops near a point.

Only these kinds of transport. Empty = all.

Departures, stops and routes

Stop names, stop ids or codes, or lat,lon, for departures.

Departures mode: how far ahead to look.

Stops and routes: only those whose name contains this.

Which timetable

Catalog ids (mdb-2595) or search words ("bmtc", "mumbai bus", "sbb"). Empty = every city feed covering From. Several are merged so journeys can change between them.

Two-letter code to narrow the feed search, e.g. IN, US, DE.

Direct links to GTFS ZIP files, for timetables the catalog doesn't list.

Most results returned.

Output

What you get back

The fields every row has.

FieldWhat it holds
departDepart
arriveArrive
durationMinutesMinutes
transfersChanges
walkMinutesWalk min
summaryLines

Download as JSON, CSV, Excel or XML from the run, or have it sent to Google Sheets, Slack or a webhook.

Guide

How Transit Journey Planner & Timetables works

Inputs, options and tips, from the tool's own documentation.

Public transport for ~2,900 cities and operators worldwide, from their official timetables: journeys from A to B with changes and walking, the next departures at any stop, stops near a point with the lines that serve them, and every route with its operator. Give two places as coordinates and the Actor finds the city's timetables itself; one journey can use a city's buses and metro together.

Built for travel and mobility apps, real-estate and location analysts (how far is it by transit?), commute and logistics planners, researchers and city planners, and AI agents that need transit answers.

What you can get

ModeOne row is
JourneysA trip option: depart, arrive, minutes, changes, walking minutes, lines, and each leg (walk or ride: line, mode, direction, stops, times)
DeparturesA vehicle leaving a stop: time, minutes from now, line, mode, direction, platform
StopsA stop: name, code, position, distance from your point, modes and lines serving it, wheelchair boarding
RoutesA line: name, mode, colour, operator, number of trips, first and last stop
FeedsA city or operator timetable in the catalog: provider, place, coverage area, licence

Why this Actor

  • Worldwide coverage. Bus, metro, rail, tram and ferry timetables from ~2,900 operators: North America, Europe, Japan, Australia, India (Bengaluru, Mumbai, Hyderabad, Chennai, Pune, Ahmedabad...), Singapore, Jakarta and more.
  • Real journey planning. Up to 6 changes, walking between nearby stops, overnight services, options leaving one after another.
  • Multimodal. Several operators of one city are merged, so a journey can change from bus to metro.
  • Answers in milliseconds once the timetable is loaded; in Standby mode it stays loaded between requests.
  • Local time. Dates and times are in the city's own time zone; leave them empty for "now".
  • For AI agents. Callable as an MCP tool.

How to use it

Journeys across Bengaluru at 08:30 (the timetable is found from the coordinates):

json
{ "from": "12.9767,77.5713", "to": "12.9352,77.6245", "time": "08:30" }

Next metro departures at a Hyderabad station:

json
{ "mode": "departures", "feeds": ["hyderabad metro"], "stops": ["Ameerpet"], "windowMinutes": 30 }

Stops within 500 m of an address, with the lines serving them:

json
{ "mode": "stops", "from": "19.0760,72.8777", "maxWalkMeters": 500 }

Find a city's timetables:

json
{ "mode": "feeds", "feeds": ["chennai"] }

Pricing

$3 per 1,000 results plus a small start fee per run. On the Apify free plan a run returns up to 100 results.

Good to know

  • Times come from the published timetables, not live vehicle positions; delays and cancellations are not included.
  • Each row carries the feeds it came from with their licence link; check the licence before republishing the data.
  • Your city missing? Give its GTFS link in GTFS links, or contact tacps126@gmail.com.
Questions

Questions about Transit Journey Planner & Timetables

How much does Transit Journey Planner & Timetables cost?

$3 per 1,000, charged only for results returned; a run that finds nothing costs nothing. It runs on Apify, whose free plan includes monthly credit, so you can try it without paying.

Do I need to write code?

No. Fill in the form on Apify and press Start, schedule it, or send the results to Google Sheets, Slack or a webhook. For code, the input builder on this page writes the API call in curl, Python or JavaScript.

What does Transit Journey Planner & Timetables return?

Every row has the same fields, including depart, arrive, durationMinutes, transfers, walkMinutes, summary. Download as JSON, CSV, Excel or XML.

Pairs well

Pairs well with

Use cases

What people use Transit Journey Planner & Timetables for

  • Plan journeys in apps and chatbots
  • Commute time research
  • Travel and mobility tools

Also searched as

transit API public transport API journey planner API bus timetable data train schedule API GTFS alternative

Categories

Travel and transit Travel Developer tools Automation