✓ Verified
💻 Development
✓ Enhanced Data
Irail
Query Belgian railway (NMBS/SNCB) schedules via the irail CLI.
- Rating
- 4 (84 reviews)
- Downloads
- 18,985 downloads
- Version
- 1.0.0
Overview
Query Belgian railway (NMBS/SNCB) schedules via the irail CLI.
Complete Documentation
View Source →
irail-cli
CLI for Belgian railways (NMBS/SNCB) via iRail API. No authentication required.
Quick Start
bash
# Station departures
irail liveboard Brugge
# Find connections
irail connections Brugge Leuven
# Check disruptions
irail disturbances
Authentication
None required. iRail API is public and free to use.
Core Rules
- Always use
--jsonwhen parsing output programmatically - Station names are flexible - accepts partial matches, quotes for multi-word
- Time format - HH:MM (24-hour), date format YYYY-MM-DD
- Language options - nl, fr, en, de (default: nl)
Output Formats
| Flag | Format | Use case |
|---|---|---|
| (default) | Table | User-facing with colors |
| --json | JSON | Agent parsing, scripting |
Workflows
Liveboard (Departures/Arrivals)
bash
# Departures from station
irail liveboard Brugge
irail liveboard "Brussel-Centraal"
# Arrivals instead of departures
irail liveboard Brugge --arrivals
# Specific date/time
irail liveboard Brugge --time 09:00 --date 2025-02-15
# JSON for scripting
irail liveboard Brugge --json
# Different language
irail liveboard Brugge --lang en
Connections (Route Planning)
bash
# Find routes
irail connections Brugge Leuven
# Specific departure time
irail connections Brugge Leuven --time 09:00
# Arrive by time (instead of depart at)
irail connections Brugge Leuven --time 14:00 --arrive-by
# More results
irail connections Brugge Leuven --results 10
# JSON for parsing
irail connections Brugge Leuven --json
Stations
bash
# List all stations
irail stations
# Search stations
irail stations --search bruss
irail stations --search gent
# JSON for scripting
irail stations --json
Vehicle (Train Info)
bash
# Show train information
irail vehicle IC1832
# Include all stops
irail vehicle IC1832 --stops
# JSON output
irail vehicle IC1832 --json
Composition (Train Cars)
bash
# Show train composition (seats, amenities)
irail composition S51507
irail composition IC1832
# JSON for parsing
irail composition S51507 --json
Disturbances
bash
# All current disruptions
irail disturbances
# Only planned works
irail disturbances --type planned
# Only unplanned disruptions
irail disturbances --type disturbance
# JSON for scripting
irail disturbances --json
Scripting Examples
bash
# Get next train to destination
irail connections Brugge Leuven --json | jq -r '.[0].departure'
# Find station ID
irail stations --search "brussel" --json | jq -r '.[0].id'
# Check if delays exist on liveboard
irail liveboard Brugge --json | jq '[.[] | select(.delay > 0)] | length'
# Get platform for next departure
irail liveboard Brugge --json | jq -r '.[0].platform'
# List all disruptions
irail disturbances --json | jq -r '.[].title'
Environment Variables
| Variable | Description |
|---|---|
| IRAIL_LANG | Default language (nl, fr, en, de) |
| IRAIL_JSON | Default to JSON output |
| NO_COLOR | Disable colored output |
Language Options
| Code | Language |
|---|---|
| nl | Dutch (default) |
| fr | French |
| en | English |
| de | German |
bash
irail liveboard Brugge --lang fr
irail connections Brugge Leuven --lang en
Command Reference
| Command | Description |
|---|---|
| liveboard | Station departures/arrivals |
| connections | Route planning between stations |
| stations | List/search stations |
| vehicle | Train information and stops |
| composition | Train car composition |
| disturbances | Service disruptions |
| completion | Shell completions |
Common Patterns
Check if train is delayed
bash
irail vehicle IC1832 --json | jq '.delay // 0'
Get connection with transfers
bash
irail connections Brugge Leuven --json | jq '.[0].vias | length'
Find direct trains only
bash
irail connections Brugge Leuven --json | jq '[.[] | select(.vias == null or (.vias | length) == 0)]'
Guidelines
- No authentication needed - API is public
- Be mindful of API usage in loops - add delays between requests
- Station names are case-insensitive and support partial matching
- Delay values are in seconds (divide by 60 for minutes)
Installation
bash
brew install dedene/tap/irail
Installation
Terminal bash
openclaw install irail
Copied!
💻Code Examples
irail disturbances
irail-disturbances.txt
## Authentication
**None required.** iRail API is public and free to use.
## Core Rules
1. **Always use `--json`** when parsing output programmatically
2. **Station names are flexible** - accepts partial matches, quotes for multi-word
3. **Time format** - HH:MM (24-hour), date format YYYY-MM-DD
4. **Language options** - nl, fr, en, de (default: nl)
## Output Formats
| Flag | Format | Use case |
|------|--------|----------|
| (default) | Table | User-facing with colors |
| `--json` | JSON | Agent parsing, scripting |
Colors indicate: red = delays, yellow = platform changes.
## Workflows
### Liveboard (Departures/Arrivals)irail disturbances --json | jq -r '.[].title'
irail-disturbances---json--jq--r-title.txt
## Environment Variables
| Variable | Description |
|----------|-------------|
| `IRAIL_LANG` | Default language (nl, fr, en, de) |
| `IRAIL_JSON` | Default to JSON output |
| `NO_COLOR` | Disable colored output |
## Language Options
| Code | Language |
|------|----------|
| `nl` | Dutch (default) |
| `fr` | French |
| `en` | English |
| `de` | German |irail connections Brugge Leuven --lang en
irail-connections-brugge-leuven---lang-en.txt
## Command Reference
| Command | Description |
|---------|-------------|
| `liveboard` | Station departures/arrivals |
| `connections` | Route planning between stations |
| `stations` | List/search stations |
| `vehicle` | Train information and stops |
| `composition` | Train car composition |
| `disturbances` | Service disruptions |
| `completion` | Shell completions |
## Common Patterns
### Check if train is delayedirail connections Brugge Leuven --json | jq '[.[] | select(.vias == null or (.vias | length) == 0)]'
irail-connections-brugge-leuven---json--jq---selectvias--null-or-vias--length--0.txt
## Guidelines
- No authentication needed - API is public
- Be mindful of API usage in loops - add delays between requests
- Station names are case-insensitive and support partial matching
- Delay values are in seconds (divide by 60 for minutes)
## Installationexample.sh
# Station departures
irail liveboard Brugge
# Find connections
irail connections Brugge Leuven
# Check disruptions
irail disturbancesexample.sh
# Departures from station
irail liveboard Brugge
irail liveboard "Brussel-Centraal"
# Arrivals instead of departures
irail liveboard Brugge --arrivals
# Specific date/time
irail liveboard Brugge --time 09:00 --date 2025-02-15
# JSON for scripting
irail liveboard Brugge --json
# Different language
irail liveboard Brugge --lang enexample.sh
# Find routes
irail connections Brugge Leuven
# Specific departure time
irail connections Brugge Leuven --time 09:00
# Arrive by time (instead of depart at)
irail connections Brugge Leuven --time 14:00 --arrive-by
# More results
irail connections Brugge Leuven --results 10
# JSON for parsing
irail connections Brugge Leuven --jsonexample.sh
# List all stations
irail stations
# Search stations
irail stations --search bruss
irail stations --search gent
# JSON for scripting
irail stations --jsonexample.sh
# Show train information
irail vehicle IC1832
# Include all stops
irail vehicle IC1832 --stops
# JSON output
irail vehicle IC1832 --jsonexample.sh
# Show train composition (seats, amenities)
irail composition S51507
irail composition IC1832
# JSON for parsing
irail composition S51507 --jsonTags
#devops_and-cloud
#cli
Quick Info
Category Development
Model Claude 3.5
Complexity One-Click
Author dedene
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
Ready to Install?
Get started with this skill in seconds
openclaw install irail
Related Skills
✓ Verified
💻 Development
4claw
4claw — a moderated imageboard for AI agents.
🧠 Claude-Ready
)}
★ 4.4 (118)
↓ 4,990
v1.0.0
✓ Verified
💻 Development
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
🧠 Claude-Ready
)}
★ 4.3 (89)
↓ 4,621
v1.0.0
✓ Verified
💻 Development
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
⚡ GPT-Optimized
)}
★ 3.8 (274)
↓ 17,648
v1.0.0
✓ Verified
💻 Development
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.
🧠 Claude-Ready
)}
★ 4.7 (88)
↓ 1,625
v1.0.0