{"city":"Batavia","country":"United States","lat":42.99811935424805,"lon":-78.1875228881836,"range":"7d","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-23T02:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T03:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T04:00:00Z","aqi":28,"aqi_min":28,"aqi_max":28,"pm25":6.72,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T05:00:00Z","aqi":18,"aqi_min":18,"aqi_max":18,"pm25":4.32,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T06:00:00Z","aqi":19,"aqi_min":19,"aqi_max":19,"pm25":4.56,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T07:00:00Z","aqi":18,"aqi_min":18,"aqi_max":18,"pm25":4.32,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T09:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T10:00:00Z","aqi":16,"aqi_min":16,"aqi_max":16,"pm25":3.84,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T12:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T13:00:00Z","aqi":2,"aqi_min":2,"aqi_max":2,"pm25":0.48,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T15:00:00Z","aqi":11,"aqi_min":11,"aqi_max":11,"pm25":2.64,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T16:00:00Z","aqi":2,"aqi_min":2,"aqi_max":2,"pm25":0.48,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T17:00:00Z","aqi":3,"aqi_min":3,"aqi_max":3,"pm25":0.72,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T18:00:00Z","aqi":4,"aqi_min":4,"aqi_max":4,"pm25":0.96,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T19:00:00Z","aqi":2,"aqi_min":2,"aqi_max":2,"pm25":0.48,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T21:00:00Z","aqi":7,"aqi_min":7,"aqi_max":7,"pm25":1.68,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T22:00:00Z","aqi":15,"aqi_min":15,"aqi_max":15,"pm25":3.6,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T00:00:00Z","aqi":45,"aqi_min":45,"aqi_max":45,"pm25":10.8,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T01:00:00Z","aqi":5,"aqi_min":5,"aqi_max":5,"pm25":1.2,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T02:00:00Z","aqi":27,"aqi_min":27,"aqi_max":27,"pm25":6.48,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T04:00:00Z","aqi":5,"aqi_min":5,"aqi_max":5,"pm25":1.2,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T06:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T09:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T10:00:00Z","aqi":7,"aqi_min":7,"aqi_max":7,"pm25":1.68,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T14:00:00Z","aqi":9,"aqi_min":9,"aqi_max":9,"pm25":2.16,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T15:00:00Z","aqi":18,"aqi_min":18,"aqi_max":18,"pm25":4.32,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T16:00:00Z","aqi":6,"aqi_min":6,"aqi_max":6,"pm25":1.44,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T18:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T20:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T22:00:00Z","aqi":8,"aqi_min":8,"aqi_max":8,"pm25":1.92,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T23:00:00Z","aqi":15,"aqi_min":15,"aqi_max":15,"pm25":3.6,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T01:00:00Z","aqi":11,"aqi_min":11,"aqi_max":11,"pm25":2.64,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T02:00:00Z","aqi":31,"aqi_min":31,"aqi_max":31,"pm25":7.44,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T03:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T04:00:00Z","aqi":4,"aqi_min":4,"aqi_max":4,"pm25":0.96,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T07:00:00Z","aqi":18,"aqi_min":18,"aqi_max":18,"pm25":4.32,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T09:00:00Z","aqi":56,"aqi_min":56,"aqi_max":56,"pm25":14.48,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T10:00:00Z","aqi":23,"aqi_min":23,"aqi_max":23,"pm25":5.52,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T11:00:00Z","aqi":5,"aqi_min":5,"aqi_max":5,"pm25":1.2,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T14:00:00Z","aqi":11,"aqi_min":11,"aqi_max":11,"pm25":2.64,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T16:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T18:00:00Z","aqi":6,"aqi_min":6,"aqi_max":6,"pm25":1.44,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T19:00:00Z","aqi":10,"aqi_min":10,"aqi_max":10,"pm25":2.4,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T20:00:00Z","aqi":19,"aqi_min":19,"aqi_max":19,"pm25":4.56,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T21:00:00Z","aqi":10,"aqi_min":10,"aqi_max":10,"pm25":2.4,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T22:00:00Z","aqi":45,"aqi_min":45,"aqi_max":45,"pm25":10.8,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T00:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T02:00:00Z","aqi":40,"aqi_min":40,"aqi_max":40,"pm25":9.6,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T03:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T04:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T05:00:00Z","aqi":25,"aqi_min":25,"aqi_max":25,"pm25":6.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T06:00:00Z","aqi":27,"aqi_min":27,"aqi_max":27,"pm25":6.48,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T07:00:00Z","aqi":32,"aqi_min":32,"aqi_max":32,"pm25":7.68,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T09:00:00Z","aqi":52,"aqi_min":52,"aqi_max":52,"pm25":12.58,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T11:00:00Z","aqi":40,"aqi_min":40,"aqi_max":40,"pm25":9.6,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T12:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T13:00:00Z","aqi":28,"aqi_min":28,"aqi_max":28,"pm25":6.72,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T14:00:00Z","aqi":15,"aqi_min":15,"aqi_max":15,"pm25":3.6,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T16:00:00Z","aqi":19,"aqi_min":19,"aqi_max":19,"pm25":4.56,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T18:00:00Z","aqi":15,"aqi_min":15,"aqi_max":15,"pm25":3.6,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T22:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T00:00:00Z","aqi":15,"aqi_min":15,"aqi_max":15,"pm25":3.6,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T01:00:00Z","aqi":24,"aqi_min":24,"aqi_max":24,"pm25":5.76,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T03:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T06:00:00Z","aqi":6,"aqi_min":6,"aqi_max":6,"pm25":1.44,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T07:00:00Z","aqi":19,"aqi_min":19,"aqi_max":19,"pm25":4.56,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T12:00:00Z","aqi":37,"aqi_min":37,"aqi_max":37,"pm25":8.88,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T13:00:00Z","aqi":28,"aqi_min":28,"aqi_max":28,"pm25":6.72,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T17:00:00Z","aqi":39,"aqi_min":39,"aqi_max":39,"pm25":9.36,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T18:00:00Z","aqi":18,"aqi_min":18,"aqi_max":18,"pm25":4.32,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T19:00:00Z","aqi":15,"aqi_min":15,"aqi_max":15,"pm25":3.6,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T21:00:00Z","aqi":19,"aqi_min":19,"aqi_max":19,"pm25":4.56,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T23:00:00Z","aqi":24,"aqi_min":24,"aqi_max":24,"pm25":5.76,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T01:00:00Z","aqi":33,"aqi_min":33,"aqi_max":33,"pm25":7.92,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T02:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T03:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T06:00:00Z","aqi":15,"aqi_min":15,"aqi_max":15,"pm25":3.6,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":6,"aqi_min":6,"aqi_max":6,"pm25":1.44,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":9,"aqi_min":9,"aqi_max":9,"pm25":2.16,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":10,"aqi_min":10,"aqi_max":10,"pm25":2.4,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":13,"aqi_min":13,"aqi_max":13,"pm25":3.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":14,"aqi_min":14,"aqi_max":14,"pm25":3.36,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":19,"aqi_min":19,"aqi_max":19,"pm25":4.56,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":20,"aqi_min":20,"aqi_max":20,"pm25":4.8,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":16,"aqi_min":16,"aqi_max":16,"pm25":3.84,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":9,"aqi_min":9,"aqi_max":9,"pm25":2.16,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":18,"aqi_min":18,"aqi_max":18,"pm25":4.32,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":16,"aqi_min":16,"aqi_max":16,"pm25":3.84,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":16,"aqi_min":16,"aqi_max":16,"pm25":3.84,"pm10":null,"stations":1}],"daily":[{"date":"2026-05-23","aqi_avg":12,"aqi_min":2,"aqi_max":28,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":3.0,"pm10_avg":null,"hours":17,"stations_avg":1},{"date":"2026-05-24","aqi_avg":14,"aqi_min":5,"aqi_max":45,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":3.4,"pm10_avg":null,"hours":14,"stations_avg":1},{"date":"2026-05-25","aqi_avg":19,"aqi_min":4,"aqi_max":56,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":4.5,"pm10_avg":null,"hours":15,"stations_avg":1},{"date":"2026-05-26","aqi_avg":26,"aqi_min":14,"aqi_max":52,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":6.3,"pm10_avg":null,"hours":15,"stations_avg":1},{"date":"2026-05-27","aqi_avg":22,"aqi_min":6,"aqi_max":39,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":5.3,"pm10_avg":null,"hours":12,"stations_avg":1},{"date":"2026-05-28","aqi_avg":14,"aqi_min":6,"aqi_max":33,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":3.4,"pm10_avg":null,"hours":11,"stations_avg":1},{"date":"2026-05-29","aqi_avg":16,"aqi_min":9,"aqi_max":20,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":3.8,"pm10_avg":null,"hours":9,"stations_avg":1}]}