{"openapi":"3.1.0","info":{"title":"Flood & River Discharge API","version":"1.0.0","description":"Global river-discharge and flood forecasting as an API, powered by the GloFAS (Global Flood Awareness System) model via Open-Meteo. For any coordinate on Earth, get a daily river-discharge forecast of up to 30 days — with the ensemble spread (mean, max and min across forecast members) so you can gauge uncertainty — plus up to 90 days of recent discharge history, and a quick current-situation summary with today's discharge and a 7-day outlook (peak day, max/min and rising/falling/stable trend). Discharge is reported in cubic metres per second. Ideal for flood early-warning and monitoring, insurance and reinsurance risk, agriculture and irrigation planning, hydropower, and environmental research. Data covers modelled rivers worldwide (none over open ocean). Open data via Open-Meteo / GloFAS.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/flood-api","description":"oanor gateway"}],"tags":[{"name":"Flood"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/forecast":{"get":{"operationId":"get_v1_forecast","tags":["Flood"],"summary":"River-discharge forecast (with ensemble)","description":"","parameters":[{"name":"lat","in":"query","required":true,"description":"Latitude (-90..90)","schema":{"type":"string"},"example":"48.2"},{"name":"lon","in":"query","required":true,"description":"Longitude (-180..180)","schema":{"type":"string"},"example":"16.4"},{"name":"days","in":"query","required":false,"description":"Forecast days (1-30, default 7)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"days":7,"unit":"m³/s","source":"GloFAS via Open-Meteo","forecast":[{"date":"2026-05-31","ensemble_max":1237.8,"ensemble_min":1232.11,"ensemble_mean":1233.5,"river_discharge":1232.11},{"date":"2026-06-01","ensemble_max":1184.77,"ensemble_min":1165.81,"ensemble_mean":1174.75,"river_discharge":1173.9},{"date":"2026-06-02","ensemble_max":1269.57,"ensemble_min":1176.61,"ensemble_mean":1226.33,"river_discharge":1226.44},{"date":"2026-06-03","ensemble_max":1478.11,"ensemble_min":1255.03,"ensemble_mean":1381.52,"river_discharge":1398.59},{"date":"2026-06-04","ensemble_max":1736.8,"ensemble_min":1308.18,"ensemble_mean":1549.86,"river_discharge":1598.56},{"date":"2026-06-05","ensemble_max":2151.78,"ensemble_min":1398.59,"ensemble_mean":1713.41,"river_discharge":1709.02},{"date":"2026-06-06","ensemble_max":2242.88,"ensemble_min":1502.14,"ensemble_mean":1799.46,"river_discharge":1728.82}],"location":{"lat":48.2,"lon":16.4}},"meta":{"timestamp":"2026-05-31T15:05:34.644Z","request_id":"8f0d4854-d146-4d30-ac87-52d8299cc179"},"status":"ok","message":"Forecast retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/history":{"get":{"operationId":"get_v1_history","tags":["Flood"],"summary":"Recent river-discharge history","description":"","parameters":[{"name":"lat","in":"query","required":true,"description":"Latitude (-90..90)","schema":{"type":"string"},"example":"48.2"},{"name":"lon","in":"query","required":true,"description":"Longitude (-180..180)","schema":{"type":"string"},"example":"16.4"},{"name":"days","in":"query","required":false,"description":"Past days (1-90, default 30)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"days":30,"unit":"m³/s","history":[{"date":"2026-05-01","river_discharge":1087.93},{"date":"2026-05-02","river_discharge":1095.48},{"date":"2026-05-03","river_discharge":1068.05},{"date":"2026-05-04","river_discharge":1029.39},{"date":"2026-05-05","river_discharge":996.7},{"date":"2026-05-06","river_discharge":978.49},{"date":"2026-05-07","river_discharge":987.55},{"date":"2026-05-08","river_discharge":1038.92},{"date":"2026-05-09","river_discharge":1087.93},{"date":"2026-05-10","river_discharge":1149.8},{"date":"2026-05-11","river_discharge":1152.45},{"date":"2026-05-12","river_discharge":1144.51},{"date":"2026-05-13","river_discharge":1217.99},{"date":"2026-05-14","river_discharge":1344.86},{"date":"2026-05-15","river_discharge":1401.81},{"date":"2026-05-16","river_discharge":1405.05},{"date":"2026-05-17","river_discharge":1488.36},{"date":"2026-05-18","river_discharge":1587.55},{"date":"2026-05-19","river_discharge":1569.36},{"date":"2026-05-20","river_discharge":1451.11},{"date":"2026-05-21","river_discharge":1320.3},{"date":"2026-05-22","river_discharge":1281.33},{"date":"2026-05-23","river_discharge":1284.29},{"date":"2026-05-24","river_discharge":1263.74},{"date":"2026-05-25","river_discharge":1201.26},{"date":"2026-05-26","river_discharge":1144.51},{"date":"2026-05-27","river_discharge":1149.8},{"date":"2026-05-28","river_discharge":1184.77},{"date":"2026-05-29","river_discharge":1246.38},{"date":"2026-05-30","river_discharge":1305.17}],"location":{"lat":48.2,"lon":16.4}},"meta":{"timestamp":"2026-05-31T15:05:34.739Z","request_id":"3c18b1fa-db33-413c-904a-7b15610c4c50"},"status":"ok","message":"History retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/point":{"get":{"operationId":"get_v1_point","tags":["Flood"],"summary":"Current discharge + 7-day outlook","description":"","parameters":[{"name":"lat","in":"query","required":true,"description":"Latitude (-90..90)","schema":{"type":"string"},"example":"48.2"},{"name":"lon","in":"query","required":true,"description":"Longitude (-180..180)","schema":{"type":"string"},"example":"16.4"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"point":{"note":"River discharge from the GloFAS hydrological model. No data over oceans or where no major river is modelled.","unit":"m³/s","location":{"lat":48.2,"lon":16.4},"outlook_7d":{"max":1728.82,"min":1173.9,"trend":"rising","peak_date":"2026-06-06"},"current_date":"2026-05-31","has_river_data":true,"current_discharge":1232.11}},"meta":{"timestamp":"2026-05-31T15:05:34.830Z","request_id":"aeca539e-9761-49cc-8864-101f892fdac2"},"status":"ok","message":"Point summary retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Source, unit & options","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Daily river discharge for any coordinate. /v1/forecast = up to 30-day discharge forecast with ensemble spread (mean/max/min); /v1/history = up to 90 days of recent discharge; /v1/point = today's discharge plus a 7-day outlook (max/min/peak/trend). Pass lat & lon. Data exists for modelled rivers only (none over open ocean).","unit":"m³/s (cubic metres per second)","source":"Open-Meteo Flood API (GloFAS — Global Flood Awareness System)","endpoints":["/v1/forecast","/v1/history","/v1/point","/v1/meta"]},"meta":{"timestamp":"2026-05-31T15:05:34.902Z","request_id":"bbe9d038-06e3-4f76-9349-7a91043abd5a"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":3630,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":435,"monthly_call_quota":48600,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1315,"monthly_call_quota":241000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3475,"monthly_call_quota":1196000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/flood-api"}