Développeurs

Référence de l’API

Historique

Les moyennes journalières d’une ville pour toute période depuis 2017 et tout son historique par mois, avec les moyennes annuelles et les records.

Historique journalier

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

Les moyennes journalières du Data Hub (UTC) : les derniers jours avec days=, ou toute période depuis 2017 avec from= et to=, 400 jours au plus par requête ; un jour avec trop peu de capteurs est absent. À partir du 2026-01-19, chaque jour comporte aussi sa météo : température moyenne, minimale et maximale, humidité, pression, vent, rafale la plus forte et nébulosité.

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.

days integer facultatif

Nombre de jours en arrière depuis le dernier jour complet ; ignoré avec from et to.

Par défaut: 30

from date facultatif

Premier jour (UTC), 2017-01-01 ou après.

to date facultatif

Dernier jour (UTC) ; par défaut le dernier jour complet. Au plus 400 jours par requête.

lang string facultatif

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

Par défaut: en

GET/air-quality/history?city=germany/berlin&days=30
curl "https://api.atmy.ai/v1/air-quality/history?city=germany/berlin&days=30"
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/"
  },
  "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."
}

Historique mensuel

GEThttps://api.atmy.ai/v1/air-quality/history/monthly

Tout l’historique des mesures d’une ville par mois : moyennes annuelles (années complètes signalées), mois et jours les plus pollués et les plus propres. Les valeurs fondées sur les moyennes journalières du réseau de capteurs lui-même sont signalées. À partir de janvier 2026, chaque mois comporte aussi sa météo.

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.

lang string facultatif

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

Par défaut: en

GET/air-quality/history/monthly?city=germany/berlin
curl "https://api.atmy.ai/v1/air-quality/history/monthly?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/"
  },
  "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."
}