Open-Meteo Flood

Weather API · Works globally · River discharge forecasts · Open-Meteo free tier

TL;DR

Open-Meteo's Flood API provides daily river discharge forecasts for any global river location using the GloFAS (Global Flood Awareness System) dataset from ECMWF/Copernicus. Given a latitude/longitude, it returns river discharge in cubic meters per second (m³/s) for the next 30 days. This data is essential for flood prediction, hydropower planning, and water resource management. Like all Open-Meteo APIs, it is completely free with no rate limiting.

Quick start: https://flood-api.open-meteo.com/v1/flood?latitude=50&longitude=10&daily=river_discharge

No API key needed — just make a request!

How to Use This API

1. River Discharge Forecast

https://flood-api.open-meteo.com/v1/flood?latitude=50&longitude=10&daily=river_discharge

2. Multiple Variables

https://flood-api.open-meteo.com/v1/flood?latitude=48.85&longitude=2.35&daily=river_discharge,soil_moisture&timezone=Europe/Paris

3. JavaScript — Daily Discharge

fetch('https://flood-api.open-meteo.com/v1/flood?latitude=51.50&longitude=-0.12&daily=river_discharge')
  .then(r => r.json())
  .then(d => {
    const daily = d.daily;
    daily.time.forEach((t, i) => {
      console.log(t, '—', daily.river_discharge[i], 'm³/s');
    });
  });

4. Python — 30-Day Forecast

import requests

resp = requests.get('https://flood-api.open-meteo.com/v1/flood', params={
    'latitude': 35.68, 'longitude': 139.69,
    'daily': 'river_discharge',
    'timezone': 'Asia/Tokyo'
})
d = resp.json()['daily']
for i, date in enumerate(d['time']):
    print(f"{date}: {d['river_discharge'][i]:.1f} m³/s")
Try it: https://flood-api.open-meteo.com/v1/flood?latitude=50&longitude=10&daily=river_discharge

Frequently Asked Questions

What data source powers this API?
The Global Flood Awareness System (GloFAS) from ECMWF and Copernicus, providing global river discharge forecasts.
How many days of forecast are available?
30-day daily river discharge forecasts are available for any location with a river channel in the GloFAS model.
What does river discharge mean?
River discharge is the volume of water flowing through a river cross-section per second, measured in cubic meters per second (m³/s).
Can I use this for flood alerts?
Yes. Compare forecast discharge against historical thresholds. Values significantly above average indicate potential flood conditions.
What other variables are available?
Currently river_discharge and soil_moisture are the primary daily variables.

What You Can Build