Sncb

View API Documentation

SNCB is the national railway company of Belgium. It is an autonomous government company. It is responsible for the operation of the national railway system. It provides a GTFS and GTFS-RT feed. The MobilityTwin.Brussels platform enriches these by providing estimated positions of the trains based on the GTFS-RT feed.

Source

Endpoints

Vehicle position

/sncb/vehicle-position
GEOJSON APPLICATION/JSON

The estimated positions of the trains based on the GTFS-RT feed combined with the GTFS feed.

Refresh: Every 20 seconds (derived from the GTFS-RT feed)
From
2024-08-21 14:54:59
To
2026-05-19 06:09:00
Records
2,590,312

Trips

/sncb/trips
MF-JSON APPLICATION/JSON

All the trips of SNCB for the specified period of time. This is an aggregate of the GeoJSON files returned by the vehicle-position endpoint of MobilityTwin.Brussels.

Refresh: On request — aggregated from vehicle-position over the queried interval
Availability depends on source data

Gtfs

/sncb/gtfs
GTFS APPLICATION/ZIP

The GTFS zip file of SNCB/NMBS

Refresh: Daily
From
2024-08-21 14:52:00
To
2026-05-19 02:10:06
Records
601

GTFS (Parquet)

/sncb/gtfs-parquet
GTFS-PARQUET APPLICATION/ZIP

The GTFS feed of SNCB/NMBS converted to Apache Parquet format (zip archive of .parquet files). Parquet uses columnar storage with zstd compression and strong typing, resulting in 40-75% smaller files compared to the original GTFS zip. This format enables extremely efficient data transfer and near-zero RAM overhead when reading specific columns via Polars or DuckDB, making it ideal for analytical workloads and large-scale processing. Produced using gtfs-parquet v0.4.0.

Refresh: Daily (regenerated from the GTFS feed)
From
2024-08-21 14:52:00
To
2026-05-19 02:10:06
Records
584

GTFS-RT

/sncb/gtfs-realtime
GTFS-RT APPLICATION/OCTET-STREAM

The GTFS-RT binary file of SNCB/NMBS

Refresh: Every 20 seconds
From
2024-08-21 14:54:59
To
2026-05-19 06:09:21
Records
2,588,692

GTFS-RT Alerts

/sncb/gtfs-rt-alert
GTFS-RT APPLICATION/OCTET-STREAM

Real-time service alerts for SNCB/NMBS trains (delays, cancellations, disruptions).

Refresh: Every 15 minutes
From
2026-03-30 11:01:24
To
2026-05-19 06:05:27
Records
4,635

GTFS-RT Trip updates

/sncb/gtfs-rt-trip-update
GTFS-RT APPLICATION/OCTET-STREAM

Real-time trip updates for SNCB/NMBS trains including schedule deviations and cancellations.

Refresh: Every 20 seconds
From
2026-03-30 11:00:46
To
2026-05-19 06:09:20
Records
176,931

Punctuality

/sncb/punctuality
PARQUET APPLICATION/OCTET-STREAM

Daily punctuality table derived from SNCB/NMBS's GTFS-RT trip-update stream over a full Brussels-day window. Each row represents one (trip, stop) observation with the latest known arrival/departure times, delays, and schedule_relationship — plus a synthetic row per cancelled trip when the feed signals cancellation without stop-time entries. Single Parquet file (zstd-compressed). Read with Polars, DuckDB or PyArrow. The data is consistent with the GTFS schedule: scheduled = actual_time − delay matches the static GTFS arrival_time for SNCB/NMBS feeds that publish absolute times.

Refresh: Daily (one file per Brussels-day, anchored to 00:00 Europe/Brussels)
From
2024-08-22 00:00:00
To
2025-08-16 00:00:00
Records
309