{"city":"Le Puy-en-Velay","country":"France","lat":45.04365921020508,"lon":3.88523006439209,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-28T04:00:00Z","aqi":23,"aqi_min":8,"aqi_max":38,"pm25":5.58,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T05:00:00Z","aqi":29,"aqi_min":16,"aqi_max":56,"pm25":6.98,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T06:00:00Z","aqi":36,"aqi_min":6,"aqi_max":56,"pm25":8.6,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":63,"aqi_min":44,"aqi_max":82,"pm25":17.59,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":33,"aqi_min":2,"aqi_max":53,"pm25":7.94,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":23,"aqi_min":18,"aqi_max":26,"pm25":5.6,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":44,"aqi_min":41,"aqi_max":46,"pm25":10.46,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":38,"aqi_min":19,"aqi_max":54,"pm25":9.04,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":40,"aqi_min":30,"aqi_max":52,"pm25":9.56,"pm10":null,"stations":8},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":40,"aqi_min":32,"aqi_max":51,"pm25":9.61,"pm10":null,"stations":7},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":38,"aqi_min":30,"aqi_max":50,"pm25":9.2,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":41,"aqi_min":37,"aqi_max":51,"pm25":9.91,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":25,"aqi_min":15,"aqi_max":36,"pm25":6.12,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":42,"aqi_min":30,"aqi_max":53,"pm25":10.24,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":34,"aqi_min":17,"aqi_max":48,"pm25":8.21,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":45,"aqi_min":14,"aqi_max":86,"pm25":10.72,"pm10":null,"stations":7},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":52,"aqi_min":30,"aqi_max":65,"pm25":12.41,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":38,"aqi_min":1,"aqi_max":62,"pm25":9.03,"pm10":null,"stations":7},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":34,"aqi_min":7,"aqi_max":55,"pm25":8.15,"pm10":null,"stations":9},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":43,"aqi_min":25,"aqi_max":56,"pm25":10.28,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":13,"aqi_min":9,"aqi_max":17,"pm25":3.12,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":28,"aqi_min":6,"aqi_max":48,"pm25":6.56,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":34,"aqi_min":15,"aqi_max":47,"pm25":8.08,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":18,"aqi_min":5,"aqi_max":25,"pm25":4.4,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":56,"aqi_min":13,"aqi_max":156,"pm25":14.32,"pm10":null,"stations":10},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":93,"aqi_min":12,"aqi_max":166,"pm25":31.86,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":25,"aqi_min":9,"aqi_max":43,"pm25":5.94,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":42,"aqi_min":23,"aqi_max":61,"pm25":10.03,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":30,"aqi_min":9,"aqi_max":61,"pm25":7.13,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":37,"aqi_min":2,"aqi_max":65,"pm25":8.89,"pm10":null,"stations":8},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":38,"aqi_min":26,"aqi_max":49,"pm25":9.0,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":35,"aqi_min":9,"aqi_max":51,"pm25":8.42,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":35,"aqi_min":1,"aqi_max":53,"pm25":8.26,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":27,"aqi_min":7,"aqi_max":48,"pm25":6.48,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":51,"aqi_min":29,"aqi_max":58,"pm25":12.13,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":43,"aqi_min":16,"aqi_max":61,"pm25":10.29,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":56,"aqi_min":26,"aqi_max":107,"pm25":14.4,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":47,"aqi_min":22,"aqi_max":60,"pm25":11.34,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":30,"aqi_min":14,"aqi_max":50,"pm25":7.12,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":40,"aqi_min":26,"aqi_max":49,"pm25":9.53,"pm10":null,"stations":7},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":33,"aqi_min":14,"aqi_max":60,"pm25":7.94,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T22:00:00Z","aqi":43,"aqi_min":6,"aqi_max":76,"pm25":10.36,"pm10":null,"stations":7},{"datetime_utc":"2026-05-29T23:00:00Z","aqi":31,"aqi_min":13,"aqi_max":63,"pm25":7.45,"pm10":null,"stations":5},{"datetime_utc":"2026-05-30T00:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-30T01:00:00Z","aqi":38,"aqi_min":23,"aqi_max":62,"pm25":9.21,"pm10":null,"stations":6},{"datetime_utc":"2026-05-30T02:00:00Z","aqi":27,"aqi_min":19,"aqi_max":45,"pm25":6.38,"pm10":null,"stations":5}],"daily":[{"date":"2026-05-28","aqi_avg":38,"aqi_min":23,"aqi_max":63,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":9.2,"pm10_avg":null,"hours":19,"stations_avg":5},{"date":"2026-05-29","aqi_avg":39,"aqi_min":13,"aqi_max":93,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":9.7,"pm10_avg":null,"hours":24,"stations_avg":5},{"date":"2026-05-30","aqi_avg":38,"aqi_min":27,"aqi_max":50,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":9.2,"pm10_avg":null,"hours":3,"stations_avg":4}]}