{"city":"Portland","country":"United States","lat":27.87725067138672,"lon":-97.32388305664062,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-06-07T13:00:00Z","aqi":53,"aqi_min":31,"aqi_max":64,"pm25":12.97,"pm10":null,"stations":2},{"datetime_utc":"2026-06-07T15:00:00Z","aqi":68,"aqi_min":68,"aqi_max":68,"pm25":20.1,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T17:00:00Z","aqi":45,"aqi_min":23,"aqi_max":59,"pm25":10.71,"pm10":null,"stations":2},{"datetime_utc":"2026-06-07T18:00:00Z","aqi":74,"aqi_min":74,"aqi_max":74,"pm25":23.2,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T20:00:00Z","aqi":71,"aqi_min":71,"aqi_max":71,"pm25":21.6,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T21:00:00Z","aqi":78,"aqi_min":78,"aqi_max":78,"pm25":25.1,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T22:00:00Z","aqi":78,"aqi_min":78,"aqi_max":78,"pm25":25.1,"pm10":null,"stations":1},{"datetime_utc":"2026-06-07T23:00:00Z","aqi":73,"aqi_min":73,"aqi_max":73,"pm25":22.5,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T00:00:00Z","aqi":71,"aqi_min":71,"aqi_max":71,"pm25":21.5,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T01:00:00Z","aqi":72,"aqi_min":72,"aqi_max":72,"pm25":22.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T02:00:00Z","aqi":70,"aqi_min":68,"aqi_max":71,"pm25":20.99,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T03:00:00Z","aqi":52,"aqi_min":23,"aqi_max":66,"pm25":12.36,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T04:00:00Z","aqi":63,"aqi_min":38,"aqi_max":80,"pm25":17.61,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T05:00:00Z","aqi":44,"aqi_min":44,"aqi_max":44,"pm25":10.56,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T07:00:00Z","aqi":80,"aqi_min":80,"aqi_max":80,"pm25":26.1,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T08:00:00Z","aqi":79,"aqi_min":79,"aqi_max":79,"pm25":25.2,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T10:00:00Z","aqi":56,"aqi_min":21,"aqi_max":75,"pm25":14.27,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T11:00:00Z","aqi":71,"aqi_min":53,"aqi_max":90,"pm25":21.78,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T13:00:00Z","aqi":63,"aqi_min":30,"aqi_max":85,"pm25":17.75,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T14:00:00Z","aqi":76,"aqi_min":76,"aqi_max":76,"pm25":23.8,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T16:00:00Z","aqi":57,"aqi_min":57,"aqi_max":57,"pm25":15.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T17:00:00Z","aqi":91,"aqi_min":91,"aqi_max":91,"pm25":31.12,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T18:00:00Z","aqi":67,"aqi_min":61,"aqi_max":72,"pm25":19.54,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T19:00:00Z","aqi":55,"aqi_min":46,"aqi_max":61,"pm25":13.97,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T20:00:00Z","aqi":48,"aqi_min":40,"aqi_max":53,"pm25":11.35,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T21:00:00Z","aqi":34,"aqi_min":12,"aqi_max":54,"pm25":8.09,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T22:00:00Z","aqi":56,"aqi_min":56,"aqi_max":56,"pm25":14.3,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T23:00:00Z","aqi":58,"aqi_min":40,"aqi_max":71,"pm25":15.5,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T00:00:00Z","aqi":51,"aqi_min":28,"aqi_max":63,"pm25":12.26,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T01:00:00Z","aqi":54,"aqi_min":38,"aqi_max":63,"pm25":13.46,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T02:00:00Z","aqi":38,"aqi_min":14,"aqi_max":57,"pm25":9.18,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T03:00:00Z","aqi":34,"aqi_min":3,"aqi_max":59,"pm25":8.21,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T04:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T07:00:00Z","aqi":52,"aqi_min":17,"aqi_max":70,"pm25":12.54,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T08:00:00Z","aqi":40,"aqi_min":8,"aqi_max":61,"pm25":9.46,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T09:00:00Z","aqi":67,"aqi_min":67,"aqi_max":67,"pm25":19.7,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T10:00:00Z","aqi":62,"aqi_min":62,"aqi_max":62,"pm25":17.29,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T11:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1}],"daily":[{"date":"2026-06-07","aqi_avg":68,"aqi_min":45,"aqi_max":78,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":20.2,"pm10_avg":null,"hours":8,"stations_avg":1},{"date":"2026-06-08","aqi_avg":63,"aqi_min":34,"aqi_max":91,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":18.1,"pm10_avg":null,"hours":20,"stations_avg":2},{"date":"2026-06-09","aqi_avg":46,"aqi_min":14,"aqi_max":67,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":11.7,"pm10_avg":null,"hours":10,"stations_avg":2}]}