🚏VVO
This is a comprehensive list of API endpoints, libraries, apps, tools and resources for accessing public transportation data in the Verkehrsverbund Oberelbe (VVO) network, which includes the Dresdner Verkehrsbetriebe (DVB).
This repository serves as the primary community resource for Dresden transit API documentation, containing reverse-engineered specifications, links to client libraries, and a comprehensive ecosystem overview.
This document is inspired by derhuerst/vbb-modules.
Got any more info, details, links? Please don't hesitate to open an issue and/or PR!
The website renders these docs together with interactive API references, live network status, endpoint health checks and searchable stop data.
Documentation Overview
- API Comparison Guide - Feature matrix and selection guide for choosing the right API
- Widget API - Simple GET-based API for departure monitors
- WebAPI - JSON REST API used by mobile apps
- TRIAS API - Official XML-based API following European standards
- GTFS Data - Standard transit data format with static and real-time feeds
- SIRI ET Real-Time Data - DELFI real-time feed with delays, cancellations, and occupancy
- Dresden OpenData - Geographic transit datasets via OGC API Features (lines, stops, accessibility)
- TLMS Live Vehicle Positions - Community WebSocket feed of live vehicle positions from R09 telegrams
- OpenAPI specs - Machine-readable descriptions of the WebAPI, Widget API, TRIAS and Dresden OpenData endpoints, for client generators and tools like Postman
Legal Information
EU Open Data Requirements: Under EU Regulation 2017/1926, transit data must be made available in machine-readable formats. VVO complies through various APIs and data formats.
Usage Terms:
- Widget API: Non-commercial use only, fair use policy applies
- WebAPI: No official terms, use respectfully
- TRIAS: Official API, commercial use allowed with agreement
Static Data
stations.json- Complete station data with metadata and transit linesstations.geojson- All stations as GeoJSON for mapping applicationsstations.csv- Tabular list of all stations with coordinates and operatorsstations_summary.md- Statistics and summary of the VVO networkabbreviations_dresden.csv- Station abbreviations in Dresdenabbreviations_regional.csv- Station abbreviations in surrounding areasgtfs/lines.csv- Weekly summary of typical trips per weekday for each line in the VVO-area GTFS snapshotvvo-gtfs.zip- Weekly VVO-area GTFS snapshot, cut from the gtfs.de local transit feed (see GTFS docs)liniennetzplan.jpg- Current DVB standard network map (JPEG)liniennetzplan.pdf- Current DVB standard network map (PDF)VVO_STOPS.JSON- Official daily updated station data (external)PuR.JSON- Official park and ride data (external)
Development
The data in data/ and the endpoint health results are updated by the GitHub Actions in .github/workflows/. The website lives in site/ and is built with Astro Starlight. It reads the markdown in documentation/, the specs in openapi/ and the files in data/ at build time, so there is no second copy to keep in sync.
nix develop # or direnv allow, provides Node.js, pnpm and uv
cd site && pnpm install && pnpm dev
APIs
Open Access APIs
- TRIAS API -
http://efa.vvo-online.de:8080/std3/trias
- Widget API -
http://widgets.vvo-online.de
- WebAPI -
https://webapi.vvo-online.de
- EFA Classic -
http://efa.vvo-online.de:8080
- TLMS Live Vehicle Positions -
wss://socket.tlm.solutions
Restricted Access APIs
- DVB WebDFI -
http://dfi.dvb.de/
Data Downloads
- SIRI ET Real-Time Feed — via Mobilithek / mirror
- Dresden OpenData Portal -
https://kommisdd.dresden.de/net4/public/ogcapi/
Libraries
Client libraries for various languages, sorted in no particular order. Although some of the names are specific to the DVB, most if not all of them are compatible with everything in the VVO network.
- Node.js:
dvbjs- WebAPI client with TypeScript support - Python:
dvbpy- Pythonic WebAPI wrapper - Haskell:
dresdner-verkehrsbetriebe- Widget API client - Swift:
DVB- iOS/macOS client for WebAPI - Java:
jVVO- WebAPI client for JVM - Ruby:
dvbrb- Supports both APIs - Go:
dvbgo- WebAPI client - Rust:
dvb-rs- WebAPI client
Other
- TripKit/VvoProvider - Part of TripKit, a Swift port of schildbach/public-transport-enabler for the iOS app ÖPNV Navigator
Apps
Mobile apps known and used in Dresden.
DVB mobil- Official, cross-platformÖPNV Navigator- iOS, not specific to the VVO networkÖffi- AndroidTakt Dresden- iOS, Android, and WebHaltestellenmonitor-v3- iOS
Assistive apps & accessibility
DVBerry- a Kotlin app that reads out departures for nearby VVO stops for blind and visually impaired users
Deprecated
Manni- iOS (no longer on App Store, repository archived)DVB-Verspaetungen- Android app informing you about the current delay situation (repository archived)FahrInfo Dresden- cross-platform (removed from public stores)Faplino- Android (removed from Play Store in July 2022)
Tools, UIs & Experiments
Home Assistant Integration- Show current departure data for selected stop on Home Assistant DashboardMagic Mirror- Shows current departure data (usingdvbpy)alfred_dvb- Alfred workflow for departure data (usingdvbgo)Amazon Echo- Tweet @ubahnverleih for more infocatch-my-bus- ruby script notifying you about your next buscatch-my-bus-python- GTK3 StatusIcon showing current departure dataDVBot- DVB Facebook Messenger Botddplan- Electron based station monitor that lives in the menubarAbfahrtsmonitor- Departure board for your Apple Watchhubot-dvb- Hubot script (usingdvbjs)dresden-departure-monitor- Bashscript for getting current departure timesAbfahrtsTV- Current departure times on your AppleTV, 'cause why notDVBManniBot- Telegram bot for checking current departuresVerkehrsbot- another Telegram bot for checking current departures (usingdvbpy)Dresden Bot- Feature rich Telegram bot with routing, maps, departures and a lot moredvb-on-esp32- Current depature times on lcd via ESP32 (Arduino)dvb-browser- Vue.js (mobile) browser app showing real time departures really fastoepnvdresdenbot- Telegram bot featuring natural language queries for departures and routesARKit Abfahrtsmonitor- iOS ARKit demo showing departure informationDeparture Shortcut- Shortcut for iOS' Shortcuts app showing departuresdvb-mqtt- Periodically publish departure data to an mqtt brokerdvblive- Visualization of tram delays for the entire city (#odcdresden19 project, no longer actively maintained)VV...Wo?- iOS app using natural language queries (#odcdresden19 project)DVBFast- WebApp that displays the departure infos of the nearest stations using GPS (live Version)MMM-DVB- MagicMirror² modulevvo-departures-cli- CLI for querying departures information, also see #32wartefrei- web-based realtime dashboard for departures and routesdvb-mcp- mcp-serverDresden-Live- Real-time 3D visualization of tram and bus positions using Deck.GL and inferred routing geometry.TLMS Live Map- Live Map of DVB-Vehicles with data gathered from R09 Telegram Radio Receiver (see TLMS documentation for the underlying WebSocket API)