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.
git clone https://github.com/sundial-org/awesome-openclaw-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"
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"
skills/wienerlinien/SKILL.mdWiener Linien Real-Time API
Query Vienna's public transport for real-time departures, disruptions, elevator outages, and service information.
Quick Reference
| Endpoint | Purpose |
|---|---|
| Real-time departures at a stop |
| All current disruptions |
| Specific disruption details |
| 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):
| Stop | RBL IDs | Lines |
|---|---|---|
| Stephansplatz | 252, 4116, 4119 | U1, U3 |
| Karlsplatz | 143, 144, 4101, 4102 | U1, U2, U4 |
| Westbahnhof | 1346, 1350, 1368 | U3, U6 |
| Praterstern | 4205, 4210 | U1, U2 |
| Schwedenplatz | 1489, 1490, 4103 | U1, U4 |
| Schottentor | 40, 41, 4118 | U2, Trams |
1. Real-Time Departures (/monitor
)
/monitorGet 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
| Param | Required | Description |
|---|---|---|
| Yes (1-n) | RBL stop ID(s) |
| No | Include disruptions: , , |
| No | = 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
| Field | Description |
|---|---|
| Minutes until departure |
| Scheduled departure |
| Real-time prediction (if available) |
| Wheelchair accessible |
| Traffic jam affecting arrival |
| , , , |
2. Disruptions (/trafficInfoList
)
/trafficInfoListGet 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
| Param | Description |
|---|---|
| Line name (U1, 13A, etc.) - can repeat |
| RBL stop ID - can repeat |
| Category: , , , |
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
| Name | Description |
|---|---|
| Long-term disruptions |
| Short-term disruptions |
| Elevator outages |
| Escalator outages |
3. Specific Disruption (/trafficInfo
)
/trafficInfoGet 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
)
/newsListPlanned 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
| Name | Description |
|---|---|
| Planned elevator maintenance |
| 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
| Code | Meaning |
|---|---|
| 311 | Database unavailable |
| 312 | Stop does not exist |
| 316 | Rate limit exceeded |
| 320 | Invalid query parameter |
| 321 | Missing required parameter |
| 322 | No data in database |
Vehicle Types
| Type | Description |
|---|---|
| U-Bahn |
| Straßenbahn |
| City bus |
| Night bus (N lines) |
Tips
-
Multiple platforms: A single station may have multiple RBL IDs (one per platform/direction). Query all for complete departures.
-
Real-time availability: Check
- some lines only have scheduled times.realtimeSupported -
Countdown vs timeReal: Use
for display,countdown
for precise timing.timeReal -
Barrier-free routing: Filter by
for wheelchair users.barrierFree: true -
Find stop IDs: Search the CSV files by station name, then use the StopID as
parameter.stopId