Referencia de la API
Calidad del aire ahora
El valor actual (media de la última lectura de cada sensor, de 60 minutos como máximo, recalculada cada 15 minutos) y el último día completo como en el Data Hub, con el nivel US EPA, las redes de sensores y un enlace a la página de la ciudad. También da el tiempo actual (temperatura, humedad, presión, viento, nubosidad, precipitación) y el tiempo del último día completo. La ciudad se busca por su nombre en cualquiera de los 25 idiomas, por slug o id, o por coordenadas: la ciudad más cercana con resumen en un radio de 50 km. Añade country= si dos ciudades se llaman igual.
Calidad del aire ahora
GEThttps://api.atmy.ai/v1/air-quality/current
Parámetros de consulta
city string opcional
Nombre de la ciudad en cualquiera de los idiomas del sitio, slug (país/ciudad) o id.
country string opcional
Nombre o slug del país, para distinguir ciudades con el mismo nombre.
lat number opcional
Latitud, con lon, en lugar de city: la ciudad más cercana con resumen en un radio de 50 km.
lon number opcional
Longitud, con lat.
lang string opcional
Idioma de los nombres de ciudad y país y del enlace a la página.
Por defecto: 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"
}
}