TransportationDocumentedScanned

ns-trains

Check Dutch train schedules, departures, disruptions, and plan journeys using the NS API.

Share:

Installation

npx clawhub@latest install ns-trains

View 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

  • Go to [NS API Portal]()

  • Create an account and subscribe to the Ns-App product (free tier available)

  • Copy your Primary 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

    CommandDescription
    commute.mjs [work\|home]Quick commute check (requires NS_HOME_STATION & NS_WORK_STATION)
    journey.mjs --from X --to YPlan a journey between any stations
    departures.mjs --station XList departures from a station
    arrivals.mjs --station XList arrivals at a station
    stations.mjs [query]Search for station names
    disruptions.mjsCheck 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