Releases / Germany
BfG 4-day Rhine water-level forecast for Kaub, Duisburg-Ruhrort and Emmerich (WSV PEGELONLINE, forecast layer) release schedule and API
WSV. Source: Bundesanstalt für Gewässerkunde (BfG) water-level forecast, via WSV PEGELONLINE. Licence: dl-de-zero-2.0.
Next releases
| Release | UTC | Agency local time |
|---|---|---|
| Rhine water-level forecast (BfG) | 09:00 local (UTC+01:00) | |
| Rhine water-level forecast (BfG) | 09:00 local (UTC+01:00) | |
| Rhine water-level forecast (BfG) | 09:00 local (UTC+01:00) | |
| Rhine water-level forecast (BfG) | 09:00 local (UTC+01:00) | |
| Rhine water-level forecast (BfG) | 09:00 local (UTC+01:00) | |
| Rhine water-level forecast (BfG) | 09:00 local (UTC+01:00) |
From the agency's own calendar, as of 2026-11-13. Reschedules and cancellations are in the API.
How fast it reaches the API
No live release measured in the last 30 days yet.
Time from the agency publishing to the data being on our feed, for releases caught live in the last 30 days. Every release counts, including slow ones and misses.
Get it by API
Series ids: DE.FORECAST.BFG.RHINE_LEVEL.KAUB.NSA.
# pip install econfeed-client
from econfeed_client import Client
ef = Client() # ECONFEED_API_KEY from the environment
for e in ef.calendar(days=90, source="de_wsv_pegel_forecast"):
print(e.scheduled_at, e.release_name, e.reference_period)
# add as_of= for what was known then
page = ef.observations("DE.FORECAST.BFG.RHINE_LEVEL.KAUB.NSA", start="2024-01")
# pushed seconds after release
for ev in ef.stream(sources=["de_wsv_pegel_forecast"]):
print(ev.type, ev.data.release_id)REST: GET /v1/calendar?source=de_wsv_pegel_forecast, GET /v1/series/DE.FORECAST.BFG.RHINE_LEVEL.KAUB.NSA/observations. Webhooks: filter on source de_wsv_pegel_forecast.