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
curl "https://api.atmy.ai/v1/air-quality/current?city=germany/berlin"const response = await fetch("https://api.atmy.ai/v1/air-quality/current?city=germany/berlin");
const data = await response.json();import requests
data = requests.get("https://api.atmy.ai/v1/air-quality/current?city=germany/berlin").json(){
"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"
}
}