Niveles y caudal de ríos en una sola API

Cada país publica sus estaciones de aforo en su propio formato, con sus propios ids, unidades y horas de actualización. Esta API los lee y te da una única forma para todos: el último nivel de agua y caudal, el cambio en un día, el estado de alerta cuando un país lo publica y hasta 30 días de historial.

Dónde cubre

Unas 22 000 estaciones que informan en Alemania (vías navegables federales y Renania del Norte-Westfalia), Francia, Inglaterra, Escocia, los Países Bajos, Flandes, Luxemburgo, Chequia, Irlanda, Suiza, Suecia, Finlandia, Canadá y EE. UU., y en Cataluña, la cuenca del Guadalquivir, Lombardía, el Véneto, Emilia-Romaña y el Tirol del Sur. Los niveles se actualizan tan a menudo como los publica cada país, desde cada 15 minutos hasta una vez al día. Suecia publica solo el caudal.

Estaciones cerca de un punto

curl "https://geo.runningcat.dev/v1/rivers?lon=6.869&lat=45.924&radiusKm=10&limit=5" \
  -H "Authorization: Bearer YOUR_KEY"
{
  "gauges": [
    { "id": "hubeau:V000201201", "name": "L'Arve à Chamonix-Mont-Blanc [Pont de l'Aiguille] - Station amont",
      "river": "L'Arve", "lon": 6.86815, "lat": 45.9199, "distanceKm": 0.46,
      "time": "2026-11-07T17:30:00.000Z", "levelCm": 13, "change24hCm": null,
      "dischargeM3s": 2.85, "warningCm": null, "alarmCm": null, "state": null }
  ]
}
levelCm
Nivel de agua en cm sobre el cero propio de la estación (en los Países Bajos sobre el NAP, en Suiza sobre el nivel del mar), así que compáralo con el historial de la misma estación
dischargeM3s
Caudal en m³/s, donde la estación lo mide
change24hCm
Cuánto cambió el nivel en aproximadamente un día
state
normal, warning o alarm donde el país publica umbrales; en otro caso null

En un recuadro, a lo largo de una ruta, en el tiempo

  • GET /v1/rivers?bbox=west,south,east,north lista hasta 1000 estaciones en un recuadro de hasta 16 grados cuadrados, para una capa de mapa.
  • POST /v1/route/rivers con una ruta GeoJSON devuelve las estaciones a una distancia de entre 0,1 y 20 km, para piragüismo, rafting o un recorrido a lo largo de un río.
  • GET /v1/rivers/{id}/history?days=30 devuelve las lecturas de una estación de hasta 30 días.

Por qué una API en lugar de una docena

Cada servicio tiene su propia forma de listar estaciones, paginar lecturas y nombrar el río; algunos responden en milímetros o litros por segundo, otros en hora local sin desfase. Aquí cada estación tiene los mismos campos, un id que nombra su fuente y horas en UTC, y la misma clave da el tiempo, la calidad del aire y los datos de mapas de su entorno.

Precio

Cada petición cuenta como una. El plan gratuito da 500 peticiones al día, también para aplicaciones comerciales; Developer cuesta 14,99 $ al mes por 5000 al día.

Créditos: WSV PEGELONLINE (Alemania, DL-DE Zero 2.0); LANUK Renania del Norte-Westfalia (DL-DE Zero 2.0); Hub'Eau / eaufrance (Francia, Licence Ouverte 2.0); Environment Agency (Inglaterra) y SEPA (Escocia), con información del sector público con licencia Open Government Licence v3.0; Rijkswaterstaat (Países Bajos); Vlaamse Milieumaatschappij, waterinfo.be (Flandes); Administration de la gestion de l'eau (Luxemburgo, CC0); FOEN / BAFU (Suiza); SMHI (Suecia, CC BY 4.0); Syke, Instituto Finlandés del Medio Ambiente (Finlandia, CC BY 4.0); Environment and Climate Change Canada; U.S. Geological Survey (EE. UU., dominio público); Instituto Hidrometeorológico Checo (CC BY 4.0); Office of Public Works, Irlanda, waterlevel.ie (CC BY 4.0); Agència Catalana de l'Aigua (Cataluña); Provincia Autónoma de Bolzano – Tirol del Sur (CC0); ARPA Lombardia (CC0); Arpae Emilia-Romagna (CC BY 4.0); ARPAV, Véneto (CC BY 4.0); Confederación Hidrográfica del Guadalquivir (SAIH) con ubicaciones de estaciones de MITECO (CC BY 4.0).

El plan gratuito incluye 500 solicitudes al día, también para apps comerciales. Crea una cuenta con Google o con tu correo y genera tus claves al instante.