{"city":"Saint John","country":"Canada","lat":45.27075958251953,"lon":-66.05615997314453,"range":"7d","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-06-02T17: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":101,"aqi_min":88,"aqi_max":116,"pm25":35.64,"pm10":null,"stations":2},{"datetime_utc":"2026-06-02T19:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":1},{"datetime_utc":"2026-06-02T21:00:00Z","aqi":79,"aqi_min":70,"aqi_max":87,"pm25":25.18,"pm10":null,"stations":1},{"datetime_utc":"2026-06-02T23:00:00Z","aqi":70,"aqi_min":29,"aqi_max":88,"pm25":21.16,"pm10":null,"stations":3},{"datetime_utc":"2026-06-03T00:00:00Z","aqi":77,"aqi_min":77,"aqi_max":77,"pm25":24.46,"pm10":null,"stations":1},{"datetime_utc":"2026-06-03T01:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-03T02:00:00Z","aqi":87,"aqi_min":87,"aqi_max":87,"pm25":29.22,"pm10":null,"stations":1},{"datetime_utc":"2026-06-03T03:00:00Z","aqi":58,"aqi_min":51,"aqi_max":64,"pm25":15.19,"pm10":null,"stations":2},{"datetime_utc":"2026-06-03T04:00:00Z","aqi":24,"aqi_min":24,"aqi_max":24,"pm25":5.76,"pm10":null,"stations":1},{"datetime_utc":"2026-06-03T06:00:00Z","aqi":38,"aqi_min":38,"aqi_max":38,"pm25":9.12,"pm10":null,"stations":1},{"datetime_utc":"2026-06-03T09:00:00Z","aqi":42,"aqi_min":23,"aqi_max":56,"pm25":10.0,"pm10":null,"stations":2},{"datetime_utc":"2026-06-03T10:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":1},{"datetime_utc":"2026-06-03T11:00:00Z","aqi":16,"aqi_min":16,"aqi_max":16,"pm25":3.84,"pm10":null,"stations":1},{"datetime_utc":"2026-06-03T19:00:00Z","aqi":28,"aqi_min":20,"aqi_max":44,"pm25":6.8,"pm10":null,"stations":2},{"datetime_utc":"2026-06-03T20:00:00Z","aqi":102,"aqi_min":64,"aqi_max":145,"pm25":35.83,"pm10":null,"stations":2},{"datetime_utc":"2026-06-03T21: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":75,"aqi_min":21,"aqi_max":117,"pm25":23.52,"pm10":null,"stations":2},{"datetime_utc":"2026-06-04T00:00:00Z","aqi":36,"aqi_min":36,"aqi_max":36,"pm25":8.64,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T01:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T02:00:00Z","aqi":38,"aqi_min":38,"aqi_max":38,"pm25":9.12,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T03:00:00Z","aqi":25,"aqi_min":25,"aqi_max":25,"pm25":6.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T04:00:00Z","aqi":79,"aqi_min":20,"aqi_max":127,"pm25":25.43,"pm10":null,"stations":2},{"datetime_utc":"2026-06-04T05:00:00Z","aqi":83,"aqi_min":65,"aqi_max":101,"pm25":27.35,"pm10":null,"stations":3},{"datetime_utc":"2026-06-04T09:00:00Z","aqi":53,"aqi_min":47,"aqi_max":56,"pm25":12.88,"pm10":null,"stations":2},{"datetime_utc":"2026-06-04T13:00:00Z","aqi":31,"aqi_min":22,"aqi_max":40,"pm25":7.44,"pm10":null,"stations":2},{"datetime_utc":"2026-06-04T16:00:00Z","aqi":31,"aqi_min":31,"aqi_max":31,"pm25":7.44,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T17:00:00Z","aqi":130,"aqi_min":129,"aqi_max":130,"pm25":47.07,"pm10":null,"stations":2},{"datetime_utc":"2026-06-04T18:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-06-04T20:00:00Z","aqi":98,"aqi_min":98,"aqi_max":98,"pm25":34.45,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T00:00:00Z","aqi":39,"aqi_min":39,"aqi_max":39,"pm25":9.36,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T01:00:00Z","aqi":48,"aqi_min":48,"aqi_max":48,"pm25":11.52,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T02:00:00Z","aqi":46,"aqi_min":46,"aqi_max":46,"pm25":11.04,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T05:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T06:00:00Z","aqi":103,"aqi_min":9,"aqi_max":153,"pm25":36.27,"pm10":null,"stations":3},{"datetime_utc":"2026-06-05T07:00:00Z","aqi":69,"aqi_min":66,"aqi_max":72,"pm25":20.66,"pm10":null,"stations":2},{"datetime_utc":"2026-06-05T11:00:00Z","aqi":118,"aqi_min":58,"aqi_max":176,"pm25":42.54,"pm10":null,"stations":4},{"datetime_utc":"2026-06-05T12:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T13:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T17:00:00Z","aqi":89,"aqi_min":12,"aqi_max":166,"pm25":30.34,"pm10":null,"stations":3},{"datetime_utc":"2026-06-05T19:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":1},{"datetime_utc":"2026-06-05T23:00:00Z","aqi":163,"aqi_min":95,"aqi_max":186,"pm25":78.15,"pm10":null,"stations":2},{"datetime_utc":"2026-06-06T00:00:00Z","aqi":51,"aqi_min":30,"aqi_max":62,"pm25":12.27,"pm10":null,"stations":2},{"datetime_utc":"2026-06-06T02:00:00Z","aqi":18,"aqi_min":15,"aqi_max":21,"pm25":4.32,"pm10":null,"stations":2},{"datetime_utc":"2026-06-06T03:00:00Z","aqi":56,"aqi_min":19,"aqi_max":95,"pm25":14.37,"pm10":null,"stations":3},{"datetime_utc":"2026-06-06T09:00:00Z","aqi":56,"aqi_min":17,"aqi_max":77,"pm25":14.65,"pm10":null,"stations":5},{"datetime_utc":"2026-06-06T10:00:00Z","aqi":25,"aqi_min":25,"aqi_max":25,"pm25":6.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T13:00:00Z","aqi":128,"aqi_min":128,"aqi_max":128,"pm25":46.47,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T14:00:00Z","aqi":98,"aqi_min":72,"aqi_max":156,"pm25":34.42,"pm10":null,"stations":5},{"datetime_utc":"2026-06-06T15:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T16:00:00Z","aqi":40,"aqi_min":40,"aqi_max":40,"pm25":9.6,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T17:00:00Z","aqi":22,"aqi_min":14,"aqi_max":29,"pm25":5.16,"pm10":null,"stations":2},{"datetime_utc":"2026-06-06T19:00:00Z","aqi":40,"aqi_min":40,"aqi_max":40,"pm25":9.6,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T20:00:00Z","aqi":12,"aqi_min":12,"aqi_max":12,"pm25":2.88,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T21:00:00Z","aqi":7,"aqi_min":7,"aqi_max":7,"pm25":1.68,"pm10":null,"stations":1},{"datetime_utc":"2026-06-06T22:00:00Z","aqi":33,"aqi_min":33,"aqi_max":33,"pm25":7.92,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T02:00:00Z","aqi":15,"aqi_min":13,"aqi_max":18,"pm25":3.72,"pm10":null,"stations":2},{"datetime_utc":"2026-06-07T03:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T04:00:00Z","aqi":73,"aqi_min":16,"aqi_max":152,"pm25":22.43,"pm10":null,"stations":3},{"datetime_utc":"2026-06-07T05:00:00Z","aqi":1,"aqi_min":1,"aqi_max":1,"pm25":0.24,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T09:00:00Z","aqi":54,"aqi_min":33,"aqi_max":65,"pm25":13.34,"pm10":null,"stations":2},{"datetime_utc":"2026-06-07T10:00:00Z","aqi":13,"aqi_min":2,"aqi_max":25,"pm25":3.24,"pm10":null,"stations":2},{"datetime_utc":"2026-06-07T11:00:00Z","aqi":8,"aqi_min":8,"aqi_max":8,"pm25":1.92,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T12:00:00Z","aqi":52,"aqi_min":8,"aqi_max":77,"pm25":12.42,"pm10":null,"stations":3},{"datetime_utc":"2026-06-07T14:00:00Z","aqi":59,"aqi_min":3,"aqi_max":115,"pm25":15.86,"pm10":null,"stations":5},{"datetime_utc":"2026-06-07T15:00:00Z","aqi":12,"aqi_min":12,"aqi_max":12,"pm25":2.88,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T16:00:00Z","aqi":35,"aqi_min":3,"aqi_max":60,"pm25":8.26,"pm10":null,"stations":3},{"datetime_utc":"2026-06-07T17:00:00Z","aqi":38,"aqi_min":25,"aqi_max":51,"pm25":9.05,"pm10":null,"stations":2},{"datetime_utc":"2026-06-07T19:00:00Z","aqi":59,"aqi_min":26,"aqi_max":69,"pm25":15.85,"pm10":null,"stations":3},{"datetime_utc":"2026-06-07T23:00:00Z","aqi":34,"aqi_min":34,"aqi_max":34,"pm25":8.16,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T01:00:00Z","aqi":9,"aqi_min":9,"aqi_max":9,"pm25":2.16,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T02:00:00Z","aqi":78,"aqi_min":22,"aqi_max":111,"pm25":24.87,"pm10":null,"stations":4},{"datetime_utc":"2026-06-08T03:00:00Z","aqi":44,"aqi_min":13,"aqi_max":63,"pm25":10.46,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T04:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T05:00:00Z","aqi":51,"aqi_min":23,"aqi_max":65,"pm25":12.14,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T06:00:00Z","aqi":10,"aqi_min":10,"aqi_max":10,"pm25":2.4,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T07:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T08:00:00Z","aqi":11,"aqi_min":9,"aqi_max":13,"pm25":2.64,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T10:00:00Z","aqi":74,"aqi_min":74,"aqi_max":74,"pm25":23.04,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T11:00:00Z","aqi":68,"aqi_min":40,"aqi_max":90,"pm25":20.12,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T12:00:00Z","aqi":31,"aqi_min":31,"aqi_max":31,"pm25":7.44,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T13:00:00Z","aqi":24,"aqi_min":24,"aqi_max":24,"pm25":5.76,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T14:00:00Z","aqi":28,"aqi_min":17,"aqi_max":47,"pm25":6.56,"pm10":null,"stations":3},{"datetime_utc":"2026-06-08T15:00:00Z","aqi":28,"aqi_min":28,"aqi_max":28,"pm25":6.72,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T16:00:00Z","aqi":96,"aqi_min":88,"aqi_max":105,"pm25":33.41,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T19:00:00Z","aqi":14,"aqi_min":3,"aqi_max":24,"pm25":3.28,"pm10":null,"stations":3},{"datetime_utc":"2026-06-08T20:00:00Z","aqi":2,"aqi_min":2,"aqi_max":2,"pm25":0.48,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T22:00:00Z","aqi":109,"aqi_min":109,"aqi_max":109,"pm25":38.75,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T01:00:00Z","aqi":16,"aqi_min":9,"aqi_max":26,"pm25":3.89,"pm10":null,"stations":5},{"datetime_utc":"2026-06-09T02:00:00Z","aqi":25,"aqi_min":25,"aqi_max":25,"pm25":6.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T03:00:00Z","aqi":14,"aqi_min":7,"aqi_max":24,"pm25":3.31,"pm10":null,"stations":5},{"datetime_utc":"2026-06-09T04:00:00Z","aqi":45,"aqi_min":19,"aqi_max":72,"pm25":10.8,"pm10":null,"stations":3},{"datetime_utc":"2026-06-09T06:00:00Z","aqi":14,"aqi_min":3,"aqi_max":20,"pm25":3.28,"pm10":null,"stations":3},{"datetime_utc":"2026-06-09T07:00:00Z","aqi":19,"aqi_min":19,"aqi_max":19,"pm25":4.56,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T08:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T10:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T11:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T12:00:00Z","aqi":23,"aqi_min":23,"aqi_max":24,"pm25":5.64,"pm10":null,"stations":2}],"daily":[{"date":"2026-06-02","aqi_avg":59,"aqi_min":20,"aqi_max":101,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":18.5,"pm10_avg":null,"hours":5,"stations_avg":2},{"date":"2026-06-03","aqi_avg":49,"aqi_min":16,"aqi_max":102,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":14.2,"pm10_avg":null,"hours":13,"stations_avg":1},{"date":"2026-06-04","aqi_avg":53,"aqi_min":13,"aqi_max":130,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":16.1,"pm10_avg":null,"hours":12,"stations_avg":2},{"date":"2026-06-05","aqi_avg":63,"aqi_min":13,"aqi_max":163,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":21.7,"pm10_avg":null,"hours":12,"stations_avg":2},{"date":"2026-06-06","aqi_avg":43,"aqi_min":7,"aqi_max":128,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":12.4,"pm10_avg":null,"hours":14,"stations_avg":2},{"date":"2026-06-07","aqi_avg":36,"aqi_min":1,"aqi_max":73,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":9.2,"pm10_avg":null,"hours":14,"stations_avg":2},{"date":"2026-06-08","aqi_avg":42,"aqi_min":2,"aqi_max":109,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":12.2,"pm10_avg":null,"hours":18,"stations_avg":2},{"date":"2026-06-09","aqi_avg":22,"aqi_min":14,"aqi_max":45,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":5.3,"pm10_avg":null,"hours":10,"stations_avg":2}]}