{"city":"Oshawa","country":"Canada","lat":43.90011978149414,"lon":-78.84957122802734,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-28T09:00:00Z","aqi":17,"aqi_min":12,"aqi_max":22,"pm25":3.98,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":12,"aqi_min":12,"aqi_max":12,"pm25":2.93,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":17,"aqi_min":12,"aqi_max":22,"pm25":4.1,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":12,"aqi_min":12,"aqi_max":12,"pm25":2.97,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":19,"aqi_min":13,"aqi_max":26,"pm25":4.55,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":17,"aqi_min":14,"aqi_max":21,"pm25":4.15,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":56,"aqi_min":15,"aqi_max":78,"pm25":14.3,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":24,"aqi_min":18,"aqi_max":33,"pm25":5.73,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":38,"aqi_min":18,"aqi_max":55,"pm25":9.2,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":31,"aqi_min":18,"aqi_max":55,"pm25":7.52,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":39,"aqi_min":20,"aqi_max":55,"pm25":9.39,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":36,"aqi_min":20,"aqi_max":50,"pm25":8.73,"pm10":null,"stations":6},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":63,"aqi_min":63,"aqi_max":63,"pm25":17.81,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":93,"aqi_min":93,"aqi_max":93,"pm25":32.07,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":84,"aqi_min":17,"aqi_max":163,"pm25":27.65,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":135,"aqi_min":18,"aqi_max":178,"pm25":49.36,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":76,"aqi_min":18,"aqi_max":136,"pm25":23.85,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":41,"aqi_min":16,"aqi_max":84,"pm25":9.83,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":74,"aqi_min":15,"aqi_max":119,"pm25":23.13,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.25,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":70,"aqi_min":13,"aqi_max":98,"pm25":21.08,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":16,"aqi_min":12,"aqi_max":21,"pm25":3.9,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":32,"aqi_min":12,"aqi_max":58,"pm25":7.71,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":12,"aqi_min":12,"aqi_max":13,"pm25":2.95,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":14,"aqi_min":10,"aqi_max":18,"pm25":3.42,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":14,"aqi_min":11,"aqi_max":17,"pm25":3.26,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":57,"aqi_min":12,"aqi_max":93,"pm25":14.86,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":59,"aqi_min":13,"aqi_max":95,"pm25":15.95,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":77,"aqi_min":15,"aqi_max":126,"pm25":24.68,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":16,"aqi_min":10,"aqi_max":21,"pm25":3.92,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":28,"aqi_min":17,"aqi_max":43,"pm25":6.62,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":23,"aqi_min":23,"aqi_max":24,"pm25":5.56,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":37,"aqi_min":16,"aqi_max":68,"pm25":8.86,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":59,"aqi_min":26,"aqi_max":78,"pm25":15.94,"pm10":null,"stations":8},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":34,"aqi_min":26,"aqi_max":41,"pm25":8.08,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":28,"aqi_min":10,"aqi_max":59,"pm25":6.59,"pm10":null,"stations":6},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":40,"aqi_min":26,"aqi_max":59,"pm25":9.56,"pm10":null,"stations":5},{"datetime_utc":"2026-05-29T22:00:00Z","aqi":97,"aqi_min":26,"aqi_max":154,"pm25":33.78,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T23:00:00Z","aqi":26,"aqi_min":17,"aqi_max":35,"pm25":6.19,"pm10":null,"stations":3},{"datetime_utc":"2026-05-30T00:00:00Z","aqi":31,"aqi_min":24,"aqi_max":38,"pm25":7.44,"pm10":null,"stations":2},{"datetime_utc":"2026-05-30T01:00:00Z","aqi":21,"aqi_min":21,"aqi_max":21,"pm25":4.98,"pm10":null,"stations":1},{"datetime_utc":"2026-05-30T02:00:00Z","aqi":50,"aqi_min":17,"aqi_max":75,"pm25":11.92,"pm10":null,"stations":3},{"datetime_utc":"2026-05-30T03:00:00Z","aqi":34,"aqi_min":15,"aqi_max":53,"pm25":8.09,"pm10":null,"stations":4},{"datetime_utc":"2026-05-30T04:00:00Z","aqi":19,"aqi_min":13,"aqi_max":38,"pm25":4.61,"pm10":null,"stations":4},{"datetime_utc":"2026-05-30T05:00:00Z","aqi":23,"aqi_min":11,"aqi_max":34,"pm25":5.44,"pm10":null,"stations":2},{"datetime_utc":"2026-05-30T06:00:00Z","aqi":36,"aqi_min":35,"aqi_max":38,"pm25":8.72,"pm10":null,"stations":3},{"datetime_utc":"2026-05-30T07:00:00Z","aqi":29,"aqi_min":28,"aqi_max":30,"pm25":6.96,"pm10":null,"stations":4}],"daily":[{"date":"2026-05-28","aqi_avg":37,"aqi_min":12,"aqi_max":93,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":10.3,"pm10_avg":null,"hours":15,"stations_avg":3},{"date":"2026-05-29","aqi_avg":45,"aqi_min":12,"aqi_max":135,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":13.0,"pm10_avg":null,"hours":24,"stations_avg":4},{"date":"2026-05-30","aqi_avg":30,"aqi_min":19,"aqi_max":50,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":7.3,"pm10_avg":null,"hours":8,"stations_avg":3}]}