Développeurs

Référence de l’API

Capteurs

Chaque capteur de la carte Atmy avec sa position, son réseau, son contrôle qualité et ses mesures : PM1, PM2.5, PM10, température, humidité, pression et les autres canaux de l’appareil. Sans inscription ni clé : de simples requêtes GET.

Lister les capteurs

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

Capteurs avec leur dernière mesure, leur qualité et leur note, 100 par page

Paramètres de requête

city string facultatif

Id ou slug de la ville, par exemple serbia/belgrade

country string facultatif

Slug du pays, par exemple serbia

bbox string facultatif

min_lon,min_lat,max_lon,max_lat

lat number facultatif

Capteurs autour d’un point, jusqu’à 50 km

lon number facultatif

Capteurs autour d’un point, jusqu’à 50 km

radius_km number facultatif

Capteurs autour d’un point, jusqu’à 50 km

Par défaut: 5

network string facultatif

sensor_community, airgradient ou atmy

quality string facultatif

All ou passed

Par défaut: all

min_rating number facultatif

Seulement les capteurs ayant au moins cette note, de 0 à 10

sort string facultatif

Id ou rating : les capteurs les plus fiables d’abord

Par défaut: id

page integer facultatif

Pages de 500 capteurs au plus

Par défaut: 1

limit integer facultatif

Pages de 500 capteurs au plus

Par défaut: 100

GET/sensors?city=serbia/belgrade&sort=rating&limit=10
curl "https://api.atmy.ai/v1/sensors?city=serbia/belgrade&sort=rating&limit=10"
200Réponse
{
  "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/"
}

Capteurs d’un réseau

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

La même liste pour un seul réseau, avec les mêmes filtres.

Paramètres de chemin

network string obligatoire

sensor_community, airgradient ou atmy.

Paramètres de requête

city string facultatif

Id ou slug de la ville, par exemple serbia/belgrade

country string facultatif

Slug du pays, par exemple serbia

bbox string facultatif

min_lon,min_lat,max_lon,max_lat

lat number facultatif

Capteurs autour d’un point, jusqu’à 50 km

lon number facultatif

Capteurs autour d’un point, jusqu’à 50 km

radius_km number facultatif

Capteurs autour d’un point, jusqu’à 50 km

Par défaut: 5

quality string facultatif

All ou passed

Par défaut: all

min_rating number facultatif

Seulement les capteurs ayant au moins cette note, de 0 à 10

sort string facultatif

Id ou rating : les capteurs les plus fiables d’abord

Par défaut: id

page integer facultatif

Pages de 500 capteurs au plus

Par défaut: 1

limit integer facultatif

Pages de 500 capteurs au plus

Par défaut: 100

GET/networks/atmy/sensors?sort=rating
curl "https://api.atmy.ai/v1/networks/atmy/sensors?sort=rating"
200Réponse
{
  "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/"
}

Obtenir un capteur

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

Un capteur

Paramètres de chemin

id string obligatoire

Id du capteur, comme dans la liste des capteurs.

GET/sensors/41504
curl "https://api.atmy.ai/v1/sensors/41504"
200Réponse
{
  "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/"
}