idos.cz APIidos.cz ↗
Search Czech train, bus, and tram connections via the IDOS.cz timetable API. Get departure/arrival times, transfer counts, carriers, and segment-level journey details.
curl -X GET 'https://api.parse.bot/scraper/35759a92-49ba-47ec-8bc2-ce5761e995f1/search_connections?to=Brno&from=Praha+hl.n.&time=15%3A00&to_code=100003&from_code=100003' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for transport connections between two stations on the IDOS.cz timetable. Returns connections with detailed segments showing each leg of the journey including transport type, carrier, stations, timing, and live delay information. Typically returns 3 connections per request; use the time parameter to paginate forward through later departures.
| Param | Type | Description |
|---|---|---|
| to | string | Arrival station name (must match IDOS station name exactly). |
| date | string | Travel date in DD.M.YYYY format (e.g. '3.5.2026'). Omitting defaults to today. |
| from | string | Departure station name (must match IDOS station name exactly). |
| time | string | Departure time in HH:MM format (e.g. '15:00'). Omitting defaults to current time. Use to paginate through later connections. |
| to_code | string | Station type code for the arrival station. |
| from_code | string | Station type code for the departure station. |
| direct_only | boolean | If true, only show direct connections without transfers. May return zero results on routes with no direct service. |
{
"type": "object",
"fields": {
"to": "string - arrival station name",
"date": "string - travel date or 'today' if not specified",
"from": "string - departure station name",
"time": "string - departure time filter or 'now' if not specified",
"connections": "array of connection objects, each with id, departure_time, arrival_time, date, total_duration, num_transfers, and segments array detailing each leg",
"search_info": "string - search description from the site (e.g. 'Spojení Olomouc město » Praha hl.n. 3.5.2026')",
"connections_count": "integer - number of connections found"
},
"sample": {
"data": {
"to": "Praha hl.n.",
"date": "today",
"from": "Olomouc město",
"time": "15:00",
"connections": [
{
"id": "569968611",
"date": "3.5. ne",
"segments": [
{
"type": "tram",
"carrier": "Dopravní podnik města Olomouce, a.s.",
"stations": [
{
"name": "Nádraží město",
"time": "15:05"
},
{
"name": "Hlavní nádraží",
"time": "15:18"
}
],
"line_name": "Tram 7",
"delay_info": "",
"line_description": "tramvaj (Neředín,krematorium >> Fibichova)"
},
{
"type": "eurocity",
"carrier": "České dráhy, a.s.",
"stations": [
{
"name": "Olomouc hl.n.",
"time": "15:25"
},
{
"name": "Praha hl.n.",
"time": "17:52"
}
],
"line_name": "Ex1 (EC 114 Cracovia)",
"delay_info": "Odjezd bývá zpožděn",
"walk_before": "Přesun asi 4 min",
"line_description": "Eurocity (Przemysl Gl. >> Praha hl.n.)"
}
],
"arrival_time": "17:52",
"num_transfers": 1,
"departure_time": "15:05",
"total_duration": "2 hod 47 min"
}
],
"search_info": "Spojení Olomouc město » Praha hl.n. 3.5.2026",
"connections_count": 3
},
"status": "success"
}
}About the idos.cz API
The IDOS.cz API exposes 1 endpoint — search_connections — that queries the Czech public transport timetable for connections between any two stations. A single response returns up to 3 connection options, each broken down into segments with per-leg carrier names, transport types, departure and arrival times, total journey duration, number of transfers, and live delay data where available.
What the API Returns
The search_connections endpoint accepts a from and to station name, a date in DD.M.YYYY format, and a time in HH:MM format. Station names must match IDOS nomenclature exactly — for example Praha hl.n. rather than Prague. The response includes a connections array where each entry carries departure_time, arrival_time, total_duration, and num_transfers, alongside a segments array that breaks the journey into individual legs.
Segment-Level Detail
Each segment in the segments array describes one leg of the journey: the transport mode (train, bus, tram), the carrier operating that leg, the boarding and alighting stations, scheduled timing, and any live delay information. This makes it straightforward to display platform-by-platform itineraries or to filter routes by number of transfers using the num_transfers field.
Filtering and Pagination
Set direct_only to true to restrict results to non-stop services; note that many Czech inter-city routes have no direct service, so this may return zero connections. To page forward through later departures, increment the time parameter — the API returns the next batch of connections departing at or after that time. The search_info field in the response echoes back a human-readable summary of the query (e.g. Spojení Olomouc město » Praha hl.n. 3.5.2026), useful for logging or display.
- Build a trip planner app showing train and bus options between Czech cities with transfer counts and durations
- Monitor live delay data on a specific route segment to alert travelers of disruptions
- Compare journey times across multiple departure windows by iterating the
timeparameter - Filter for direct-only bus connections between regional Czech towns using the
direct_onlyflag - Populate a schedule widget with
departure_time,arrival_time, and carrier name for a fixed route - Log daily connection availability between two stations to track service frequency over time
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does IDOS.cz have an official public developer API?+
What does the `segments` array include, and how does it differ from the top-level connection fields?+
departure_time, arrival_time, total_duration, and num_transfers. The segments array goes deeper, providing one entry per leg of the journey with the transport type, carrier, boarding station, alighting station, per-leg timing, and live delay information. A single-transfer journey will have two segments.Does station name matching need to be exact?+
from and to parameters must match IDOS station names precisely — including diacritics and abbreviations like hl.n. for hlavní nádraží. Mismatched names will return no results. The optional from_code and to_code parameters can help disambiguate stations that share the same name.