Looking for an IRCTC API?
We know of no public, self-serve IRCTC API that an independent developer can sign up for and call for live train status, schedules or seat availability.
RailCore is an independent Indian Railways API. It has 30 REST endpoints for live train status, schedules, trains between stations, seat availability and fares, with a free plan to start on.
Not an official source. RailCore is an independent API and is not affiliated with IRCTC or Indian Railways.
What RailCore covers
Every endpoint is live and documented.
Stations
3 endpoints
Trains
7 endpoints
Journeys
3 endpoints
Availability
4 endpoints
Fares
3 endpoints
Charts
4 endpoints
Jobs
6 endpoints
Trains between two stations
The search most rail apps start with, a week ahead. The samples work the date out when they run.
GET /v1/routes/trains
JOURNEY_DATE=$(date -u -d "+7 days" +%F 2>/dev/null || date -u -v+7d +%F)
curl -sS -X GET \
-H "X-RailCore-Key: $RAILCORE_KEY" \
"https://ir.railcore.tech/v1/routes/trains?from=BSL&to=ADI&date=$JOURNEY_DATE"a=GN"import datetime
import os
import requests
journey_date = (datetime.date.today() + datetime.timedelta(days=7)).isoformat()
response = requests.request(
"GET",
f"https://ir.railcore.tech/v1/routes/trains?from=BSL&to=ADI&date={journey_date}"a=GN",
headers={"X-RailCore-Key": os.environ["RAILCORE_KEY"]},
timeout=20,
)
print(response.status_code, response.json()){
"success": true,
"data": {
"from_station_code": "BSL",
"to_station_code": "ADI",
"journey_date": "2026-11-17",
"quota": "GN",
"trains": [
{
"train_number": "12656",
"train_name": "Navjeevan SF Express",
"departure_time": "10:25",
"arrival_time": "18:00",
"duration_minutes": 455,
"classes": [
"SL",
"3A",
"2A",
"1A"
],
"running_days": [
"MON",
"TUE",
"WED",
"THU",
"FRI",
"SAT",
"SUN"
]
}
]
},
"meta": {
"api_version": "v1",
"request_id": "req_01J5Z7Y8N2K4M6P8R0T2V4X6Z8"
}
}Set RAILCORE_KEY to your key first. Every field, parameter and error is in the Trains between stations reference.
What RailCore does not do
- No booking or ticketing. The API is read-only railway data. It does not book, cancel or refund tickets.
- No PNR status yet. A PNR status API is in development, with no launch date.
- Not an official source. Responses reflect what the upstream systems report at the time of the request.
What it costs
- Each request counts as 1 requestOn every plan, Free included. The response headers say what each request counted as.
- Free: 2,000 requests a month20 requests a minute and 300 a day. No card, no phone number.
- Failed requests are freeOnly successful 2xx responses are counted.
- Paid plans from ₹699 a monthStarter: 40,000 requests a month, 60 a minute · no daily cap. Pay in INR, or once in USD from outside India.
Questions
Does IRCTC have a public API for developers?
We know of no public, self-serve IRCTC API that an independent developer can sign up for and call for live train status, schedules or seat availability.
Is RailCore affiliated with IRCTC?
No. RailCore is an independent API and is not affiliated with, endorsed by or sponsored by IRCTC, Indian Railways or the Ministry of Railways.
Can I book train tickets with the RailCore API?
No. The API is read-only railway data. It does not book, cancel or refund tickets.
What does RailCore give me instead?
30 REST endpoints across stations, trains, journeys, availability, fares, charts and jobs. The Free plan includes 2,000 requests a month, with no card.
Does RailCore have PNR status?
Not yet. A PNR status API is in development, with no launch date.