{"city":"Bowmanville","country":"Canada","lat":43.91682052612305,"lon":-78.682861328125,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-28T06:00:00Z","aqi":111,"aqi_min":39,"aqi_max":161,"pm25":39.74,"pm10":null,"stations":8},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":24,"aqi_min":20,"aqi_max":27,"pm25":5.68,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":19,"aqi_min":17,"aqi_max":20,"pm25":4.56,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":19,"aqi_min":15,"aqi_max":22,"pm25":4.5,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":21,"aqi_min":19,"aqi_max":22,"pm25":5.04,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":29,"aqi_min":25,"aqi_max":35,"pm25":6.88,"pm10":null,"stations":3},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":29,"aqi_min":24,"aqi_max":34,"pm25":7.01,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":25,"aqi_min":19,"aqi_max":30,"pm25":5.94,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":53,"aqi_min":53,"aqi_max":53,"pm25":13.05,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":42,"aqi_min":13,"aqi_max":73,"pm25":10.16,"pm10":null,"stations":6},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":16,"aqi_min":16,"aqi_max":16,"pm25":3.84,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":75,"aqi_min":30,"aqi_max":154,"pm25":23.62,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":113,"aqi_min":7,"aqi_max":163,"pm25":40.21,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":116,"aqi_min":16,"aqi_max":178,"pm25":41.4,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":67,"aqi_min":25,"aqi_max":136,"pm25":19.75,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":69,"aqi_min":19,"aqi_max":154,"pm25":20.85,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":74,"aqi_min":74,"aqi_max":74,"pm25":23.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":67,"aqi_min":38,"aqi_max":95,"pm25":19.8,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":21,"aqi_min":21,"aqi_max":21,"pm25":5.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":19,"aqi_min":17,"aqi_max":21,"pm25":4.64,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":45,"aqi_min":13,"aqi_max":87,"pm25":10.78,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":33,"aqi_min":17,"aqi_max":70,"pm25":7.97,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":95,"aqi_min":37,"aqi_max":164,"pm25":32.84,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":49,"aqi_min":49,"aqi_max":49,"pm25":11.76,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":55,"aqi_min":10,"aqi_max":107,"pm25":13.86,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":41,"aqi_min":17,"aqi_max":84,"pm25":9.78,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":25,"aqi_min":24,"aqi_max":26,"pm25":6.0,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":49,"aqi_min":16,"aqi_max":68,"pm25":11.77,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":80,"aqi_min":34,"aqi_max":153,"pm25":25.9,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":34,"aqi_min":25,"aqi_max":39,"pm25":8.22,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":32,"aqi_min":10,"aqi_max":59,"pm25":7.72,"pm10":null,"stations":7},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":40,"aqi_min":38,"aqi_max":43,"pm25":9.72,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T22:00:00Z","aqi":26,"aqi_min":26,"aqi_max":26,"pm25":6.24,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T23:00:00Z","aqi":29,"aqi_min":17,"aqi_max":36,"pm25":7.04,"pm10":null,"stations":3},{"datetime_utc":"2026-05-30T00:00:00Z","aqi":28,"aqi_min":17,"aqi_max":38,"pm25":6.78,"pm10":null,"stations":4},{"datetime_utc":"2026-05-30T02:00:00Z","aqi":130,"aqi_min":34,"aqi_max":173,"pm25":47.26,"pm10":null,"stations":3},{"datetime_utc":"2026-05-30T03:00:00Z","aqi":35,"aqi_min":33,"aqi_max":38,"pm25":8.4,"pm10":null,"stations":3},{"datetime_utc":"2026-05-30T04:00:00Z","aqi":37,"aqi_min":34,"aqi_max":38,"pm25":8.8,"pm10":null,"stations":3},{"datetime_utc":"2026-05-30T05:00:00Z","aqi":32,"aqi_min":30,"aqi_max":34,"pm25":7.84,"pm10":null,"stations":3}],"daily":[{"date":"2026-05-28","aqi_avg":43,"aqi_min":16,"aqi_max":113,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":12.5,"pm10_avg":null,"hours":14,"stations_avg":4},{"date":"2026-05-29","aqi_avg":49,"aqi_min":17,"aqi_max":116,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":14.0,"pm10_avg":null,"hours":22,"stations_avg":3},{"date":"2026-05-30","aqi_avg":52,"aqi_min":28,"aqi_max":130,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":15.8,"pm10_avg":null,"hours":5,"stations_avg":3}]}