---
title: "SIATA Citizen Air Sensors"
method: POST
path: "/co/siata-geoportal/citizen-sensors/v1"
tags: ["Colombia", "SIATA"]
---

# SIATA Citizen Air Sensors

`POST /co/siata-geoportal/citizen-sensors/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/co/siata-geoportal/citizen-sensors/v1`
- Auth: HTTP bearer

The citizen-science PM2.5 sensor network of the Aburrá Valley (Medellín metropolitan area), about 230 low-cost sensors: PM2.5 over the last hour, the daily air-quality index (ICA) with its category, whether each sensor is reporting, and its data recovery over 24 hours and 15 days. All inputs optional: an empty body returns every sensor; pass `latitude` + `longitude` (with optional `radius_km`, default 10) for nearby sensors nearest first, or `municipality` / `station_code` to narrow. Indicative data; use the air-quality endpoint for the reference network.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `latitude` number: Optional latitude. With `longitude`, returns only stations near that point.
  - `longitude` number: Optional longitude. With `latitude`, returns only stations near that point.
  - `radius_km` number: Radius in km around `latitude`/`longitude` to include stations. Defaults to 10.
  - `municipality` string: Optional municipality filter, e.g. `Medellín` or `Itagüí`. Accents and case are ignored.
  - `station_code` string: Optional station code, e.g. `520`. Returns only that station.

## Response `200`

Successful response

- SiataGeoportalCitizenSensorsResponse
  - `data` SiataGeoportalCitizenSensorsData, required
    - `sensors` object[], required
      - `station_code` string, nullable, required
      - `station` string, required
      - `municipality` string, nullable, required
      - `latitude` number, nullable, required
      - `longitude` number, nullable, required
      - `updated_at` string, nullable, required
      - `available` boolean, nullable, required: Whether the sensor is currently reporting.
      - `pm25_1h` number, nullable, required: PM2.5 over the last hour, in ug/m3.
      - `index_daily` number, nullable, required: Daily PM2.5 air-quality index (ICA).
      - `category` string, nullable, required
      - `data_recovery_24h_pct` number, nullable, required
      - `data_recovery_15d_pct` number, nullable, required
      - `distance_km` number, nullable, required: Great-circle distance in km from the query point; null when no location filter was applied.

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
