TransportationDocumentedScanned
ns-trains
Check Dutch train schedules, departures, disruptions, and plan journeys using the NS API.
Share:
Installation
npx clawhub@latest install ns-trainsView the full skill documentation and source below.
Documentation
NS Trains Skill
Check Dutch train schedules, departures, disruptions, and plan journeys using the official NS (Nederlandse Spoorwegen) API.
Setup
1. Get an NS API Key
2. Set Environment Variables
export NS_API_KEY="your-api-key-here"
# Optional: Configure commute stations for quick shortcuts
export NS_HOME_STATION="Utrecht Centraal"
export NS_WORK_STATION="Amsterdam Zuid"
Add to ~/.bashrc or ~/.zshrc for persistence.
Quick Usage
🚆 Commute shortcuts
node {baseDir}/scripts/commute.mjs --to-work # Morning: Home → Work
node {baseDir}/scripts/commute.mjs --to-home # Evening: Work → Home
Plan any journey
node {baseDir}/scripts/journey.mjs --from "Utrecht Centraal" --to "Amsterdam Zuid"
Check departures from a station
node {baseDir}/scripts/departures.mjs --station "Amsterdam Centraal"
Check arrivals at a station
node {baseDir}/scripts/arrivals.mjs --station "Rotterdam Centraal"
Search for stations
node {baseDir}/scripts/stations.mjs amsterdam
node {baseDir}/scripts/stations.mjs --search "den haag"
Check current disruptions
node {baseDir}/scripts/disruptions.mjs
node {baseDir}/scripts/disruptions.mjs --from "Utrecht" --to "Amsterdam"
Natural Language
Just ask:
- "When is the next train to Amsterdam?"
- "Check trains from Utrecht to Rotterdam"
- "Any train disruptions today?"
- "Plan my commute to work"
- "What time does the train arrive?"
Output
Returns journey options with:
- Departure/arrival times
- Real-time delays
- Duration
- Transfers
- Platform numbers
- Disruption warnings
- Crowdedness forecast (🟢 low / 🟡 medium / 🔴 high)
Commands Reference
| Command | Description |
commute.mjs [work\|home] | Quick commute check (requires NS_HOME_STATION & NS_WORK_STATION) |
journey.mjs --from X --to Y | Plan a journey between any stations |
departures.mjs --station X | List departures from a station |
arrivals.mjs --station X | List arrivals at a station |
stations.mjs [query] | Search for station names |
disruptions.mjs | Check current disruptions |
API Endpoints Used
/reisinformatie-api/api/v3/trips- Journey planning/reisinformatie-api/api/v2/arrivals- Arrivals/reisinformatie-api/api/v2/departures- Departures/reisinformatie-api/api/v3/disruptions- Disruptions/reisinformatie-api/api/v2/stations- Station search
Reference
- NS API Portal:
- Documentation:
- Free tier: 5000 requests/day