Awesome-openclaw-skills wienerlinien

Vienna public transport (Wiener Linien) real-time data. Use when asking about departures, schedules, disruptions, elevator status, or directions in Vienna's public transport (U-Bahn, tram, bus, night bus). Queries stops, lines, and traffic info.

install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/wienerlinien" ~/.claude/skills/sundial-org-awesome-openclaw-skills-wienerlinien && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/wienerlinien" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-wienerlinien && rm -rf "$T"
manifest: skills/wienerlinien/SKILL.md
source content

Wiener Linien Real-Time API

Query Vienna's public transport for real-time departures, disruptions, elevator outages, and service information.

Quick Reference

EndpointPurpose
/monitor
Real-time departures at a stop
/trafficInfoList
All current disruptions
/trafficInfo
Specific disruption details
/newsList
Service news & elevator maintenance

Base URL:

https://www.wienerlinien.at/ogd_realtime


Finding Stop IDs

Stops are identified by RBL numbers (Rechnergestütztes Betriebsleitsystem). Use the reference data:

# Search stops by name
curl -s "https://www.wienerlinien.at/ogd_realtime/doku/ogd/wienerlinien-ogd-haltepunkte.csv" | grep -i "stephansplatz"

# Format: StopID;DIVA;StopText;Municipality;MunicipalityID;Longitude;Latitude

Common Stop IDs (RBL):

StopRBL IDsLines
Stephansplatz252, 4116, 4119U1, U3
Karlsplatz143, 144, 4101, 4102U1, U2, U4
Westbahnhof1346, 1350, 1368U3, U6
Praterstern4205, 4210U1, U2
Schwedenplatz1489, 1490, 4103U1, U4
Schottentor40, 41, 4118U2, Trams

1. Real-Time Departures (
/monitor
)

Get next departures at one or more stops.

Request

# Single stop
curl -s "https://www.wienerlinien.at/ogd_realtime/monitor?stopId=252"

# Multiple stops
curl -s "https://www.wienerlinien.at/ogd_realtime/monitor?stopId=252&stopId=4116"

# With disruption info
curl -s "https://www.wienerlinien.at/ogd_realtime/monitor?stopId=252&activateTrafficInfo=stoerungkurz&activateTrafficInfo=stoerunglang&activateTrafficInfo=aufzugsinfo"

Parameters

ParamRequiredDescription
stopId
Yes (1-n)RBL stop ID(s)
activateTrafficInfo
NoInclude disruptions:
stoerungkurz
,
stoerunglang
,
aufzugsinfo
aArea
No
1
= include all platforms with same DIVA number

Response Structure

{
  "data": {
    "monitors": [{
      "locationStop": {
        "properties": {
          "name": "60201234",      // DIVA number
          "title": "Stephansplatz", // Stop name
          "attributes": { "rbl": 252 }
        },
        "geometry": {
          "coordinates": [16.3726, 48.2085]  // lon, lat (WGS84)
        }
      },
      "lines": [{
        "name": "U1",
        "towards": "Leopoldau",
        "direction": "H",           // H=hin, R=retour
        "type": "ptMetro",
        "barrierFree": true,
        "realtimeSupported": true,
        "trafficjam": false,
        "departures": {
          "departure": [{
            "departureTime": {
              "timePlanned": "2025-01-08T19:30:00.000+0100",
              "timeReal": "2025-01-08T19:31:30.000+0100",
              "countdown": 3  // minutes until departure
            }
          }]
        }
      }]
    }]
  },
  "message": { "value": "OK", "messageCode": 1 }
}

Key Fields

FieldDescription
countdown
Minutes until departure
timePlanned
Scheduled departure
timeReal
Real-time prediction (if available)
barrierFree
Wheelchair accessible
trafficjam
Traffic jam affecting arrival
type
ptMetro
,
ptTram
,
ptBusCity
,
ptBusNight

2. Disruptions (
/trafficInfoList
)

Get all current service disruptions.

Request

# All disruptions
curl -s "https://www.wienerlinien.at/ogd_realtime/trafficInfoList"

# Filter by line
curl -s "https://www.wienerlinien.at/ogd_realtime/trafficInfoList?relatedLine=U3&relatedLine=U6"

# Filter by stop
curl -s "https://www.wienerlinien.at/ogd_realtime/trafficInfoList?relatedStop=252"

# Filter by type
curl -s "https://www.wienerlinien.at/ogd_realtime/trafficInfoList?name=aufzugsinfo"

Parameters

ParamDescription
relatedLine
Line name (U1, 13A, etc.) - can repeat
relatedStop
RBL stop ID - can repeat
name
Category:
stoerunglang
,
stoerungkurz
,
aufzugsinfo
,
fahrtreppeninfo

