{"city":"Saint-Étienne","country":"France","lat":45.43389129638672,"lon":4.389999866485596,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-27T23:00:00Z","aqi":30,"aqi_min":16,"aqi_max":52,"pm25":7.22,"pm10":21.78,"stations":7},{"datetime_utc":"2026-05-28T00:00:00Z","aqi":71,"aqi_min":24,"aqi_max":152,"pm25":21.65,"pm10":18.31,"stations":6},{"datetime_utc":"2026-05-28T01:00:00Z","aqi":38,"aqi_min":19,"aqi_max":51,"pm25":8.98,"pm10":19.05,"stations":6},{"datetime_utc":"2026-05-28T02:00:00Z","aqi":45,"aqi_min":29,"aqi_max":59,"pm25":10.67,"pm10":16.88,"stations":5},{"datetime_utc":"2026-05-28T03:00:00Z","aqi":31,"aqi_min":31,"aqi_max":31,"pm25":7.51,"pm10":9.37,"stations":1},{"datetime_utc":"2026-05-28T04:00:00Z","aqi":50,"aqi_min":32,"aqi_max":78,"pm25":11.91,"pm10":15.83,"stations":8},{"datetime_utc":"2026-05-28T05:00:00Z","aqi":62,"aqi_min":18,"aqi_max":112,"pm25":17.14,"pm10":18.71,"stations":9},{"datetime_utc":"2026-05-28T06:00:00Z","aqi":40,"aqi_min":18,"aqi_max":56,"pm25":9.53,"pm10":18.7,"stations":6},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":55,"aqi_min":25,"aqi_max":129,"pm25":13.95,"pm10":20.98,"stations":8},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":49,"aqi_min":25,"aqi_max":68,"pm25":11.66,"pm10":25.66,"stations":8},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":40,"aqi_min":16,"aqi_max":57,"pm25":9.58,"pm10":26.6,"stations":7},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":51,"aqi_min":40,"aqi_max":65,"pm25":12.25,"pm10":26.23,"stations":7},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":55,"aqi_min":38,"aqi_max":70,"pm25":14.23,"pm10":27.82,"stations":11},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":48,"aqi_min":29,"aqi_max":60,"pm25":11.49,"pm10":29.8,"stations":10},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":42,"aqi_min":31,"aqi_max":63,"pm25":10.09,"pm10":12.99,"stations":9},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":49,"aqi_min":23,"aqi_max":66,"pm25":11.85,"pm10":9.74,"stations":6},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":48,"aqi_min":34,"aqi_max":61,"pm25":11.59,"pm10":25.75,"stations":5},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":52,"aqi_min":25,"aqi_max":63,"pm25":12.51,"pm10":28.16,"stations":8},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":54,"aqi_min":19,"aqi_max":76,"pm25":13.38,"pm10":27.82,"stations":7},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":45,"aqi_min":26,"aqi_max":57,"pm25":10.77,"pm10":28.19,"stations":7},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":56,"aqi_min":39,"aqi_max":68,"pm25":14.47,"pm10":29.95,"stations":7},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":51,"aqi_min":29,"aqi_max":63,"pm25":12.24,"pm10":11.02,"stations":10},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":58,"aqi_min":34,"aqi_max":153,"pm25":15.51,"pm10":16.47,"stations":10},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":46,"aqi_min":32,"aqi_max":65,"pm25":10.99,"pm10":10.3,"stations":9},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":40,"aqi_min":15,"aqi_max":57,"pm25":9.49,"pm10":14.38,"stations":7},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":49,"aqi_min":10,"aqi_max":76,"pm25":11.69,"pm10":15.31,"stations":5},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":45,"aqi_min":35,"aqi_max":57,"pm25":10.67,"pm10":14.87,"stations":3},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":33,"aqi_min":15,"aqi_max":57,"pm25":7.89,"pm10":16.54,"stations":6},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":55,"aqi_min":42,"aqi_max":61,"pm25":13.94,"pm10":17.42,"stations":3},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":40,"aqi_min":21,"aqi_max":58,"pm25":9.66,"pm10":27.04,"stations":6},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":42,"aqi_min":29,"aqi_max":52,"pm25":10.23,"pm10":22.33,"stations":7},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":67,"aqi_min":18,"aqi_max":153,"pm25":19.69,"pm10":22.19,"stations":11},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":43,"aqi_min":28,"aqi_max":55,"pm25":10.32,"pm10":26.66,"stations":6},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":64,"aqi_min":17,"aqi_max":153,"pm25":18.3,"pm10":31.11,"stations":11},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":38,"aqi_min":27,"aqi_max":59,"pm25":9.24,"pm10":22.95,"stations":6},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":45,"aqi_min":21,"aqi_max":59,"pm25":10.67,"pm10":31.11,"stations":4},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":32,"aqi_min":15,"aqi_max":55,"pm25":7.65,"pm10":12.42,"stations":8},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":35,"aqi_min":14,"aqi_max":53,"pm25":8.32,"pm10":14.37,"stations":12},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":38,"aqi_min":16,"aqi_max":61,"pm25":9.22,"pm10":14.07,"stations":6},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":26,"aqi_min":12,"aqi_max":34,"pm25":6.32,"pm10":7.49,"stations":5},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":24,"aqi_min":15,"aqi_max":33,"pm25":5.77,"pm10":14.76,"stations":6},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":42,"aqi_min":10,"aqi_max":55,"pm25":10.0,"pm10":14.07,"stations":5},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":41,"aqi_min":1,"aqi_max":63,"pm25":9.75,"pm10":10.26,"stations":11},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":23,"aqi_min":7,"aqi_max":39,"pm25":5.49,"pm10":13.92,"stations":2},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":28,"aqi_min":5,"aqi_max":57,"pm25":6.83,"pm10":13.47,"stations":7},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":21,"aqi_min":8,"aqi_max":39,"pm25":5.07,"pm10":11.57,"stations":10},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":45,"aqi_min":13,"aqi_max":107,"pm25":10.94,"pm10":6.35,"stations":5}],"daily":[{"date":"2026-05-27","aqi_avg":30,"aqi_min":30,"aqi_max":30,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":7.2,"pm10_avg":21.8,"hours":1,"stations_avg":7},{"date":"2026-05-28","aqi_avg":49,"aqi_min":31,"aqi_max":71,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":12.2,"pm10_avg":20.4,"hours":24,"stations_avg":7},{"date":"2026-05-29","aqi_avg":40,"aqi_min":21,"aqi_max":67,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":9.9,"pm10_avg":17.3,"hours":22,"stations_avg":7}]}