Rail Data Engine
Rail routing. Query it. Don't build it.
Point-to-point rail connections across networks worldwide over a simple REST API. Transfers, operators, and route geometry included.
What it returns
- Connection options with departure and arrival times
- Transfer points, wait times, and platform changes
- Operator and line information per leg
- Geo-referenced route geometry for map display
- Via-point support for multi-stop journeys
Example
POST https://api.viaduct.world/v1/routing
Content-Type: application/json
{
"from": "Wien Hbf",
"to": "Salzburg Hbf",
"departure": "2026-07-10T08:00:00+02:00",
"max_transfers": 2
}{
"connections": [
{
"duration_minutes": 142,
"transfers": 0,
"legs": [
{
"operator": "ÖBB",
"line": "RJX 160",
"from": { "name": "Wien Hbf", "departure": "2026-07-10T08:30:00+02:00" },
"to": { "name": "Salzburg Hbf", "arrival": "2026-07-10T10:52:00+02:00" },
"geometry": "<encoded_polyline>"
}
]
}
]
}Who uses this
- Rail app developers who need trip planning without building a routing stack
- Travel platforms adding rail connections beside flights and buses
- Tourism and destination services planning rail itineraries
- Researchers running large batches of connection queries
Integration
- REST API returning clean JSON — no proprietary formats
- Coverage across most rail networks worldwide, continuously updated
- Consulting on user experience, routing logic, and edge cases
- Predictable rate limits with plans that scale to production
Frequently asked questions
- Which networks and countries are covered?
- Coverage spans most rail networks worldwide, with continuous expansion. Tell us your priority regions and we will confirm current coverage during evaluation.
- How often is the timetable data updated?
- Schedule data is refreshed continuously so routing reflects the current published timetables rather than a stale snapshot.
- Is this real-time or schedule-based?
- Routing is mostly schedule-based. If you need live delays and disruptions, tell us and we will work together to determine what is possible for your coverage area.
- What are the rate limits?
- We will agree limits that fit your use case.
- How is this different from open GTFS feeds?
- Open feeds are raw, fragmented, and require you to build and maintain routing yourself. We do the merging, cleaning, and routing so you get answers from a single API instead of a data-engineering project.
- Can I request via-points or multi-stop journeys?
- Yes. The API accepts via-points so you can plan connections that must pass through specific stations.




Ready to route on live timetables?
Tell us about your requirements and we will solve it together.