Response

{
  "data": {
    "trafficInfos": [{
      "name": "eD_23",
      "title": "Gumpendorfer Straße",
      "description": "U6 Bahnsteig Ri. Siebenhirten - Aufzug außer Betrieb",
      "priority": "1",
      "time": {
        "start": "2025-01-08T06:00:00.000+0100",
        "end": "2025-01-08T22:00:00.000+0100"
      },
      "relatedLines": ["U6"],
      "relatedStops": [4611],
      "attributes": {
        "status": "außer Betrieb",
        "station": "Gumpendorfer Straße",
        "location": "U6 Bahnsteig Ri. Siebenhirten"
      }
    }],
    "trafficInfoCategories": [{
      "id": 1,
      "name": "aufzugsinfo",
      "title": "Aufzugsstörungen"
    }]
  }
}

Disruption Categories

NameDescription
stoerunglang
Long-term disruptions
stoerungkurz
Short-term disruptions
aufzugsinfo
Elevator outages
fahrtreppeninfo
Escalator outages

3. Specific Disruption (
/trafficInfo
)

Get details for a specific disruption by name.

curl -s "https://www.wienerlinien.at/ogd_realtime/trafficInfo?name=eD_265&name=eD_37"

4. Service News (
/newsList
)

Planned maintenance, elevator service windows, news.

# All news
curl -s "https://www.wienerlinien.at/ogd_realtime/newsList"

# Filter by line/stop/category
curl -s "https://www.wienerlinien.at/ogd_realtime/newsList?relatedLine=U6&name=aufzugsservice"

Categories

NameDescription
aufzugsservice
Planned elevator maintenance
news
General service news

Reference Data (CSV)

Stops (Haltepunkte) - Primary

curl -s "https://www.wienerlinien.at/ogd_realtime/doku/ogd/wienerlinien-ogd-haltepunkte.csv"
# StopID;DIVA;StopText;Municipality;MunicipalityID;Longitude;Latitude

StopID is the RBL number used in API calls.

Stations (Haltestellen)

curl -s "https://www.wienerlinien.at/ogd_realtime/doku/ogd/wienerlinien-ogd-haltestellen.csv"
# DIVA;PlatformText;Municipality;MunicipalityID;Longitude;Latitude

Lines

curl -s "https://www.wienerlinien.at/ogd_realtime/doku/ogd/wienerlinien-ogd-linien.csv"
# LineID;LineText;SortingHelp;Realtime;MeansOfTransport

MeansOfTransport:

ptMetro
,
ptTram
,
ptBusCity
,
ptBusNight


Common Use Cases

"When is the next U1 from Stephansplatz?"

# Stephansplatz U1 platform RBL: 4116
curl -s "https://www.wienerlinien.at/ogd_realtime/monitor?stopId=4116" | jq '.data.monitors[].lines[] | select(.name=="U1") | {line: .name, towards: .towards, departures: [.departures.departure[].departureTime.countdown]}'

"Are there any U-Bahn disruptions?"

curl -s "https://www.wienerlinien.at/ogd_realtime/trafficInfoList?relatedLine=U1&relatedLine=U2&relatedLine=U3&relatedLine=U4&relatedLine=U6" | jq '.data.trafficInfos[] | {title, description, lines: .relatedLines}'

"Which elevators are out of service?"

curl -s "https://www.wienerlinien.at/ogd_realtime/trafficInfoList?name=aufzugsinfo" | jq '.data.trafficInfos[] | {station: .attributes.station, location: .attributes.location, status: .attributes.status}'

"Departures from Karlsplatz with all disruption info"

curl -s "https://www.wienerlinien.at/ogd_realtime/monitor?stopId=143&stopId=144&stopId=4101&stopId=4102&activateTrafficInfo=stoerungkurz&activateTrafficInfo=stoerunglang&activateTrafficInfo=aufzugsinfo"

Error Codes

CodeMeaning
311Database unavailable
312Stop does not exist
316Rate limit exceeded
320Invalid query parameter
321Missing required parameter
322No data in database

Vehicle Types

TypeDescription
ptMetro
U-Bahn
ptTram
Straßenbahn
ptBusCity
City bus
ptBusNight
Night bus (N lines)

Tips

  1. Multiple platforms: A single station may have multiple RBL IDs (one per platform/direction). Query all for complete departures.

  2. Real-time availability: Check

    realtimeSupported
    - some lines only have scheduled times.

  3. Countdown vs timeReal: Use

    countdown
    for display,
    timeReal
    for precise timing.

  4. Barrier-free routing: Filter by

    barrierFree: true
    for wheelchair users.

  5. Find stop IDs: Search the CSV files by station name, then use the StopID as

    stopId
    parameter.