Wiener Linien

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.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
8 · 1.9k · 1 current installs · 1 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description match the actual behavior: scripts and SKILL.md call Wiener Linien OGD realtime endpoints to fetch departures, disruptions, elevator info and stop CSVs. No unrelated services, credentials, or unrelated binaries are required by the functionality.
Instruction Scope
Runtime instructions and the included shell scripts only perform network requests to wienerlinien.at (monitor, trafficInfoList, newsList, and CSV of stops) and parse results with jq/grep/head. The scripts do not read arbitrary local files, access unrelated env vars, or forward data to third-party endpoints.
Install Mechanism
There is no install spec (instruction-only), which is low risk. Minor metadata mismatch: registry lists no required binaries, but README and scripts expect curl and jq (and search-stop.sh uses grep/head). This is an implementation detail to be aware of, not an active risk.
Credentials
The skill requests no environment variables, no credentials, and no config paths. All network calls are to the Wiener Linien open-data endpoints, consistent with the described purpose.
Persistence & Privilege
always is false and the skill does not attempt to modify agent/system configuration. It is user-invocable and may be invoked autonomously per platform defaults, which is expected for a utility skill.
Assessment
This skill appears coherent and benign: it fetches public Wiener Linien Open Data via HTTPS and parses it locally. Before installing, confirm you are comfortable allowing outbound network requests to wienerlinien.at and that curl and jq are available in the environment (search-stop.sh also uses grep/head). Note the registry lists no homepage and the owner is an ID only — if provenance matters, try to verify the author/source (e.g., a repo or publisher) before use. If you have strict security requirements, run the scripts in a sandboxed environment and inspect them yourself; any deviation such as calls to other domains or requests for credentials would be a red flag.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
austriavk9713peka94dk2p8ry1kw8mnm57yv1j9latestvk9713peka94dk2p8ry1kw8mnm57yv1j9transitvk9713peka94dk2p8ry1kw8mnm57yv1j9viennavk9713peka94dk2p8ry1kw8mnm57yv1j9

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Wiener Linien Real-Time API

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

Quick Reference

EndpointPurpose
/monitorReal-time departures at a stop
/trafficInfoListAll current disruptions
/trafficInfoSpecific disruption details
/newsListService 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
stopIdYes (1-n)RBL stop ID(s)
activateTrafficInfoNoInclude disruptions: stoerungkurz, stoerunglang, aufzugsinfo
aAreaNo1 = 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
countdownMinutes until departure
timePlannedScheduled departure
timeRealReal-time prediction (if available)
barrierFreeWheelchair accessible
trafficjamTraffic jam affecting arrival
typeptMetro, 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
relatedLineLine name (U1, 13A, etc.) - can repeat
relatedStopRBL stop ID - can repeat
nameCategory: 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
stoerunglangLong-term disruptions
stoerungkurzShort-term disruptions
aufzugsinfoElevator outages
fahrtreppeninfoEscalator 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
aufzugsservicePlanned elevator maintenance
newsGeneral 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
ptMetroU-Bahn
ptTramStraßenbahn
ptBusCityCity bus
ptBusNightNight 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.

Files

6 total
Select a file
Select a file to preview.

Comments

Loading comments…