API arayışı
Tarixçə
Şəhərin 2017-ci ildən istənilən dövr üzrə gündəlik ortalamaları və illik ortalamalar və rekordlarla aylar üzrə bütün tarixçəsi.
Gündəlik tarixçə
GEThttps://api.atmy.ai/v1/air-quality/history
Data Hub gündəlik ortaları (UTC): days= ilə son günlər və ya from= və to= ilə 2017-ci ildən bəri istənilən dövr, hər sorğuda ən çox 400 gün; sensorları çox az olan gün çatışmır. 2026-01-19-dan hər gün öz havasını da daşıyır: orta, ən aşağı və ən yüksək temperatur, rütubət, təzyiq, külək, ən güclü külək zərbəsi və buludluluq.
Sorğu parametrləri
city string ixtiyari
Saytın istənilən dilində şəhər adı, slug (ölkə/şəhər) və ya id.
country string ixtiyari
Eyni adlı şəhərləri ayırmaq üçün ölkənin adı və ya slug-ı.
days integer ixtiyari
Son tam gündən neçə gün geriyə; from və to olduqda nəzərə alınmır.
Defolt: 30
from date ixtiyari
İlk gün (UTC), 2017-01-01 və ya sonra.
to date ixtiyari
Son gün (UTC); defolt olaraq son tam gün. Sorğuda ən çox 400 gün.
lang string ixtiyari
Şəhər və ölkə adlarının və səhifə keçidinin dili.
Defolt: en
curl "https://api.atmy.ai/v1/air-quality/history?city=germany/berlin&days=30"const response = await fetch("https://api.atmy.ai/v1/air-quality/history?city=germany/berlin&days=30");
const data = await response.json();import requests
data = requests.get("https://api.atmy.ai/v1/air-quality/history?city=germany/berlin&days=30").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/"
},
"unit": "ug/m3",
"method": "datahub_daily",
"period_timezone": "UTC",
"category_scale": "US_EPA_2024",
"from": "2026-10-24",
"to": "2026-10-26",
"available_since": "2017-01-01",
"days": [
{
"date": "2026-10-24",
"pm25": 3.4,
"sensors": 172,
"level": "good",
"weather": {
"temperature_c": 10.1,
"temperature_min_c": 6.7,
"temperature_max_c": 14.7,
"humidity_percent": 71,
"pressure_hpa": 1010,
"wind_m_s": 4.3,
"wind_gust_max_m_s": 12.7,
"clouds_percent": 83,
"observations": 7
}
},
{
"date": "2026-10-25",
"pm25": 3.9,
"sensors": 174,
"level": "good",
"weather": {
"temperature_c": 9.8,
"temperature_min_c": 7.2,
"temperature_max_c": 14.6,
"humidity_percent": 72,
"pressure_hpa": 1002,
"wind_m_s": 5,
"wind_gust_max_m_s": 14.7,
"clouds_percent": 86,
"observations": 7
}
},
{
"date": "2026-10-26",
"pm25": 4.6,
"sensors": 176,
"level": "good",
"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
}
}
],
"weather_since": "2026-01-19",
"weather_notes": "weather: means of the readings Atmy stored for the city on the UTC day (observations: how many); temperature_min_c and temperature_max_c are the lowest and highest the provider reported for the day; wind_gust_max_m_s the strongest gust. No precipitation sum: the readings are instants.",
"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."
}Aylıq tarixçə
GEThttps://api.atmy.ai/v1/air-quality/history/monthly
Şəhərin bütün ölçmə tarixçəsi aylar üzrə: illik ortalar (tam illər qeyd olunub), ən çirkli və ən təmiz aylar və günlər. Sensor şəbəkəsinin öz gündəlik ortalarına əsaslanan dəyərlər qeyd olunur. 2026-cı ilin yanvarından hər ay öz havasını da daşıyır.
Sorğu parametrləri
city string ixtiyari
Saytın istənilən dilində şəhər adı, slug (ölkə/şəhər) və ya id.
country string ixtiyari
Eyni adlı şəhərləri ayırmaq üçün ölkənin adı və ya slug-ı.
lang string ixtiyari
Şəhər və ölkə adlarının və səhifə keçidinin dili.
Defolt: en
curl "https://api.atmy.ai/v1/air-quality/history/monthly?city=germany/berlin"const response = await fetch("https://api.atmy.ai/v1/air-quality/history/monthly?city=germany/berlin");
const data = await response.json();import requests
data = requests.get("https://api.atmy.ai/v1/air-quality/history/monthly?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/"
},
"unit": "ug/m3",
"method": "datahub_monthly",
"period_timezone": "UTC",
"notes": "A month is the mean of its sensors; a sensor is the mean of its quality-checked days. Yearly means use months with data on at least half of their days; only complete years (12 months) compare as a whole. The number of sensors grew over the years, so comparisons are approximate. source_daily_days / source_daily_sensors: values that include the daily means of the sensor network itself where no hourly readings were kept. weather: means of the readings Atmy stored for the city in the month, its lowest and highest temperature.",
"since": "2025-01",
"months": [
{
"month": "2025-01",
"pm25": 8.1,
"sensors": 174,
"days_with_data": 30,
"days": 31
},
{
"month": "2025-02",
"pm25": 14.5,
"sensors": 175,
"days_with_data": 28,
"days": 28
}
],
"years": [
{
"year": "2025",
"pm25": 9,
"months": 12,
"complete": true
},
{
"year": "2026",
"pm25": 8.7,
"months": 10,
"complete": false
}
],
"dirtiest_months": [
{
"month": "2026-01",
"pm25": 18.3,
"sensors": 191,
"days_with_data": 31,
"days": 31
},
{
"month": "2026-02",
"pm25": 15.8,
"sensors": 193,
"days_with_data": 28,
"days": 28
}
],
"cleanest_months": [
{
"month": "2026-09",
"pm25": 4.5,
"sensors": 205,
"days_with_data": 30,
"days": 30
},
{
"month": "2026-06",
"pm25": 5.1,
"sensors": 195,
"days_with_data": 30,
"days": 30
}
],
"dirtiest_days": [
{
"date": "2026-01-23",
"pm25": 40.3,
"sensors": 183
},
{
"date": "2025-02-13",
"pm25": 35.5,
"sensors": 162
}
],
"cleanest_days": [
{
"date": "2025-04-06",
"pm25": 1.7,
"sensors": 173
},
{
"date": "2025-04-07",
"pm25": 1.7,
"sensors": 170
}
],
"weather_since": "2026-01-19",
"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."
}