Deutsche Bahn Train Times, Fares & Routes Scraper
Scrape German and European train connections from bahn.de: departure and arrival times, duration, transfers, ICE/IC/RE train types and cheapest fares across 5500+ stations. Export to JSON, CSV or Excel.
{ "from": "Berlin Hbf", "to": "München Hbf", "departure": "2026-07-26T08:36:00", "arrival": "2026-07-26T12:46:00", "durationMinutes": 250, "transfers": 0, "trainTypes": ["ICE"], "trains": ["ICE 1005"], "price": 149.99 }
各実行で、型が揃ったきれいなレコードを返します。CRM・スプレッドシート・データベースにそのまま使えます。
- 結果ごとに 1 レコード、重複排除・正規化済み
- JSON・CSV・Excel の安定したスキーマ、または Apify API で読み取り
- クラウドで従量課金。インストールも保守も不要
実際の 1 レコード例。受け取る形そのままです。
| From | To | Departure | Arrival |
|---|---|---|---|
| Berlin Hbf | München Hbf | 2026-07-26T08:36:00 | 2026-07-26T12:46:00 |
| Berlin Hbf | München Hbf | 2026-07-26T08:36:00 | 2026-07-26T12:52:00 |
| Berlin Hbf | München Hbf | 2026-07-26T09:36:00 | 2026-07-26T13:43:00 |
{ "from": "Berlin Hbf", "to": "München Hbf", "departure": "2026-07-26T08:36:00", "arrival": "2026-07-26T12:46:00", "durationMinutes": 250, "transfers": 0, "trainTypes": ["ICE"], "trains": ["ICE 1005"], "price": 149.99 }
よくある質問
Which countries and stations does this cover?
It covers the full Deutsche Bahn network across Germany plus cross-border European connections that bahn.de sells, including hubs like Wien Hbf, Zurich HB, Amsterdam Centraal and Paris. You can search any of the 5500+ stations and cities in the bahn.de timetable by name.
How many connections can I get per run?
Set Max Items to control the count. The scraper works forward in time from your chosen departure and keeps going until it reaches your limit, so you can collect dozens of connections for a single route and date.
Can I search by arrival time instead of departure?
Yes. Set Time refers to "Arrive by" and the scraper returns connections that arrive at or before the time you set, instead of departing from it. You can also pick first or second class and cap the number of transfers.
Why is the price sometimes empty?
Some cross-border or regional connections do not have a single through ticket on bahn.de, so no combined price is returned and the price is left empty while the times, legs and train types are still captured. Enable fare details to also pull every individual fare offer where available.
Do I need to configure a proxy?
No. A German residential proxy is enabled by default, so you do not need to configure anything to retrieve live connections and prices reliably. Station search works without it.