{"city":"Campbell River","country":"Canada","lat":50.01633834838867,"lon":-125.24459075927734,"range":"7d","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-06-02T08:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-06-02T10:00:00Z","aqi":26,"aqi_min":26,"aqi_max":26,"pm25":6.24,"pm10":null,"stations":1},{"datetime_utc":"2026-06-02T11:00:00Z","aqi":15,"aqi_min":15,"aqi_max":15,"pm25":3.6,"pm10":null,"stations":1},{"datetime_utc":"2026-06-02T12:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":1},{"datetime_utc":"2026-06-02T14:00:00Z","aqi":23,"aqi_min":23,"aqi_max":23,"pm25":5.52,"pm10":null,"stations":1},{"datetime_utc":"2026-06-02T18:00:00Z","aqi":155,"aqi_min":34,"aqi_max":177,"pm25":63.61,"pm10":null,"stations":3},{"datetime_utc":"2026-06-02T22:00:00Z","aqi":23,"aqi_min":19,"aqi_max":28,"pm25":5.64,"pm10":null,"stations":2},{"datetime_utc":"2026-06-02T23:00:00Z","aqi":40,"aqi_min":21,"aqi_max":55,"pm25":9.52,"pm10":null,"stations":2},{"datetime_utc":"2026-06-03T01:00:00Z","aqi":24,"aqi_min":24,"aqi_max":24,"pm25":5.76,"pm10":null,"stations":1},{"datetime_utc":"2026-06-03T04:00:00Z","aqi":46,"aqi_min":38,"aqi_max":51,"pm25":11.11,"pm10":null,"stations":3},{"datetime_utc":"2026-06-03T05:00:00Z","aqi":58,"aqi_min":58,"aqi_max":58,"pm25":15.43,"pm10":null,"stations":1},{"datetime_utc":"2026-06-03T18:00:00Z","aqi":66,"aqi_min":58,"aqi_max":76,"pm25":19.39,"pm10":null,"stations":3},{"datetime_utc":"2026-06-03T21:00:00Z","aqi":15,"aqi_min":15,"aqi_max":15,"pm25":3.6,"pm10":null,"stations":1},{"datetime_utc":"2026-06-03T22:00:00Z","aqi":18,"aqi_min":18,"aqi_max":18,"pm25":4.32,"pm10":null,"stations":1},{"datetime_utc":"2026-06-03T23:00:00Z","aqi":10,"aqi_min":10,"aqi_max":10,"pm25":2.4,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T00:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T01:00:00Z","aqi":52,"aqi_min":52,"aqi_max":52,"pm25":12.58,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T02:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T03:00:00Z","aqi":42,"aqi_min":23,"aqi_max":56,"pm25":10.0,"pm10":null,"stations":2},{"datetime_utc":"2026-06-04T09:00:00Z","aqi":27,"aqi_min":27,"aqi_max":27,"pm25":6.48,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T10:00:00Z","aqi":25,"aqi_min":25,"aqi_max":25,"pm25":6.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T11:00:00Z","aqi":42,"aqi_min":38,"aqi_max":46,"pm25":10.08,"pm10":null,"stations":2},{"datetime_utc":"2026-06-04T13:00:00Z","aqi":16,"aqi_min":2,"aqi_max":30,"pm25":3.84,"pm10":null,"stations":2},{"datetime_utc":"2026-06-04T16:00:00Z","aqi":26,"aqi_min":26,"aqi_max":26,"pm25":6.24,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T17:00:00Z","aqi":79,"aqi_min":13,"aqi_max":130,"pm25":25.2,"pm10":null,"stations":2},{"datetime_utc":"2026-06-04T19:00:00Z","aqi":77,"aqi_min":77,"aqi_max":77,"pm25":24.46,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T20:00:00Z","aqi":190,"aqi_min":53,"aqi_max":377,"pm25":131.9,"pm10":null,"stations":3},{"datetime_utc":"2026-06-04T23:00:00Z","aqi":48,"aqi_min":48,"aqi_max":48,"pm25":11.52,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T01:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T05:00:00Z","aqi":117,"aqi_min":117,"aqi_max":117,"pm25":42.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T10:00:00Z","aqi":23,"aqi_min":23,"aqi_max":23,"pm25":5.52,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T11:00:00Z","aqi":96,"aqi_min":76,"aqi_max":119,"pm25":33.4,"pm10":null,"stations":2},{"datetime_utc":"2026-06-05T16:00:00Z","aqi":95,"aqi_min":89,"aqi_max":101,"pm25":32.83,"pm10":null,"stations":2},{"datetime_utc":"2026-06-05T19:00:00Z","aqi":55,"aqi_min":43,"aqi_max":63,"pm25":14.06,"pm10":null,"stations":2},{"datetime_utc":"2026-06-05T23:00:00Z","aqi":54,"aqi_min":54,"aqi_max":54,"pm25":13.53,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T01:00:00Z","aqi":23,"aqi_min":23,"aqi_max":23,"pm25":5.52,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T03:00:00Z","aqi":159,"aqi_min":159,"aqi_max":159,"pm25":70.99,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T05:00:00Z","aqi":152,"aqi_min":136,"aqi_max":156,"pm25":57.45,"pm10":null,"stations":2},{"datetime_utc":"2026-06-06T06:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T08:00:00Z","aqi":6,"aqi_min":6,"aqi_max":6,"pm25":1.44,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T09:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T13:00:00Z","aqi":42,"aqi_min":2,"aqi_max":67,"pm25":10.09,"pm10":null,"stations":2},{"datetime_utc":"2026-06-06T15:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T16:00:00Z","aqi":2,"aqi_min":2,"aqi_max":2,"pm25":0.48,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T17:00:00Z","aqi":13,"aqi_min":10,"aqi_max":17,"pm25":3.24,"pm10":null,"stations":2},{"datetime_utc":"2026-06-06T18:00:00Z","aqi":27,"aqi_min":27,"aqi_max":27,"pm25":6.48,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T20:00:00Z","aqi":25,"aqi_min":25,"aqi_max":25,"pm25":6.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T00:00:00Z","aqi":33,"aqi_min":26,"aqi_max":40,"pm25":7.92,"pm10":null,"stations":2},{"datetime_utc":"2026-06-07T01:00:00Z","aqi":37,"aqi_min":37,"aqi_max":37,"pm25":8.88,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T04:00:00Z","aqi":19,"aqi_min":19,"aqi_max":19,"pm25":4.56,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T05:00:00Z","aqi":25,"aqi_min":25,"aqi_max":25,"pm25":6.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T06:00:00Z","aqi":12,"aqi_min":12,"aqi_max":12,"pm25":2.88,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T09:00:00Z","aqi":120,"aqi_min":25,"aqi_max":166,"pm25":43.37,"pm10":null,"stations":3},{"datetime_utc":"2026-06-07T12:00:00Z","aqi":164,"aqi_min":164,"aqi_max":164,"pm25":80.68,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T14:00:00Z","aqi":114,"aqi_min":63,"aqi_max":165,"pm25":40.68,"pm10":null,"stations":3},{"datetime_utc":"2026-06-07T15:00:00Z","aqi":24,"aqi_min":22,"aqi_max":26,"pm25":5.76,"pm10":null,"stations":2},{"datetime_utc":"2026-06-07T16:00:00Z","aqi":8,"aqi_min":8,"aqi_max":8,"pm25":1.92,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T18:00:00Z","aqi":53,"aqi_min":53,"aqi_max":53,"pm25":13.05,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T20:00:00Z","aqi":76,"aqi_min":76,"aqi_max":76,"pm25":23.99,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T21:00:00Z","aqi":73,"aqi_min":26,"aqi_max":109,"pm25":22.49,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T01:00:00Z","aqi":41,"aqi_min":41,"aqi_max":41,"pm25":9.84,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T02:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T05:00:00Z","aqi":68,"aqi_min":68,"aqi_max":68,"pm25":20.18,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T06:00:00Z","aqi":28,"aqi_min":28,"aqi_max":28,"pm25":6.72,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T07:00:00Z","aqi":5,"aqi_min":5,"aqi_max":5,"pm25":1.2,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T08:00:00Z","aqi":12,"aqi_min":12,"aqi_max":12,"pm25":2.88,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T11:00:00Z","aqi":84,"aqi_min":29,"aqi_max":138,"pm25":27.74,"pm10":null,"stations":3},{"datetime_utc":"2026-06-08T13:00:00Z","aqi":7,"aqi_min":1,"aqi_max":13,"pm25":1.68,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T16:00:00Z","aqi":83,"aqi_min":25,"aqi_max":109,"pm25":27.16,"pm10":null,"stations":3},{"datetime_utc":"2026-06-08T17:00:00Z","aqi":27,"aqi_min":27,"aqi_max":27,"pm25":6.48,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T19:00:00Z","aqi":5,"aqi_min":2,"aqi_max":8,"pm25":1.2,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T20:00:00Z","aqi":18,"aqi_min":10,"aqi_max":25,"pm25":4.2,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T22:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T23:00:00Z","aqi":12,"aqi_min":3,"aqi_max":28,"pm25":2.96,"pm10":null,"stations":3},{"datetime_utc":"2026-06-09T01:00:00Z","aqi":28,"aqi_min":21,"aqi_max":35,"pm25":6.72,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T02:00:00Z","aqi":15,"aqi_min":12,"aqi_max":18,"pm25":3.6,"pm10":null,"stations":3},{"datetime_utc":"2026-06-09T03:00:00Z","aqi":13,"aqi_min":13,"aqi_max":14,"pm25":3.24,"pm10":null,"stations":2}],"daily":[{"date":"2026-06-02","aqi_avg":40,"aqi_min":14,"aqi_max":155,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":12.8,"pm10_avg":null,"hours":8,"stations_avg":2},{"date":"2026-06-03","aqi_avg":34,"aqi_min":10,"aqi_max":66,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":8.9,"pm10_avg":null,"hours":7,"stations_avg":2},{"date":"2026-06-04","aqi_avg":52,"aqi_min":16,"aqi_max":190,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":20.0,"pm10_avg":null,"hours":13,"stations_avg":1},{"date":"2026-06-05","aqi_avg":65,"aqi_min":14,"aqi_max":117,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":20.7,"pm10_avg":null,"hours":7,"stations_avg":1},{"date":"2026-06-06","aqi_avg":42,"aqi_min":2,"aqi_max":159,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":14.5,"pm10_avg":null,"hours":12,"stations_avg":1},{"date":"2026-06-07","aqi_avg":58,"aqi_min":8,"aqi_max":164,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":20.2,"pm10_avg":null,"hours":13,"stations_avg":2},{"date":"2026-06-08","aqi_avg":30,"aqi_min":5,"aqi_max":84,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":8.5,"pm10_avg":null,"hours":14,"stations_avg":2},{"date":"2026-06-09","aqi_avg":19,"aqi_min":13,"aqi_max":28,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":4.5,"pm10_avg":null,"hours":3,"stations_avg":2}]}