Desenvolvedores

Referência da API

Sensores

Cada sensor do mapa da Atmy com localização, rede, verificação de qualidade e leituras: PM1, PM2.5, PM10, temperatura, umidade, pressão e os demais canais do dispositivo. Sem cadastro e sem chave: solicitações GET comuns.

Listar sensores

GEThttps://api.atmy.ai/v1/sensors

Sensores com a última leitura, a qualidade e a nota, 100 por página

Parâmetros de consulta

city string opcional

Id ou slug da cidade, por exemplo serbia/belgrade

country string opcional

Slug do país, por exemplo serbia

bbox string opcional

min_lon,min_lat,max_lon,max_lat

lat number opcional

Sensores ao redor de um ponto, até 50 km

lon number opcional

Sensores ao redor de um ponto, até 50 km

radius_km number opcional

Sensores ao redor de um ponto, até 50 km

Padrão: 5

network string opcional

sensor_community, airgradient ou atmy

quality string opcional

All ou passed

Padrão: all

min_rating number opcional

Só sensores com pelo menos esta nota, de 0 a 10

sort string opcional

Id ou rating: os sensores mais confiáveis primeiro

Padrão: id

page integer opcional

Páginas de até 500 sensores

Padrão: 1

limit integer opcional

Páginas de até 500 sensores

Padrão: 100

GET/sensors?city=serbia/belgrade&sort=rating&limit=10
curl "https://api.atmy.ai/v1/sensors?city=serbia/belgrade&sort=rating&limit=10"
200Resposta
{
  "api_version": "2.0",
  "total": 31,
  "page": 1,
  "limit": 2,
  "sensors": [
    {
      "id": 41504,
      "uuid": "b4e7f10c-bd0b-4234-aff9-41d9222affd0",
      "name": "Belgrade BIG Fashion Park",
      "network": "AirGradient",
      "network_id": "airgradient",
      "license": "CC BY-SA 4.0",
      "location": {
        "lat": 44.81659101498,
        "lon": 20.511912304712
      },
      "city": {
        "id": 50068,
        "slug": "serbia/belgrade",
        "name": "Belgrade",
        "country": "Serbia"
      },
      "quality": {
        "status": "good",
        "date": "2026-10-26",
        "pm_eligible": true,
        "rating": 10,
        "rating_7d": 10,
        "scores": {
          "pm": 10,
          "transport": 10,
          "meteo": 10
        },
        "reasons": []
      },
      "latest": {
        "time": "2026-10-27T11:03:35+00:00",
        "pm1": 8.4,
        "pm25": 13.8,
        "pm10": 14.5,
        "temperature_c": 14.4,
        "humidity_percent": 47
      }
    },
    {
      "id": 41752,
      "uuid": "611c7e92-5462-4f8c-8766-7cfaf69fba84",
      "name": "for map",
      "network": "AirGradient",
      "network_id": "airgradient",
      "license": "CC BY-SA 4.0",
      "location": {
        "lat": 44.790233610673,
        "lon": 20.470308143789
      },
      "city": {
        "id": 50068,
        "slug": "serbia/belgrade",
        "name": "Belgrade",
        "country": "Serbia"
      },
      "quality": {
        "status": "good",
        "date": "2026-10-26",
        "pm_eligible": true,
        "rating": 10,
        "rating_7d": 10,
        "scores": {
          "pm": 10,
          "transport": 10,
          "meteo": 10
        },
        "reasons": []
      },
      "latest": {
        "time": "2026-10-27T11:03:34+00:00",
        "pm1": 3,
        "pm25": 6,
        "pm10": 7,
        "temperature_c": 17.7,
        "humidity_percent": 40,
        "tvoc": 117.4
      }
    }
  ],
  "attribution": "Sensor data: Atmy (atmy.ai), from the networks named in each sensor's \"network\", under that network's license.",
  "terms": "https://atmy.ai/legal/data/"
}

Sensores de uma rede

GEThttps://api.atmy.ai/v1/networks/{network}/sensors

A mesma lista só para uma rede, com os mesmos filtros.

Parâmetros de caminho

network string obrigatório

sensor_community, airgradient ou atmy.

Parâmetros de consulta

city string opcional

Id ou slug da cidade, por exemplo serbia/belgrade

country string opcional

Slug do país, por exemplo serbia

bbox string opcional

min_lon,min_lat,max_lon,max_lat

lat number opcional

Sensores ao redor de um ponto, até 50 km

lon number opcional

Sensores ao redor de um ponto, até 50 km

radius_km number opcional

