checkPNRStatus()Current passenger and booking status from a 10-digit PNR number.
Powering modern railway applications with live train tracking, PNR status, seat availability, and station intelligence through one clean developer API.
import { configure, checkPNRStatus, trackTrain }
from "railkit"
// one-time setup
configure(process.env.RAILKIT_API_KEY)
const pnr = await checkPNRStatus("1234567890")What it includes
Each method maps to a clear railway data use case. Your team can understand the integration at a glance.
checkPNRStatus()Current passenger and booking status from a 10-digit PNR number.
getTrainInfo()Route, stops, schedule, and running-day information.
trackTrain()Live movement, station timeline, and delay context.
searchTrainBetweenStations()Find trains between two stations with useful timetable data.
getAvailability()Availability and fare details by class, quota, and date.
liveAtStation()Arrivals, departures, and trains passing through a station.
fareLookup()Fare, concession, and booking-class breakdown between two stations.
trainHistory()Persisted historical journey record by train number and date.
How developers use it
Works in API routes, background jobs, support tools, or mobile app backends. One key, one import, six methods.
import { configure,
checkPNRStatus, trackTrain }
from "railkit"
// one-time setup
configure(process.env.RAILKIT_API_KEY)
export async function getJourney(pnr: string) {
const status = await
checkPNRStatus(pnr)
const live = await
trackTrain("12342", "06-12-2025")
return { status, live }
}Ready to build?
Create an account, get your key, and start calling railway endpoints from your own backend in minutes.
Get API keyView on GitHubQuestions, answered
Everything developers ask before integrating the Indian Railways API — PNR status, live tracking, seat availability and more.
Sign up for a free RailKit API key, then call the getPNRStatus method (or the REST PNR endpoint) with a 10-digit PNR number. You get back the booking status, coach and berth details, boarding point, and chart status as JSON — ready to use in any Node.js, JavaScript, or TypeScript backend.
Use the live train tracking method with a train number to fetch real-time running status: current location, last reported station, delay in minutes, and upcoming stops with expected arrival and departure times. It works for any train on the Indian Railways network.
Call the train-between-stations method with a source and destination station code (and optional date). RailKit returns every train on that route with departure and arrival times, running days, train type, and available classes — ideal for building journey-planning features.
Yes. RailKit has a free tier so you can start building right away. Create an account, generate your API key from the dashboard, and start calling railway endpoints in minutes. Paid plans start at ₹49 when you need higher rate limits — see the pricing page for details.
It does. You can check seat and berth availability for a train, class, and date, and run a fare enquiry to get class-wise ticket prices. Both are exposed as simple promise-based methods in the SDK and as REST endpoints.
RailKit is a promise-based Node.js SDK with first-class TypeScript types built in. Install it with npm install railkit, import the client, and every method is fully typed with autocomplete for requests and responses.