{"city":"Upper Alton","country":"United States","lat":38.911441802978516,"lon":-90.1506576538086,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-27T20:00:00Z","aqi":39,"aqi_min":32,"aqi_max":46,"pm25":9.36,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T21:00:00Z","aqi":67,"aqi_min":65,"aqi_max":69,"pm25":19.71,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T22:00:00Z","aqi":40,"aqi_min":29,"aqi_max":50,"pm25":9.48,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T23:00:00Z","aqi":40,"aqi_min":25,"aqi_max":60,"pm25":9.61,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T00:00:00Z","aqi":58,"aqi_min":49,"aqi_max":66,"pm25":15.5,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T01:00:00Z","aqi":40,"aqi_min":38,"aqi_max":44,"pm25":9.68,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T02:00:00Z","aqi":37,"aqi_min":34,"aqi_max":39,"pm25":8.76,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T03:00:00Z","aqi":32,"aqi_min":29,"aqi_max":34,"pm25":7.56,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T04:00:00Z","aqi":28,"aqi_min":27,"aqi_max":28,"pm25":6.6,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T05:00:00Z","aqi":34,"aqi_min":33,"aqi_max":35,"pm25":8.16,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T06:00:00Z","aqi":28,"aqi_min":27,"aqi_max":28,"pm25":6.64,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":24,"aqi_min":13,"aqi_max":40,"pm25":5.68,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":24,"aqi_min":24,"aqi_max":24,"pm25":5.76,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":24,"aqi_min":22,"aqi_max":26,"pm25":5.76,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":23,"aqi_min":20,"aqi_max":25,"pm25":5.6,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":31,"aqi_min":23,"aqi_max":42,"pm25":7.36,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":20,"aqi_min":13,"aqi_max":26,"pm25":4.8,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":48,"aqi_min":23,"aqi_max":67,"pm25":11.53,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":25,"aqi_min":23,"aqi_max":28,"pm25":6.12,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":25,"aqi_min":19,"aqi_max":30,"pm25":6.0,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":26,"aqi_min":21,"aqi_max":30,"pm25":6.3,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":31,"aqi_min":20,"aqi_max":46,"pm25":7.44,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":33,"aqi_min":19,"aqi_max":52,"pm25":7.87,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":35,"aqi_min":15,"aqi_max":51,"pm25":8.36,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":56,"aqi_min":56,"aqi_max":56,"pm25":14.48,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":15,"aqi_min":14,"aqi_max":16,"pm25":3.6,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":39,"aqi_min":15,"aqi_max":53,"pm25":9.39,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":38,"aqi_min":26,"aqi_max":49,"pm25":9.0,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":38,"aqi_min":38,"aqi_max":38,"pm25":9.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":23,"aqi_min":13,"aqi_max":38,"pm25":5.64,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":11,"aqi_min":11,"aqi_max":11,"pm25":2.64,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":33,"aqi_min":22,"aqi_max":42,"pm25":7.92,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":20,"aqi_min":10,"aqi_max":30,"pm25":4.88,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":21,"aqi_min":19,"aqi_max":23,"pm25":4.96,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":23,"aqi_min":16,"aqi_max":30,"pm25":5.36,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":29,"aqi_min":13,"aqi_max":38,"pm25":7.02,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":30,"aqi_min":14,"aqi_max":46,"pm25":7.08,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":26,"aqi_min":20,"aqi_max":36,"pm25":6.16,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":40,"aqi_min":38,"aqi_max":43,"pm25":9.72,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":28,"aqi_min":17,"aqi_max":34,"pm25":6.56,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":28,"aqi_min":28,"aqi_max":28,"pm25":6.72,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":35,"aqi_min":31,"aqi_max":39,"pm25":8.4,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":40,"aqi_min":29,"aqi_max":51,"pm25":9.63,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":38,"aqi_min":34,"aqi_max":43,"pm25":9.2,"pm10":null,"stations":3}],"daily":[{"date":"2026-05-27","aqi_avg":46,"aqi_min":39,"aqi_max":67,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":12.0,"pm10_avg":null,"hours":4,"stations_avg":2},{"date":"2026-05-28","aqi_avg":32,"aqi_min":15,"aqi_max":58,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":7.8,"pm10_avg":null,"hours":24,"stations_avg":3},{"date":"2026-05-29","aqi_avg":29,"aqi_min":11,"aqi_max":40,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":6.9,"pm10_avg":null,"hours":16,"stations_avg":3}]}