{"city":"Forest Grove","country":"United States","lat":45.519840240478516,"lon":-123.11065673828125,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-06-07T00:00:00Z","aqi":11,"aqi_min":2,"aqi_max":38,"pm25":2.67,"pm10":null,"stations":24},{"datetime_utc":"2026-06-07T01:00:00Z","aqi":12,"aqi_min":2,"aqi_max":48,"pm25":2.83,"pm10":null,"stations":22},{"datetime_utc":"2026-06-07T02:00:00Z","aqi":11,"aqi_min":2,"aqi_max":31,"pm25":2.68,"pm10":null,"stations":22},{"datetime_utc":"2026-06-07T03:00:00Z","aqi":10,"aqi_min":1,"aqi_max":30,"pm25":2.51,"pm10":null,"stations":22},{"datetime_utc":"2026-06-07T04:00:00Z","aqi":10,"aqi_min":3,"aqi_max":29,"pm25":2.51,"pm10":null,"stations":20},{"datetime_utc":"2026-06-07T05:00:00Z","aqi":13,"aqi_min":2,"aqi_max":33,"pm25":3.11,"pm10":null,"stations":20},{"datetime_utc":"2026-06-07T06:00:00Z","aqi":13,"aqi_min":2,"aqi_max":40,"pm25":3.21,"pm10":null,"stations":11},{"datetime_utc":"2026-06-07T07:00:00Z","aqi":12,"aqi_min":3,"aqi_max":33,"pm25":2.78,"pm10":null,"stations":19},{"datetime_utc":"2026-06-07T08:00:00Z","aqi":13,"aqi_min":4,"aqi_max":41,"pm25":3.19,"pm10":null,"stations":20},{"datetime_utc":"2026-06-07T09:00:00Z","aqi":11,"aqi_min":4,"aqi_max":32,"pm25":2.66,"pm10":null,"stations":20},{"datetime_utc":"2026-06-07T10:00:00Z","aqi":18,"aqi_min":6,"aqi_max":64,"pm25":4.18,"pm10":null,"stations":23},{"datetime_utc":"2026-06-07T11:00:00Z","aqi":11,"aqi_min":7,"aqi_max":25,"pm25":2.64,"pm10":null,"stations":17},{"datetime_utc":"2026-06-07T12:00:00Z","aqi":13,"aqi_min":6,"aqi_max":53,"pm25":3.1,"pm10":null,"stations":21},{"datetime_utc":"2026-06-07T13:00:00Z","aqi":15,"aqi_min":7,"aqi_max":61,"pm25":3.59,"pm10":null,"stations":19},{"datetime_utc":"2026-06-07T14:00:00Z","aqi":11,"aqi_min":4,"aqi_max":29,"pm25":2.58,"pm10":null,"stations":23},{"datetime_utc":"2026-06-07T15:00:00Z","aqi":13,"aqi_min":4,"aqi_max":72,"pm25":3.11,"pm10":null,"stations":24},{"datetime_utc":"2026-06-07T16:00:00Z","aqi":11,"aqi_min":6,"aqi_max":30,"pm25":2.69,"pm10":null,"stations":23},{"datetime_utc":"2026-06-07T17:00:00Z","aqi":13,"aqi_min":5,"aqi_max":44,"pm25":3.05,"pm10":null,"stations":23},{"datetime_utc":"2026-06-07T18:00:00Z","aqi":15,"aqi_min":5,"aqi_max":66,"pm25":3.53,"pm10":null,"stations":21},{"datetime_utc":"2026-06-07T19:00:00Z","aqi":12,"aqi_min":3,"aqi_max":45,"pm25":3.0,"pm10":null,"stations":22},{"datetime_utc":"2026-06-07T20:00:00Z","aqi":15,"aqi_min":2,"aqi_max":49,"pm25":3.61,"pm10":null,"stations":23},{"datetime_utc":"2026-06-07T21:00:00Z","aqi":11,"aqi_min":2,"aqi_max":46,"pm25":2.72,"pm10":null,"stations":22},{"datetime_utc":"2026-06-07T22:00:00Z","aqi":15,"aqi_min":2,"aqi_max":57,"pm25":3.66,"pm10":null,"stations":24},{"datetime_utc":"2026-06-07T23:00:00Z","aqi":14,"aqi_min":2,"aqi_max":48,"pm25":3.3,"pm10":null,"stations":22},{"datetime_utc":"2026-06-08T00:00:00Z","aqi":13,"aqi_min":2,"aqi_max":34,"pm25":3.11,"pm10":null,"stations":19},{"datetime_utc":"2026-06-08T01:00:00Z","aqi":13,"aqi_min":2,"aqi_max":58,"pm25":3.16,"pm10":null,"stations":21},{"datetime_utc":"2026-06-08T02:00:00Z","aqi":12,"aqi_min":2,"aqi_max":36,"pm25":3.02,"pm10":null,"stations":21},{"datetime_utc":"2026-06-08T03:00:00Z","aqi":14,"aqi_min":4,"aqi_max":61,"pm25":3.31,"pm10":null,"stations":23},{"datetime_utc":"2026-06-08T04:00:00Z","aqi":15,"aqi_min":4,"aqi_max":39,"pm25":3.58,"pm10":null,"stations":19},{"datetime_utc":"2026-06-08T05:00:00Z","aqi":14,"aqi_min":4,"aqi_max":41,"pm25":3.37,"pm10":null,"stations":21},{"datetime_utc":"2026-06-08T06:00:00Z","aqi":15,"aqi_min":5,"aqi_max":30,"pm25":3.57,"pm10":null,"stations":23},{"datetime_utc":"2026-06-08T07:00:00Z","aqi":15,"aqi_min":5,"aqi_max":28,"pm25":3.49,"pm10":null,"stations":22},{"datetime_utc":"2026-06-08T08:00:00Z","aqi":18,"aqi_min":8,"aqi_max":45,"pm25":4.25,"pm10":null,"stations":20},{"datetime_utc":"2026-06-08T09:00:00Z","aqi":18,"aqi_min":7,"aqi_max":59,"pm25":4.28,"pm10":null,"stations":20},{"datetime_utc":"2026-06-08T10:00:00Z","aqi":17,"aqi_min":7,"aqi_max":54,"pm25":4.03,"pm10":null,"stations":21},{"datetime_utc":"2026-06-08T11:00:00Z","aqi":15,"aqi_min":5,"aqi_max":41,"pm25":3.6,"pm10":null,"stations":24},{"datetime_utc":"2026-06-08T12:00:00Z","aqi":15,"aqi_min":5,"aqi_max":43,"pm25":3.47,"pm10":null,"stations":23},{"datetime_utc":"2026-06-08T13:00:00Z","aqi":16,"aqi_min":7,"aqi_max":40,"pm25":3.78,"pm10":null,"stations":19},{"datetime_utc":"2026-06-08T14:00:00Z","aqi":17,"aqi_min":8,"aqi_max":57,"pm25":4.05,"pm10":null,"stations":23},{"datetime_utc":"2026-06-08T15:00:00Z","aqi":13,"aqi_min":7,"aqi_max":25,"pm25":3.17,"pm10":null,"stations":21},{"datetime_utc":"2026-06-08T16:00:00Z","aqi":12,"aqi_min":5,"aqi_max":32,"pm25":2.86,"pm10":null,"stations":24},{"datetime_utc":"2026-06-08T17:00:00Z","aqi":15,"aqi_min":4,"aqi_max":59,"pm25":3.58,"pm10":null,"stations":25},{"datetime_utc":"2026-06-08T18:00:00Z","aqi":13,"aqi_min":3,"aqi_max":52,"pm25":3.19,"pm10":null,"stations":22},{"datetime_utc":"2026-06-08T19:00:00Z","aqi":13,"aqi_min":7,"aqi_max":21,"pm25":3.24,"pm10":null,"stations":14},{"datetime_utc":"2026-06-08T20:00:00Z","aqi":15,"aqi_min":7,"aqi_max":47,"pm25":3.7,"pm10":null,"stations":23},{"datetime_utc":"2026-06-08T21:00:00Z","aqi":13,"aqi_min":8,"aqi_max":19,"pm25":3.24,"pm10":null,"stations":13},{"datetime_utc":"2026-06-08T22:00:00Z","aqi":14,"aqi_min":7,"aqi_max":23,"pm25":3.45,"pm10":null,"stations":17},{"datetime_utc":"2026-06-08T23:00:00Z","aqi":17,"aqi_min":11,"aqi_max":25,"pm25":4.03,"pm10":null,"stations":3}],"daily":[{"date":"2026-06-07","aqi_avg":13,"aqi_min":10,"aqi_max":18,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":3.0,"pm10_avg":null,"hours":24,"stations_avg":21},{"date":"2026-06-08","aqi_avg":15,"aqi_min":12,"aqi_max":18,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":3.5,"pm10_avg":null,"hours":24,"stations_avg":20}]}