Train schedules, tickets and travel information in Germany.
Your information
Travel date, for example 2026-09-30.
Local time in HH:MM, for example 08:00.
Starting station or city, for example Berlin Hbf.
Destination station or city, for example Frankfurt.
Maximum number of connections, for example 10.
Travel class, for example second.
More options
Number of adults, for example 1.
Whether time is departure or arrival, for example departure.
Example results
Train connections
About the Deutsche Bahn tool
Deutsche Bahn (DB) Search train connections returns routes, fares, delays and service notes for an origin, destination and travel date.
Search train connections can also use local time, passenger count and travel class.
Built from bahn.de. Last checked Sep 29, 2026.
Actions
Search train connections
1 creditFind Deutsche Bahn train connections by station or city and date, with fares, delays and service notes. Fares and real-time information may be unavailable for some journeys.
What you provide
| Field | Type | Required | Description |
|---|---|---|---|
Datedate | Date | Required | Travel date, for example 2026-09-30.Example: 2026-10-01 |
Timetime | Text | Optional | Local time in HH:MM, for example 08:00.Example: 09:00 |
Adultsadults | Number | Optional | Number of adults, for example 1. |
Originorigin | Text | Required | Starting station or city, for example Berlin Hbf.Example: Hamburg Hbf |
Time Istime_is | Text | Optional | Whether time is departure or arrival, for example departure.Example: Arrival |
Destinationdestination | Text | Required | Destination station or city, for example Frankfurt.Example: Bremen Hbf |
Max Resultsmax_results | Number | Optional | Maximum number of connections, for example 10.Example: 12 |
Travel Classtravel_class | Text | Optional | Travel class, for example second.Example: First |
What you get
| Field | Type | Description |
|---|---|---|
Connectionsconnections | List | |
Trainsconnections[].trains | List | |
Changesconnections[].changes | Number | Example: 0 |
Currencyconnections[].currency | Text | Example: EUR |
Page Linkconnections[].page_link | Text | |
Travel Timeconnections[].travel_time | Text | Example: 1h 11m |
Cheapest Priceconnections[].cheapest_price | Number | Example: 17.1 |
Arrival Stationconnections[].arrival_station | Text | Example: Bremen Hbf |
Disruption Notesconnections[].disruption_notes | List | |
Realtime Arrivalconnections[].realtime_arrival | Text | |
Departure Stationconnections[].departure_station | Text | Example: Hamburg Hbf |
Scheduled Arrivalconnections[].scheduled_arrival | Text | Example: 2026-10-01T10:26:00+02:00 |
Arrival Station IDconnections[].arrival_station_id | Text | Example: 8000050 |
Realtime Departureconnections[].realtime_departure | Text | |
Scheduled Departureconnections[].scheduled_departure | Text | Example: 2026-10-01T09:15:00+02:00 |
Departure Station IDconnections[].departure_station_id | Text | Example: 8002549 |
Arrival Delay (minutes)connections[].arrival_delay_minutes | Number | |
Departure Delay (minutes)connections[].departure_delay_minutes | Number |
Example result
For Date: 2026-10-01, Time: 09:00, Origin: Hamburg Hbf, Destination: Bremen Hbf, Max Results: 12, Travel Class: First
{
"connections": [
{
"trains": [
"RE4"
],
"changes": 0,
"currency": "EUR",
"page_link": "https://www.bahn.de/buchung/fahrplan/suche#sts=true&so=Hamburg+Hbf&zo=Bremen+Hbf&kl=1&r=13%3A16%3AKLASSENLOS%3A1&soid=A%3D1%40O%3DHamburg+Hbf%40X%3D10006909%40Y%3D53552733%40U%3D80%40L%3D8002549%40p%3…",
"travel_time": "1h 11m",
"cheapest_price": 17.1,
"arrival_station": "Bremen Hbf",
"disruption_notes": [],
"realtime_arrival": null,
"departure_station": "Hamburg Hbf",
"scheduled_arrival": "2026-10-01T10:26:00+02:00",
"arrival_station_id": "8000050",
"realtime_departure": null,
"scheduled_departure": "2026-10-01T09:15:00+02:00",
"departure_station_id": "8002549",
"arrival_delay_minutes": null,
"departure_delay_minutes": null
},
{
"trains": [
"ICE 519"
],
"changes": 0,
"currency": "EUR",
"page_link": "https://www.bahn.de/buchung/fahrplan/suche#sts=true&so=Hamburg+Hbf&zo=Bremen+Hbf&kl=1&r=13%3A16%3AKLASSENLOS%3A1&soid=A%3D1%40O%3DHamburg+Hbf%40X%3D10006909%40Y%3D53552733%40U%3D80%40L%3D8002549%40p%3…",
"travel_time": "56m",
"cheapest_price": 43.99,
"arrival_station": "Bremen Hbf",
"disruption_notes": [],
"realtime_arrival": null,
"departure_station": "Hamburg Hbf",
"scheduled_arrival": "2026-10-01T10:41:00+02:00",
"arrival_station_id": "8000050",
"realtime_departure": null,
"scheduled_departure": "2026-10-01T09:45:00+02:00",
"departure_station_id": "8002549",
"arrival_delay_minutes": null,
"departure_delay_minutes": null
}
]
}For developers
Call it from your code with one request. Change the values in input to run it on new data. To get an API key, open Developers at the bottom of Studio, turn on Developer mode and go to API keys.
curl 'https://api.fous.com/v1/query' \
--fail-with-body --silent --show-error --max-time 180 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H 'Content-Type: application/json' \
--data-raw '{
"api": "@deutsche-bahn",
"visibility": "public",
"operation": "search_train_connections",
"version": 1,
"input": {
"date": "2026-10-01",
"time": "09:00",
"origin": "Hamburg Hbf",
"destination": "Bremen Hbf",
"max_results": 12,
"travel_class": "first"
},
"response": {
"format": "json"
}
}'What you can do with it
- Compare train routes between cities
- Check journey times and required changes
- Review fares before choosing a connection
- Check departure and arrival delays
- Identify service notes affecting a journey
Questions about Deutsche Bahn
Can I run it with my own inputs?
Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.
Can I call this Deutsche Bahn tool as an API?
Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.
How much does it cost?
Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.
Do I need a Deutsche Bahn account?
No. You only need a Fous account.
How current is the data?
Fous gets the data from bahn.de when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.
What train connections are available between two places?
Search train connections returns routes between the supplied origin and destination for the chosen travel date.
How long does a train journey take?
Search train connections returns travel times and connection changes.
Are there delays or service notes for a journey?
Search train connections can return delays, real-time departure and arrival details, and disruption notes; this information may be unavailable for some journeys.