Repository navigation
Public Transport
Roadstr plans journeys on buses, trams, metros, trains, coaches and ferries. It does so online only — offline transit routing is deliberately not part of Roadstr — and it reads open timetable data rather than keeping its own.
| Provider | Covers | What Roadstr uses it for |
|---|---|---|
| Transitous | Worldwide, wherever operators publish open feeds | Journeys, stop search, nearby stops, live departure boards, the lines serving a stop, trip details |
| Entur | Journeys wholly inside Norway | Journeys only — no stop search or departure boards, and not a worldwide fallback |
Neither needs an account or an API key. Coverage depends on which operators publish open data for an area; where none does, the app says so plainly rather than implying there is no service.
Choose Transit next to car, bike and walking in the route planner. Then:
- Active guidance walks you through the stages — walking to the stop, boarding, onboard, interchange and the final walk — with its own HUD, de-duplicated voice cues, GPS assistance and a foreground notification.
- Manual controls — boarded, alighted and missed service — for when GPS cannot tell.
- Missed connections can be assessed, refreshed and replanned. The active journey is only replaced after you confirm.
- Recovery. If Android kills the process, an active transit session is restored from encrypted storage.
- Saved journeys are stored in their own encrypted, versioned format, with a per-leg comparison of the original and the updated plan. A saved journey stays readable offline, labelled as a snapshot until you verify it online.
Public-transport services see what you ask them. A journey, a stop search, a departure board or a live check sends the query, the coordinates and the travel time to Transitous (or to Entur inside Norway), and those servers also see your IP address. A normal place search also asks Transitous for matching transit stops, sending the words you searched for and the position the search is biased towards, so that stops can be listed with the other results. The onboarding screen and every itinerary panel say so. See Privacy.
Roadstr reads Transitous, so every operator feed added there becomes available to Roadstr without an app release. To add yours:
- Find an openly licensed, stable timetable URL (GTFS or NeTEx). Start with the operator, a national or regional open-data portal, the Mobility Database or Transitland. Prefer feeds that cover several months; the URL must stay stable because Transitous checks it daily.
- Find the country or region in the
feeds/directory of the Transitous repository and update that JSON file (or add it with a maintainer if the region is new). - Prefer a Mobility Database or Transitland Atlas id when the feed is catalogued; otherwise add an
http/ftpsource with its licence URL and SPDX identifier. - Add GTFS-RT or SIRI only if it matches the static timetable.
- Open a pull request against
public-transport/transitous; its CI validates the feed. - After the import, check the operator in the Transitous web UI and in Roadstr.
Fix feed problems at the source or in Transitous so every open client benefits. The full guide, with the service policy, is docs/TRANSIT_DATA.md.
The public Transitous endpoint is a best-effort community service for light, non-commercial use. Roadstr identifies itself on every request, links to the data sources on the itinerary panel, and plans to agree expected load with the Transitous operators before broad use; an optional self-hosted MOTIS endpoint is on the roadmap.
Roadstr is open source under the MIT licence · Source · Releases · Changelog · Issues
Using Roadstr
- Installation
- Getting started
- Navigation
- Maps and offline use
- Search and Explore
- Road reports
- Public transport
- Voice guidance
- Voice search
- Journey and achievements
- Settings reference
Nostr and money
Trust
Build and extend