{"city":"Calvillo","country":"Mexico","lat":21.8458309173584,"lon":-102.71849060058594,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-06-07T21:00:00Z","aqi":39,"aqi_min":39,"aqi_max":39,"pm25":9.36,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T00:00:00Z","aqi":19,"aqi_min":15,"aqi_max":23,"pm25":4.56,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T01:00:00Z","aqi":31,"aqi_min":31,"aqi_max":31,"pm25":7.44,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T02:00:00Z","aqi":43,"aqi_min":43,"aqi_max":43,"pm25":10.32,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T03:00:00Z","aqi":9,"aqi_min":9,"aqi_max":9,"pm25":2.16,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T04:00:00Z","aqi":45,"aqi_min":21,"aqi_max":61,"pm25":10.95,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T05:00:00Z","aqi":15,"aqi_min":5,"aqi_max":25,"pm25":3.6,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T06:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T07:00:00Z","aqi":16,"aqi_min":10,"aqi_max":22,"pm25":3.84,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T08:00:00Z","aqi":23,"aqi_min":23,"aqi_max":23,"pm25":5.52,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T09:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T10:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T11:00:00Z","aqi":26,"aqi_min":22,"aqi_max":30,"pm25":6.24,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T12:00:00Z","aqi":32,"aqi_min":32,"aqi_max":32,"pm25":7.68,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T13:00:00Z","aqi":45,"aqi_min":35,"aqi_max":53,"pm25":10.73,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T14:00:00Z","aqi":24,"aqi_min":22,"aqi_max":26,"pm25":5.76,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T16:00:00Z","aqi":26,"aqi_min":26,"aqi_max":26,"pm25":6.24,"pm10":null,"stations":1},{"datetime_utc":"2026-06-08T17:00:00Z","aqi":33,"aqi_min":28,"aqi_max":38,"pm25":7.92,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T18:00:00Z","aqi":67,"aqi_min":43,"aqi_max":87,"pm25":19.77,"pm10":null,"stations":2},{"datetime_utc":"2026-06-08T21:00:00Z","aqi":37,"aqi_min":19,"aqi_max":46,"pm25":8.8,"pm10":null,"stations":3},{"datetime_utc":"2026-06-08T22:00:00Z","aqi":45,"aqi_min":45,"aqi_max":45,"pm25":10.8,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T00:00:00Z","aqi":35,"aqi_min":35,"aqi_max":35,"pm25":8.4,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T01:00:00Z","aqi":34,"aqi_min":16,"aqi_max":52,"pm25":8.21,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T02:00:00Z","aqi":32,"aqi_min":8,"aqi_max":54,"pm25":7.72,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T04:00:00Z","aqi":28,"aqi_min":18,"aqi_max":37,"pm25":6.6,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T05:00:00Z","aqi":17,"aqi_min":17,"aqi_max":17,"pm25":4.08,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T06:00:00Z","aqi":36,"aqi_min":36,"aqi_max":36,"pm25":8.64,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T07:00:00Z","aqi":7,"aqi_min":7,"aqi_max":7,"pm25":1.68,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T08:00:00Z","aqi":38,"aqi_min":38,"aqi_max":38,"pm25":9.12,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T09:00:00Z","aqi":18,"aqi_min":17,"aqi_max":19,"pm25":4.32,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T11:00:00Z","aqi":40,"aqi_min":15,"aqi_max":57,"pm25":9.54,"pm10":null,"stations":3},{"datetime_utc":"2026-06-09T12:00:00Z","aqi":29,"aqi_min":29,"aqi_max":29,"pm25":6.96,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T14:00:00Z","aqi":61,"aqi_min":61,"aqi_max":61,"pm25":16.86,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T15:00:00Z","aqi":19,"aqi_min":19,"aqi_max":19,"pm25":4.56,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T16:00:00Z","aqi":18,"aqi_min":18,"aqi_max":18,"pm25":4.32,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T17:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-06-09T18:00:00Z","aqi":70,"aqi_min":63,"aqi_max":76,"pm25":20.9,"pm10":null,"stations":2},{"datetime_utc":"2026-06-09T19:00:00Z","aqi":63,"aqi_min":63,"aqi_max":63,"pm25":17.81,"pm10":null,"stations":1}],"daily":[{"date":"2026-06-07","aqi_avg":39,"aqi_min":39,"aqi_max":39,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":9.4,"pm10_avg":null,"hours":1,"stations_avg":1},{"date":"2026-06-08","aqi_avg":32,"aqi_min":9,"aqi_max":67,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":7.9,"pm10_avg":null,"hours":20,"stations_avg":2},{"date":"2026-06-09","aqi_avg":36,"aqi_min":7,"aqi_max":70,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":9.2,"pm10_avg":null,"hours":17,"stations_avg":1}]}