GET /api/v1/live/{city}/transit/departures
Live public-transit departures per stop with delay (GTFS-RT, Tier B)
Returns a stop's live departures with current delay from the GTFS-RT feed (gtfs.de or Mobilithek-DELFI, CC-BY-SA = Tier B) in the live envelope (meta with as_of and refresh_seconds=45, the poller cadence). The request path reads ONLY from Redis: a background poller parses the feed once per cadence, so no 68 MB feed is parsed per request. Toggle off -> 200 source_status="disabled"; no update in Redis -> 200 source_status="no_data"; invalid stop_id -> 400. Live data only, kept in the Redis cache (Tier B).
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
city | path | yes | string | |
stop_id | query | yes | string | DELFI stop ID in the pattern de:<AGS>:<id> (checked against an allowlist). |
Code samples
curl "https://infranode.dev/api/v1/live/example/transit/departures?stop_id=example"const res = await fetch("https://infranode.dev/api/v1/live/example/transit/departures?stop_id=example");
const data = await res.json();
console.log(data);import httpx
res = httpx.get("https://infranode.dev/api/v1/live/example/transit/departures?stop_id=example")
res.raise_for_status()
print(res.json()) Try it
No live console is available for this endpoint. It is an operational or demo operation (for example a forced error or key mint) and is only documented here. Use the code samples above to call it directly.