{"city":"Granite Bay","country":"United States","lat":38.76322937011719,"lon":-121.1638412475586,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-29T07:00:00Z","aqi":25,"aqi_min":9,"aqi_max":55,"pm25":6.12,"pm10":null,"stations":57},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":25,"aqi_min":4,"aqi_max":34,"pm25":6.07,"pm10":null,"stations":60},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":28,"aqi_min":5,"aqi_max":39,"pm25":6.6,"pm10":null,"stations":60},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":35,"aqi_min":2,"aqi_max":52,"pm25":8.54,"pm10":null,"stations":55},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":44,"aqi_min":13,"aqi_max":60,"pm25":10.59,"pm10":null,"stations":61},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":51,"aqi_min":8,"aqi_max":63,"pm25":12.15,"pm10":null,"stations":58},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":52,"aqi_min":11,"aqi_max":63,"pm25":12.57,"pm10":null,"stations":59},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":53,"aqi_min":24,"aqi_max":63,"pm25":13.04,"pm10":null,"stations":54},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":47,"aqi_min":17,"aqi_max":61,"pm25":11.19,"pm10":null,"stations":61},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":40,"aqi_min":9,"aqi_max":58,"pm25":9.53,"pm10":null,"stations":60},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":34,"aqi_min":7,"aqi_max":56,"pm25":8.18,"pm10":null,"stations":61},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":33,"aqi_min":13,"aqi_max":64,"pm25":7.97,"pm10":null,"stations":60},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":30,"aqi_min":17,"aqi_max":51,"pm25":7.27,"pm10":null,"stations":58},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":30,"aqi_min":16,"aqi_max":74,"pm25":7.26,"pm10":null,"stations":57},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":27,"aqi_min":8,"aqi_max":38,"pm25":6.45,"pm10":null,"stations":54},{"datetime_utc":"2026-05-29T22:00:00Z","aqi":31,"aqi_min":15,"aqi_max":79,"pm25":7.37,"pm10":null,"stations":56},{"datetime_utc":"2026-05-29T23:00:00Z","aqi":28,"aqi_min":14,"aqi_max":60,"pm25":6.56,"pm10":null,"stations":56},{"datetime_utc":"2026-05-30T00:00:00Z","aqi":25,"aqi_min":13,"aqi_max":37,"pm25":6.12,"pm10":null,"stations":53},{"datetime_utc":"2026-05-30T01:00:00Z","aqi":26,"aqi_min":14,"aqi_max":43,"pm25":6.24,"pm10":null,"stations":59},{"datetime_utc":"2026-05-30T02:00:00Z","aqi":34,"aqi_min":15,"aqi_max":177,"pm25":8.09,"pm10":null,"stations":58},{"datetime_utc":"2026-05-30T03:00:00Z","aqi":25,"aqi_min":15,"aqi_max":57,"pm25":5.94,"pm10":null,"stations":58},{"datetime_utc":"2026-05-30T04:00:00Z","aqi":32,"aqi_min":15,"aqi_max":154,"pm25":7.85,"pm10":null,"stations":62},{"datetime_utc":"2026-05-30T05:00:00Z","aqi":24,"aqi_min":15,"aqi_max":63,"pm25":5.68,"pm10":null,"stations":58},{"datetime_utc":"2026-05-30T06:00:00Z","aqi":23,"aqi_min":14,"aqi_max":50,"pm25":5.36,"pm10":null,"stations":55},{"datetime_utc":"2026-05-30T07:00:00Z","aqi":25,"aqi_min":13,"aqi_max":68,"pm25":5.97,"pm10":null,"stations":57},{"datetime_utc":"2026-05-30T08:00:00Z","aqi":22,"aqi_min":7,"aqi_max":54,"pm25":5.33,"pm10":null,"stations":57},{"datetime_utc":"2026-05-30T09:00:00Z","aqi":23,"aqi_min":4,"aqi_max":65,"pm25":5.55,"pm10":null,"stations":56},{"datetime_utc":"2026-05-30T10:00:00Z","aqi":23,"aqi_min":12,"aqi_max":44,"pm25":5.42,"pm10":null,"stations":54},{"datetime_utc":"2026-05-30T11:00:00Z","aqi":25,"aqi_min":16,"aqi_max":46,"pm25":5.85,"pm10":null,"stations":54},{"datetime_utc":"2026-05-30T12:00:00Z","aqi":24,"aqi_min":3,"aqi_max":50,"pm25":5.78,"pm10":null,"stations":58},{"datetime_utc":"2026-05-30T13:00:00Z","aqi":29,"aqi_min":5,"aqi_max":154,"pm25":6.86,"pm10":null,"stations":62},{"datetime_utc":"2026-05-30T14:00:00Z","aqi":27,"aqi_min":12,"aqi_max":65,"pm25":6.43,"pm10":null,"stations":57},{"datetime_utc":"2026-05-30T15:00:00Z","aqi":30,"aqi_min":14,"aqi_max":91,"pm25":7.17,"pm10":null,"stations":58},{"datetime_utc":"2026-05-30T16:00:00Z","aqi":29,"aqi_min":16,"aqi_max":44,"pm25":7.01,"pm10":null,"stations":55},{"datetime_utc":"2026-05-30T17:00:00Z","aqi":30,"aqi_min":21,"aqi_max":45,"pm25":7.23,"pm10":null,"stations":54},{"datetime_utc":"2026-05-30T18:00:00Z","aqi":33,"aqi_min":5,"aqi_max":91,"pm25":7.96,"pm10":null,"stations":60},{"datetime_utc":"2026-05-30T19:00:00Z","aqi":31,"aqi_min":22,"aqi_max":50,"pm25":7.53,"pm10":null,"stations":55},{"datetime_utc":"2026-05-30T20:00:00Z","aqi":32,"aqi_min":20,"aqi_max":70,"pm25":7.58,"pm10":null,"stations":54},{"datetime_utc":"2026-05-30T21:00:00Z","aqi":31,"aqi_min":19,"aqi_max":65,"pm25":7.5,"pm10":null,"stations":60},{"datetime_utc":"2026-05-30T22:00:00Z","aqi":28,"aqi_min":16,"aqi_max":63,"pm25":6.72,"pm10":null,"stations":54},{"datetime_utc":"2026-05-30T23:00:00Z","aqi":28,"aqi_min":15,"aqi_max":79,"pm25":6.81,"pm10":null,"stations":58},{"datetime_utc":"2026-05-31T00:00:00Z","aqi":24,"aqi_min":1,"aqi_max":57,"pm25":5.68,"pm10":null,"stations":59},{"datetime_utc":"2026-05-31T01:00:00Z","aqi":25,"aqi_min":15,"aqi_max":65,"pm25":5.88,"pm10":null,"stations":58},{"datetime_utc":"2026-05-31T02:00:00Z","aqi":23,"aqi_min":17,"aqi_max":41,"pm25":5.49,"pm10":null,"stations":55},{"datetime_utc":"2026-05-31T03:00:00Z","aqi":27,"aqi_min":17,"aqi_max":119,"pm25":6.54,"pm10":null,"stations":59},{"datetime_utc":"2026-05-31T04:00:00Z","aqi":24,"aqi_min":13,"aqi_max":50,"pm25":5.77,"pm10":null,"stations":57}],"daily":[{"date":"2026-05-29","aqi_avg":36,"aqi_min":25,"aqi_max":53,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":8.7,"pm10_avg":null,"hours":17,"stations_avg":58},{"date":"2026-05-30","aqi_avg":27,"aqi_min":22,"aqi_max":34,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":6.6,"pm10_avg":null,"hours":24,"stations_avg":57},{"date":"2026-05-31","aqi_avg":25,"aqi_min":23,"aqi_max":27,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":5.9,"pm10_avg":null,"hours":5,"stations_avg":58}]}