Sensores ao redor de um ponto, até 50 km

Padrão: 5

quality string opcional

All ou passed

Padrão: all

min_rating number opcional

Só sensores com pelo menos esta nota, de 0 a 10

sort string opcional

Id ou rating: os sensores mais confiáveis primeiro

Padrão: id

page integer opcional

Páginas de até 500 sensores

Padrão: 1

limit integer opcional

Páginas de até 500 sensores

Padrão: 100

GET/networks/atmy/sensors?sort=rating
curl "https://api.atmy.ai/v1/networks/atmy/sensors?sort=rating"
200Resposta
{
  "api_version": "2.0",
  "total": 31,
  "page": 1,
  "limit": 2,
  "sensors": [
    {
      "id": 41504,
      "uuid": "b4e7f10c-bd0b-4234-aff9-41d9222affd0",
      "name": "Belgrade BIG Fashion Park",
      "network": "AirGradient",
      "network_id": "airgradient",
      "license": "CC BY-SA 4.0",
      "location": {
        "lat": 44.81659101498,
        "lon": 20.511912304712
      },
      "city": {
        "id": 50068,
        "slug": "serbia/belgrade",
        "name": "Belgrade",
        "country": "Serbia"
      },
      "quality": {
        "status": "good",
        "date": "2026-10-26",
        "pm_eligible": true,
        "rating": 10,
        "rating_7d": 10,
        "scores": {
          "pm": 10,
          "transport": 10,
          "meteo": 10
        },
        "reasons": []
      },
      "latest": {
        "time": "2026-10-27T11:03:35+00:00",
        "pm1": 8.4,
        "pm25": 13.8,
        "pm10": 14.5,
        "temperature_c": 14.4,
        "humidity_percent": 47
      }
    },
    {
      "id": 41752,
      "uuid": "611c7e92-5462-4f8c-8766-7cfaf69fba84",
      "name": "for map",
      "network": "AirGradient",
      "network_id": "airgradient",
      "license": "CC BY-SA 4.0",
      "location": {
        "lat": 44.790233610673,
        "lon": 20.470308143789
      },
      "city": {
        "id": 50068,
        "slug": "serbia/belgrade",
        "name": "Belgrade",
        "country": "Serbia"
      },
      "quality": {
        "status": "good",
        "date": "2026-10-26",
        "pm_eligible": true,
        "rating": 10,
        "rating_7d": 10,
        "scores": {
          "pm": 10,
          "transport": 10,
          "meteo": 10
        },
        "reasons": []
      },
      "latest": {
        "time": "2026-10-27T11:03:34+00:00",
        "pm1": 3,
        "pm25": 6,
        "pm10": 7,
        "temperature_c": 17.7,
        "humidity_percent": 40,
        "tvoc": 117.4
      }
    }
  ],
  "attribution": "Sensor data: Atmy (atmy.ai), from the networks named in each sensor's \"network\", under that network's license.",
  "terms": "https://atmy.ai/legal/data/"
}

Obter um sensor

GEThttps://api.atmy.ai/v1/sensors/{id}

Um sensor

Parâmetros de caminho

id string obrigatório

Id do sensor, como na lista de sensores.

GET/sensors/41504
curl "https://api.atmy.ai/v1/sensors/41504"
200Resposta
{
  "api_version": "2.0",
  "sensor": {
    "id": 41504,
    "uuid": "b4e7f10c-bd0b-4234-aff9-41d9222affd0",
    "name": "Belgrade BIG Fashion Park",
    "network": "AirGradient",
    "network_id": "airgradient",
    "license": "CC BY-SA 4.0",
    "location": {
      "lat": 44.81659101498,
      "lon": 20.511912304712
    },
    "city": {
      "id": 50068,
      "slug": "serbia/belgrade",
      "name": "Belgrade",
      "country": "Serbia"
    },
    "quality": {
      "status": "good",
      "date": "2026-10-26",
      "pm_eligible": true,
      "rating": 10,
      "rating_7d": 10,
      "scores": {
        "pm": 10,
        "transport": 10,
        "meteo": 10
      },
      "reasons": []
    },
    "latest": {
      "time": "2026-10-27T11:03:35+00:00",
      "pm1": 8.4,
      "pm25": 13.8,
      "pm10": 14.5,
      "temperature_c": 14.4,
      "humidity_percent": 47
    }
  },
  "attribution": "Sensor data: Atmy (atmy.ai), from the networks named in each sensor's \"network\", under that network's license.",
  "terms": "https://atmy.ai/legal/data/"
}