Développeurs

Référence de l’API

Qualité de l’air maintenant

La valeur actuelle (moyenne de la dernière mesure de chaque capteur, de 60 minutes au plus, recalculée toutes les 15 minutes) et le dernier jour complet comme dans le Data Hub, avec le niveau US EPA, les réseaux de capteurs et un lien vers la page de la ville. Elle donne aussi la météo actuelle (température, humidité, pression, vent, nébulosité, précipitations) et la météo du dernier jour complet. Une ville se trouve par son nom dans l’une des 25 langues, par slug ou identifiant, ou par coordonnées — la ville la plus proche avec une synthèse dans un rayon de 50 km. Ajoutez country= si deux villes portent le même nom.

Qualité de l’air maintenant

GEThttps://api.atmy.ai/v1/air-quality/current

Paramètres de requête

city string facultatif

Nom de la ville dans l’une des langues du site, slug (pays/ville) ou id.

country string facultatif

Nom ou slug du pays, pour distinguer des villes de même nom.

lat number facultatif

Latitude, avec lon, à la place de city : la ville la plus proche ayant un résumé dans un rayon de 50 km.

lon number facultatif

Longitude, avec lat.

lang string facultatif

Langue des noms de ville et de pays et du lien vers la page.

Par défaut: en

GET/air-quality/current?city=germany/berlin
curl "https://api.atmy.ai/v1/air-quality/current?city=germany/berlin"
200Réponse
{
  "city": {
    "id": 50037,
    "slug": "germany/berlin",
    "name": "Berlin",
    "country": "Germany",
    "timezone": "Europe/Berlin",
    "center": {
      "lat": 52.5073,
      "lon": 13.3979
    },
    "page": "https://atmy.ai/air-quality/germany/berlin/"
  },
  "now": {
    "status": "current",
    "pm25": 3.8,
    "median": 2.4,
    "min": 0,
    "max": 105.32,
    "unit": "ug/m3",
    "category": {
      "scale": "US_EPA_2024",
      "level": "good",
      "approximate": true
    },
    "sensors": 173,
    "observed": {
      "start": "2026-10-27T10:42:02.000Z",
      "end": "2026-10-27T10:53:14.000Z"
    },
    "updated_at": "2026-10-27T11:00:01.147Z",
    "method": "mean_of_latest_reading_per_sensor_at_most_60_minutes_old"
  },
  "weather": {
    "observed_at": "2026-10-27T11:07:04Z",
    "temperature_c": 14,
    "feels_like_c": 11,
    "humidity_percent": 62,
    "pressure_hpa": 1020,
    "wind_m_s": 3,
    "wind_gust_m_s": 8,
    "wind_direction_deg": 185,
    "clouds_percent": 90,
    "precipitation_mm": 0,
    "condition": "cloudy"
  },
  "completed_day": {
    "date": "2026-10-26",
    "period": "2026-10-26T00:00:00Z/2026-10-27T00:00:00Z",
    "pm25": 4.6,
    "unit": "ug/m3",
    "sensors": 176,
    "category": {
      "scale": "US_EPA_2024",
      "level": "good"
    },
    "method": "datahub_daily",
    "weather": {
      "temperature_c": 9,
      "temperature_min_c": 7.2,
      "temperature_max_c": 13.4,
      "humidity_percent": 73,
      "pressure_hpa": 1014,
      "wind_m_s": 3.2,
      "wind_gust_max_m_s": 11.2,
      "clouds_percent": 44,
      "observations": 7
    }
  },
  "attribution": "Atmy (atmy.ai), aggregated public and citizen sensor networks; approximate values, not official monitoring.",
  "weather_attribution": "Weather: OpenWeatherMap (to 2026-07-08, CC BY-SA 4.0) and Open-Meteo.com (from 2026-07-09, CC BY 4.0), collected by Atmy.",
  "sources": {
    "networks": {
      "Sensor.Community": 169,
      "AirGradient": 4
    },
    "methodology": "https://api.atmy.ai/air-quality/methodology",
    "license": "https://api.atmy.ai/legal/data",
    "city_json": "https://api.atmy.ai/api/public/v1/cities/germany/berlin/air-quality"
  }
}