Live stations, trains, availability, fares, chart intelligence, and async analysis through one authenticated v1 API.
Build with RailCore's Indian railway API: station, train, journey, availability, fare and chart endpoints with complete guides, an error reference and an interactive playground.
Base URL https://ir.railcore.tech/v1. Authenticate with an X-RailCore-Key header. Every response uses a shared envelope, and every endpoint documents its scope, credit cost and error codes.
Every request carries your key in an X-RailCore-Key header. Keys are scoped per endpoint family, can be rotated, and may be restricted to an IP allowlist. Requests that change state can additionally be HMAC-signed. See authentication and HMAC signing.
Every endpoint returns the same envelope, so a client written against one operation already understands the rest: a success flag, the payload under data, and metadata carrying the request id and timing. Errors use the same shape with a stable machine-readable code rather than prose. Full reference in response envelope, and the complete code list in the error code catalog.
Usage is metered in credits, and each endpoint documents its own cost and the plans it is available on. Per-minute and daily budgets are enforced, and every response reports the remaining quota in headers so a client can back off before it is throttled. See rate limits, credits and billing and the header reference.
GET /v1/stations/search. Find stations by code, city, name, or alias.GET /v1/stations/{station_code}. Resolve one canonical station record.GET /v1/stations/{station_code}/live. Arrivals and departures in a rolling live window.GET /v1/stations/{station_code}/trains. Compatibility alias for the live station board.GET /v1/trains/search. Search trains by name or number.GET /v1/trains/{train_number}. Resolve one canonical train record.GET /v1/trains/{train_number}/schedule. Get the full scheduled train movement.GET /v1/trains/{train_number}/stops. Get booking-relevant stops only.GET /v1/trains/{train_number}/route. Get stops and pass-through stations.GET /v1/trains/{train_number}/coach-position. Get coach composition from the engine.GET /v1/trains/{train_number}/live. Track a train with delay and next-stop context.GET /v1/trains/{train_number}/running. Get detailed station-by-station train running updates.GET /v1/routes/trains. Find trains serving a route on a date.GET /v1/journeys/search. Search and rank route options for a journey UI.POST /v1/journeys/compare. Compare up to five route queries in one request.GET /v1/availability/seats. Check live availability for one train and class.POST /v1/availability/seats/batch. Check up to 25 train and class combinations.GET /v1/availability/calendar. Inspect availability across upcoming dates.GET /v1/availability/classes. List classes offered by a train on a route.GET /v1/fares/estimate. Get reserved fare by class for a train segment.GET /v1/fares/search. Compare fares across trains on a route.GET /v1/fares/unreserved. Query UTS journey and season-ticket fares.GET /v1/charts/status. Check whether chart one or chart two is prepared.GET /v1/charts/vacant-berths. Find post-chart berth vacancies by coach and class.GET /v1/charts/vacant-berths/hopping. Build a same-train berth chain when no berth covers the full route.GET /v1/charts/vacant-berths/route-scan. Rank every route train by chart vacancy and hopping coverage.POST /v1/jobs/route-scan. Run route scanning asynchronously.POST /v1/jobs/hopping. Run berth-hopping analysis asynchronously.GET /v1/jobs/{job_id}. Poll status and retrieve a completed result.DELETE /v1/jobs/{job_id}. Cancel a pending or processing job.GET /v1/jobs/{job_id}/stream. Receive progress and terminal state over SSE.GET /v1/jobs. List recent jobs with optional filters.