{"city":"Roanne","country":"France","lat":46.03623962402344,"lon":4.068019866943359,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-28T00:00:00Z","aqi":23,"aqi_min":22,"aqi_max":24,"pm25":5.56,"pm10":7.73,"stations":2},{"datetime_utc":"2026-05-28T01:00:00Z","aqi":20,"aqi_min":8,"aqi_max":31,"pm25":4.68,"pm10":9.2,"stations":2},{"datetime_utc":"2026-05-28T02:00:00Z","aqi":29,"aqi_min":29,"aqi_max":29,"pm25":6.91,"pm10":7.75,"stations":1},{"datetime_utc":"2026-05-28T03:00:00Z","aqi":24,"aqi_min":16,"aqi_max":31,"pm25":5.7,"pm10":9.37,"stations":3},{"datetime_utc":"2026-05-28T04:00:00Z","aqi":32,"aqi_min":32,"aqi_max":32,"pm25":7.57,"pm10":8.71,"stations":1},{"datetime_utc":"2026-05-28T05:00:00Z","aqi":33,"aqi_min":31,"aqi_max":36,"pm25":8.02,"pm10":8.52,"stations":2},{"datetime_utc":"2026-05-28T06:00:00Z","aqi":36,"aqi_min":28,"aqi_max":43,"pm25":8.68,"pm10":8.51,"stations":3},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":33,"aqi_min":20,"aqi_max":57,"pm25":8.03,"pm10":6.85,"stations":4},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":48,"aqi_min":31,"aqi_max":61,"pm25":11.49,"pm10":9.18,"stations":3},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":42,"aqi_min":32,"aqi_max":50,"pm25":10.07,"pm10":12.11,"stations":3},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":49,"aqi_min":49,"aqi_max":49,"pm25":11.82,"pm10":13.3,"stations":1},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":43,"aqi_min":34,"aqi_max":52,"pm25":10.28,"pm10":13.07,"stations":2},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":34,"aqi_min":28,"aqi_max":38,"pm25":8.09,"pm10":10.0,"stations":3},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":30,"aqi_min":25,"aqi_max":35,"pm25":7.32,"pm10":10.69,"stations":3},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":34,"aqi_min":34,"aqi_max":34,"pm25":8.25,"pm10":9.74,"stations":1},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":38,"aqi_min":31,"aqi_max":48,"pm25":9.01,"pm10":9.44,"stations":3},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":25,"aqi_min":25,"aqi_max":25,"pm25":5.97,"pm10":6.72,"stations":1},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":32,"aqi_min":19,"aqi_max":44,"pm25":7.57,"pm10":6.05,"stations":2},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":27,"aqi_min":26,"aqi_max":28,"pm25":6.47,"pm10":6.78,"stations":2},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":39,"aqi_min":35,"aqi_max":42,"pm25":9.28,"pm10":10.3,"stations":3},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":35,"aqi_min":35,"aqi_max":35,"pm25":8.54,"pm10":9.65,"stations":1},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":40,"aqi_min":25,"aqi_max":55,"pm25":9.71,"pm10":10.0,"stations":3},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":42,"aqi_min":39,"aqi_max":43,"pm25":9.95,"pm10":11.4,"stations":3},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":51,"aqi_min":37,"aqi_max":65,"pm25":12.34,"pm10":10.05,"stations":3},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":34,"aqi_min":28,"aqi_max":40,"pm25":8.18,"pm10":11.14,"stations":2},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":35,"aqi_min":35,"aqi_max":35,"pm25":8.51,"pm10":9.32,"stations":1},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":53,"aqi_min":40,"aqi_max":60,"pm25":12.97,"pm10":10.18,"stations":2},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":55,"aqi_min":35,"aqi_max":76,"pm25":14.12,"pm10":10.54,"stations":3},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":28,"aqi_min":15,"aqi_max":41,"pm25":6.75,"pm10":11.17,"stations":2},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":38,"aqi_min":31,"aqi_max":45,"pm25":9.16,"pm10":13.28,"stations":2},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":45,"aqi_min":45,"aqi_max":45,"pm25":10.81,"pm10":12.37,"stations":1},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":37,"aqi_min":19,"aqi_max":53,"pm25":8.88,"pm10":10.41,"stations":3},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":27,"aqi_min":27,"aqi_max":27,"pm25":6.52,"pm10":8.14,"stations":1},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":32,"aqi_min":28,"aqi_max":37,"pm25":7.71,"pm10":7.7,"stations":3},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":21,"aqi_min":21,"aqi_max":21,"pm25":5.07,"pm10":5.71,"stations":1},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":26,"aqi_min":16,"aqi_max":32,"pm25":6.33,"pm10":5.35,"stations":3},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":34,"aqi_min":18,"aqi_max":51,"pm25":8.14,"pm10":4.9,"stations":3},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":28,"aqi_min":16,"aqi_max":48,"pm25":6.78,"pm10":5.0,"stations":3},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":12,"aqi_min":12,"aqi_max":12,"pm25":3.01,"pm10":5.68,"stations":1},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":36,"aqi_min":16,"aqi_max":46,"pm25":8.58,"pm10":3.91,"stations":3},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":8,"aqi_min":7,"aqi_max":10,"pm25":2.01,"pm10":2.53,"stations":2},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":23,"aqi_min":1,"aqi_max":48,"pm25":5.61,"pm10":0.87,"stations":3},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":21,"aqi_min":7,"aqi_max":35,"pm25":5.04,"pm10":2.23,"stations":2},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":5,"aqi_min":5,"aqi_max":5,"pm25":1.24,"pm10":1.34,"stations":1},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":20,"aqi_min":8,"aqi_max":32,"pm25":4.8,"pm10":2.8,"stations":3},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":32,"aqi_min":13,"aqi_max":50,"pm25":7.76,"pm10":3.9,"stations":3},{"datetime_utc":"2026-05-29T22:00:00Z","aqi":37,"aqi_min":14,"aqi_max":61,"pm25":8.87,"pm10":3.61,"stations":3},{"datetime_utc":"2026-05-29T23:00:00Z","aqi":16,"aqi_min":14,"aqi_max":17,"pm25":3.86,"pm10":4.97,"stations":3}],"daily":[{"date":"2026-05-28","aqi_avg":35,"aqi_min":20,"aqi_max":51,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":8.4,"pm10_avg":9.4,"hours":24,"stations_avg":2},{"date":"2026-05-29","aqi_avg":29,"aqi_min":5,"aqi_max":55,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":7.1,"pm10_avg":6.5,"hours":24,"stations_avg":2}]}