{"city":"Needham","country":"United States","lat":42.28342819213867,"lon":-71.23282623291016,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-06-07T12:00:00Z","aqi":34,"aqi_min":28,"aqi_max":52,"pm25":8.12,"pm10":null,"stations":7},{"datetime_utc":"2026-06-07T13:00:00Z","aqi":37,"aqi_min":22,"aqi_max":52,"pm25":8.87,"pm10":null,"stations":11},{"datetime_utc":"2026-06-07T14:00:00Z","aqi":31,"aqi_min":27,"aqi_max":37,"pm25":7.46,"pm10":null,"stations":6},{"datetime_utc":"2026-06-07T15:00:00Z","aqi":38,"aqi_min":23,"aqi_max":49,"pm25":8.98,"pm10":null,"stations":12},{"datetime_utc":"2026-06-07T16:00:00Z","aqi":31,"aqi_min":28,"aqi_max":34,"pm25":7.42,"pm10":null,"stations":6},{"datetime_utc":"2026-06-07T17:00:00Z","aqi":34,"aqi_min":21,"aqi_max":47,"pm25":8.13,"pm10":null,"stations":8},{"datetime_utc":"2026-06-07T18:00:00Z","aqi":28,"aqi_min":15,"aqi_max":36,"pm25":6.66,"pm10":null,"stations":8},{"datetime_utc":"2026-06-07T19:00:00Z","aqi":35,"aqi_min":14,"aqi_max":58,"pm25":8.53,"pm10":null,"stations":11},{"datetime_utc":"2026-06-07T20:00:00Z","aqi":25,"aqi_min":18,"aqi_max":33,"pm25":5.95,"pm10":null,"stations":9},{"datetime_utc":"2026-06-07T21:00:00Z","aqi":26,"aqi_min":18,"aqi_max":45,"pm25":6.32,"pm10":null,"stations":8},{"datetime_utc":"2026-06-07T22:00:00Z","aqi":25,"aqi_min":16,"aqi_max":42,"pm25":5.87,"pm10":null,"stations":10},{"datetime_utc":"2026-06-07T23:00:00Z","aqi":25,"aqi_min":11,"aqi_max":37,"pm25":6.11,"pm10":null,"stations":6},{"datetime_utc":"2026-06-08T00:00:00Z","aqi":24,"aqi_min":3,"aqi_max":45,"pm25":5.82,"pm10":null,"stations":10},{"datetime_utc":"2026-06-08T01:00:00Z","aqi":25,"aqi_min":16,"aqi_max":45,"pm25":5.87,"pm10":null,"stations":8},{"datetime_utc":"2026-06-08T02:00:00Z","aqi":30,"aqi_min":13,"aqi_max":68,"pm25":7.22,"pm10":null,"stations":8},{"datetime_utc":"2026-06-08T03:00:00Z","aqi":25,"aqi_min":5,"aqi_max":52,"pm25":6.13,"pm10":null,"stations":11},{"datetime_utc":"2026-06-08T04:00:00Z","aqi":17,"aqi_min":10,"aqi_max":21,"pm25":4.04,"pm10":null,"stations":5},{"datetime_utc":"2026-06-08T05:00:00Z","aqi":27,"aqi_min":12,"aqi_max":55,"pm25":6.5,"pm10":null,"stations":7},{"datetime_utc":"2026-06-08T06:00:00Z","aqi":21,"aqi_min":8,"aqi_max":35,"pm25":5.0,"pm10":null,"stations":10},{"datetime_utc":"2026-06-08T07:00:00Z","aqi":21,"aqi_min":12,"aqi_max":38,"pm25":4.97,"pm10":null,"stations":12},{"datetime_utc":"2026-06-08T08:00:00Z","aqi":25,"aqi_min":12,"aqi_max":32,"pm25":5.95,"pm10":null,"stations":11},{"datetime_utc":"2026-06-08T09:00:00Z","aqi":18,"aqi_min":13,"aqi_max":35,"pm25":4.44,"pm10":null,"stations":10},{"datetime_utc":"2026-06-08T10:00:00Z","aqi":14,"aqi_min":3,"aqi_max":21,"pm25":3.28,"pm10":null,"stations":8},{"datetime_utc":"2026-06-08T11:00:00Z","aqi":18,"aqi_min":13,"aqi_max":21,"pm25":4.34,"pm10":null,"stations":5},{"datetime_utc":"2026-06-08T12:00:00Z","aqi":22,"aqi_min":14,"aqi_max":33,"pm25":5.33,"pm10":null,"stations":11},{"datetime_utc":"2026-06-08T13:00:00Z","aqi":26,"aqi_min":8,"aqi_max":55,"pm25":6.22,"pm10":null,"stations":14},{"datetime_utc":"2026-06-08T14:00:00Z","aqi":34,"aqi_min":17,"aqi_max":69,"pm25":8.06,"pm10":null,"stations":5},{"datetime_utc":"2026-06-08T15:00:00Z","aqi":29,"aqi_min":17,"aqi_max":53,"pm25":6.85,"pm10":null,"stations":11},{"datetime_utc":"2026-06-08T16:00:00Z","aqi":27,"aqi_min":10,"aqi_max":44,"pm25":6.52,"pm10":null,"stations":11},{"datetime_utc":"2026-06-08T17:00:00Z","aqi":27,"aqi_min":5,"aqi_max":58,"pm25":6.52,"pm10":null,"stations":9},{"datetime_utc":"2026-06-08T18:00:00Z","aqi":30,"aqi_min":18,"aqi_max":49,"pm25":7.06,"pm10":null,"stations":11},{"datetime_utc":"2026-06-08T19:00:00Z","aqi":24,"aqi_min":19,"aqi_max":30,"pm25":5.68,"pm10":null,"stations":3},{"datetime_utc":"2026-06-08T20:00:00Z","aqi":30,"aqi_min":20,"aqi_max":44,"pm25":7.32,"pm10":null,"stations":8},{"datetime_utc":"2026-06-08T21:00:00Z","aqi":25,"aqi_min":17,"aqi_max":38,"pm25":5.88,"pm10":null,"stations":4},{"datetime_utc":"2026-06-08T22:00:00Z","aqi":32,"aqi_min":13,"aqi_max":48,"pm25":7.6,"pm10":null,"stations":8},{"datetime_utc":"2026-06-08T23:00:00Z","aqi":40,"aqi_min":21,"aqi_max":63,"pm25":9.52,"pm10":null,"stations":13},{"datetime_utc":"2026-06-09T00:00:00Z","aqi":31,"aqi_min":13,"aqi_max":55,"pm25":7.36,"pm10":null,"stations":11},{"datetime_utc":"2026-06-09T01:00:00Z","aqi":27,"aqi_min":12,"aqi_max":64,"pm25":6.49,"pm10":null,"stations":10},{"datetime_utc":"2026-06-09T02:00:00Z","aqi":21,"aqi_min":9,"aqi_max":34,"pm25":4.97,"pm10":null,"stations":11},{"datetime_utc":"2026-06-09T03:00:00Z","aqi":25,"aqi_min":12,"aqi_max":47,"pm25":6.04,"pm10":null,"stations":7},{"datetime_utc":"2026-06-09T04:00:00Z","aqi":23,"aqi_min":5,"aqi_max":50,"pm25":5.64,"pm10":null,"stations":9},{"datetime_utc":"2026-06-09T05:00:00Z","aqi":24,"aqi_min":13,"aqi_max":38,"pm25":5.66,"pm10":null,"stations":8},{"datetime_utc":"2026-06-09T06:00:00Z","aqi":20,"aqi_min":12,"aqi_max":30,"pm25":4.83,"pm10":null,"stations":9},{"datetime_utc":"2026-06-09T07:00:00Z","aqi":21,"aqi_min":9,"aqi_max":30,"pm25":5.03,"pm10":null,"stations":11},{"datetime_utc":"2026-06-09T08:00:00Z","aqi":24,"aqi_min":15,"aqi_max":38,"pm25":5.66,"pm10":null,"stations":10},{"datetime_utc":"2026-06-09T09:00:00Z","aqi":23,"aqi_min":18,"aqi_max":27,"pm25":5.48,"pm10":null,"stations":9}],"daily":[{"date":"2026-06-07","aqi_avg":31,"aqi_min":25,"aqi_max":38,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":7.4,"pm10_avg":null,"hours":12,"stations_avg":8},{"date":"2026-06-08","aqi_avg":25,"aqi_min":14,"aqi_max":40,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":6.1,"pm10_avg":null,"hours":24,"stations_avg":9},{"date":"2026-06-09","aqi_avg":24,"aqi_min":20,"aqi_max":31,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":5.7,"pm10_avg":null,"hours":10,"stations_avg":10}]}