Public APIs
Transport for Belgium favicon

Transport for Belgium

Transportation

The iRail API is a third-party API for Belgian public transport by train.

Transport for Belgium's website screenshot

About Transport for Belgium

iRail is an API providing access to Belgian railway schedule data, covering stations, liveboards, connections, vehicles, train composition, occupancy, and disturbances. The API is available at api.irail.be, requires TLS 1.1 or higher, and supports JSON and XML response formats along with conditional GET requests via ETag and Cache-Control headers for caching.

Requests are limited to 3 per second per source IP address, with a burst allowance of 5 additional requests. Applications are asked to set a user-agent header identifying the application and a contact method; without one, an IP exceeding request limits may be blocked without prior warning. Objects such as stations, vehicles, and departures are identified by stable URIs (e.g. http://irail.be/stations/NMBS/008814001) rather than composed by the client.

The documentation is aimed at developers building applications on top of Belgian railway data. Bug reports for the API and documentation are handled through separate GitHub repositories, and a station list is also available as a CSV in a dedicated GitHub repo along with Node.js conversion scripts.

Key features

  • Query Belgian railway stations, liveboards, connections, and vehicles
  • Retrieve real-time train composition data
  • Retrieve current disturbances on the rail network
  • URI-based identifiers for stations, vehicles, and departures
  • Supports conditional GET requests with ETag and Cache-Control caching
  • JSON and XML response formats

Frequently asked questions

Is the iRail API free to use?

Yes, iRail provides open access to Belgian railway data at https://api.irail.be with no mention of a paid tier.

What are the rate limits?

You can make up to 3 requests per second per IP address, with 5 burst requests allowing up to 8 requests in 1 second or 15 in 3 seconds; exceeding limits returns 429 responses.

What data formats does the API support?

The API supports both JSON and XML response formats, selectable via the Accept header or format query parameter.

What data can I query with this API?

You can query stations, liveboards, connections, vehicles, train compositions, and disturbances on the Belgian railway network.

Who is this API for?

It is intended for developers building applications related to mobility and transport in Belgium.

Advertise here

Featured products

  • SerpApi - Search API favicon
  • Screenshot Scout favicon
  • TalorData favicon
  • CoreClaw favicon

Show your product to thousands of developers

· 100k monthly pageviews
· 7k newsletter subscribers

Advertise your product