Rail & travel
Trains between any two stations, running status, route, fare breakdown — and live PNR status — from the railway data your travellers actually check.
/trainfree allowance included5
endpoints in the family
MMCT → NDLS
sample station pair
1A · 2A · 3A
classes + fares
CNF · RAC · WL
PNR berth states
About the API
Train data is split across a dozen railway sources, each with its own format and quirks. This family of endpoints normalises it into the five calls developers ask for most: search trains between two stations, look up a train, read its full route, follow live running status, and check a PNR.
Queries are built around the station codes your users already know — MMCT to NDLS, not “Mumbai Central to New Delhi” — and every response carries arrival, departure, duration, classes and fare where available.
Who builds on this
Show live train options, seats and fares inside a booking flow without maintaining railway scrapers.
Surface PNR status so travellers stop refreshing the IRCTC page themselves before their trip.
Verify train routes and running days before promising parcel or cargo timelines to a customer.
Under the hood
Request
fromrequiredsource station code, e.g. MMCT.
torequireddestination station code, e.g. NDLS.
dateoptionalYYYYMMDD travel date. Omitted → today.
numberoptionaltrain number — required for /train/info, /train/route and /train/live.
Response
train_numbere.g. 12951.
train_namee.g. NDLS TEJAS RAJ.
from / to{ name, code } for both ends of the run.
departure / arrivaltimes in HH.MM.
durationtotal journey time HH.MM.
classesarray like ["1A","2A","3A"].
train_typeRAJDHANI, MAIL, SHTABDI…
Try it
{
"status": "ok",
"count": 12,
"trains": [
{
"train_number": "12951",
"train_name": "NDLS TEJAS RAJ",
"from": {
"name": "Mumbai Central",
"code": "MMCT"
},
"to": {
"name": "New Delhi",
"code": "NDLS"
},
"departure": "17.00",
"arrival": "08.32",
"duration": "15.32",
"days_runs": "1111111",
"classes": [ "1A", "2A", "3A" ],
"train_type": "RAJDHANI"
}
]
}Passengers, current status and a 10-digit PNR are available at /train/pnr.
Free tier
Every endpoint includes a free monthly request allowance — the size differs from API to API. When your free requests run out, you move to a paid plan with the same key. No card needed to start.
Start with Trains & PNR, free.
Create an account and we’ll issue your free API key in minutes — this endpoint included.
© 2026 API Mitra. All rights reserved.
service statusMade in India