SIATA in full: ten endpoints for the Aburrá Valley

Weather, river levels with flood thresholds, rainfall, air quality with the ICA index, forecast, alerts, earthquakes and cameras for Medellín, from one source.

New endpoint

Until today the API answered for SIATA with a single endpoint: weather, rain and PM2.5 for each station in the Aburrá Valley. From today the siata-geoportal source covers everything Medellín's early-warning system publishes, in ten endpoints under /co/siata-geoportal.

EndpointWhat it returns
/co/siata-geoportal/weather/v1Temperature, humidity, wind and pressure per station, with an hourly 12-hour series and the UV index
/co/siata-geoportal/weather-series/v1One station minute by minute: temperature, humidity, wind and pressure over the last hour, or every five minutes over the last six
/co/siata-geoportal/river-levels/v1River, stream and storm-sewer levels with flood thresholds, a derived status, the source's alert colour, trailing windows and basin morphology
/co/siata-geoportal/rainfall/v1Rain accumulated over seven windows (5 minutes to 30 days), monthly totals and whether it is raining now
/co/siata-geoportal/air-quality/v1PM2.5, PM10, ozone, NO2, SO2 and CO per station, each with concentration, numeric ICA index and category
/co/siata-geoportal/citizen-sensors/v1The citizen PM2.5 sensor network, about 230 low-cost sensors
/co/siata-geoportal/forecast/v1Two-day forecast per municipality: maximum and minimum temperature and rain likelihood per part of the day
/co/siata-geoportal/alerts/v1Official notices from the early-warning system
/co/siata-geoportal/seismic-events/v1The last earthquakes recorded by accelerographs and seismographs, with magnitude, epicentre and what each station measured
/co/siata-geoportal/cameras/v1About 90 cameras with the URL of their latest snapshot

Every station endpoint takes the same optional filters: latitude and longitude with radius_km for nearby stations, nearest first, and municipality or station_code to narrow. An empty body returns the whole valley.

River levels with thresholds#

Each level station now carries the source's flood thresholds and a status derived from them, so there is no level to interpret by hand.

curl https://api.croma.run/co/siata-geoportal/river-levels/v1 \
  -H "Authorization: Bearer $CROMA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "station_code": "520"
  }'

The response includes level_m, thresholds (safe_m, caution_m, minor_flood_m, major_flood_m), status (normal, elevated, caution, minor_flood, major_flood), the highest and mean level over the last three hours and, with include_series: true, one reading per minute for those three hours.

Air quality with the ICA index#

air-quality goes from one pollutant to six, and every reading carries the concentration, the numeric ICA index and its category (Buena, Moderada, Dañina a la salud de grupos sensibles, ...), plus the pollutant driving the station's index.

What changes if you use the previous endpoint#

POST /co/siata/v1 is deprecated as of 27 August 2026 and stops answering on 1 December 2026. Until then it keeps working unchanged, and every response carries the Deprecation and Sunset headers and a Link with rel="successor-version", as the versioning policy describes.

To migrate:

  • Weather (meteorology): POST /co/siata-geoportal/weather/v1, the same per-station fields plus the 12-hour series.
  • Rain (rain): POST /co/siata-geoportal/rainfall/v1. accumulated_mm is now an object with seven windows; intensity_mm_h has no equivalent.
  • Air quality (air_quality): POST /co/siata-geoportal/air-quality/v1. pm25 and air_quality_index become pm25.concentration and pm25.index.

Responses from this source are cached for one minute. The full guide is at SIATA Geoportal and the source page at SIATA.

Start querying official records