Station board alias

Compatibility alias for the live station board.

GET /v1/stations/{station_code}/trains

Scope live:read · Credits 4 · Plans All plans

Returns the same contract as GET /stations/{station_code}/live.

Authentication

Send your key in the X-RailCore-Key header. This operation requires the live:read scope. See the authentication guide.

Request parameters

NameInTypeRequiredDescription
station_codepathstringRequiredIndian Railways station code, 1 to 6 uppercase letters or digits.
window_hoursqueryintegerOptionalRolling board window in hours.

Code examples

Base URL https://ir.railcore.tech/v1. Keep the key in an environment variable and call from a trusted server-side environment.

cURL

curl -sS -X GET \
  -H "X-RailCore-Key: $RAILCORE_KEY" \
  "https://ir.railcore.tech/v1/stations/BSL/trains?window_hours=8"

JavaScript

const response = await fetch("https://ir.railcore.tech/v1/stations/BSL/trains?window_hours=8", {
  method: "GET",
  headers: {
    "X-RailCore-Key": process.env.RAILCORE_KEY,
  },
});

const body = await response.json();
console.log(response.status, body);

Python

import os
import requests

response = requests.request(
    "GET",
    "https://ir.railcore.tech/v1/stations/BSL/trains?window_hours=8",
    headers={"X-RailCore-Key": os.environ["RAILCORE_KEY"]},
    timeout=20,
)
print(response.status_code, response.json())

Rate limits and credits

This call costs 4 credits and is available on All plans. Per-minute and daily budgets, and the headers reporting remaining quota, are documented in rate limits and credits and billing.

Response fields

FieldTypeDescription
dataStationBoardIdentical to the live station board response.

Example response

{
  "success": true,
  "data": {
    "station_code": "BSL",
    "window_hours": 8,
    "trains": []
  },
  "meta": {
    "api_version": "v1",
    "request_id": "req_01J5Z7Y8N2K4M6P8R0T2V4X6Z8",
    "trace_id": "trc_01J5Z7Y8N2K4M6P8R0T2V4X6Z9",
    "timestamp": "2026-08-20T17:12:23.305Z",
    "freshness": {
      "mode": "live",
      "retrieved_at": "2026-08-20T17:12:23.305Z",
      "sources": [
        {
          "confidence": "high"
        }
      ]
    }
  }
}

Errors

StatusCodeDescriptionRetry
400VALIDATION_ERRORA required field is missing or invalid.Not retryable
401MISSING_API_KEY / INVALID_API_KEYThe credential is absent, unknown, disabled, or expired.Not retryable
403SCOPE_MISSING / PLAN_ENDPOINT_DISABLEDThe key lacks the required scope or plan entitlement.Not retryable
402CREDITS_EXHAUSTEDThe account balance cannot cover this operation.Not retryable
429RATE_LIMITEDMinute or daily request budget is exhausted. Honor Retry-After.Retryable
410API_VERSION_SUNSETThis API version has reached its announced sunset date. Migrate to a supported major version.Not retryable
502UPSTREAM_UNAVAILABLELive data could not be retrieved. Retry with backoff.Retryable
504UPSTREAM_TIMEOUTThe live-data request exceeded its deadline. Retry with backoff.Retryable
503METERING_UNAVAILABLECredit settlement is temporarily unavailable and no data was returned.Retryable

Related Stations endpoints

All RailCore Indian Railways API endpoints · Quickstart · Rate limits