{"city":"Teocaltiche","country":"Mexico","lat":21.43433952331543,"lon":-102.57427215576172,"range":"7d","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-22T00:00:00Z","aqi":54,"aqi_min":51,"aqi_max":56,"pm25":13.29,"pm10":null,"stations":2},{"datetime_utc":"2026-05-22T01:00:00Z","aqi":82,"aqi_min":82,"aqi_max":82,"pm25":26.84,"pm10":null,"stations":1},{"datetime_utc":"2026-05-22T03:00:00Z","aqi":83,"aqi_min":83,"aqi_max":83,"pm25":27.32,"pm10":null,"stations":1},{"datetime_utc":"2026-05-22T04:00:00Z","aqi":82,"aqi_min":82,"aqi_max":82,"pm25":26.84,"pm10":null,"stations":1},{"datetime_utc":"2026-05-22T05:00:00Z","aqi":63,"aqi_min":36,"aqi_max":83,"pm25":17.98,"pm10":null,"stations":2},{"datetime_utc":"2026-05-22T06:00:00Z","aqi":75,"aqi_min":74,"aqi_max":76,"pm25":23.51,"pm10":null,"stations":2},{"datetime_utc":"2026-05-22T09:00:00Z","aqi":31,"aqi_min":31,"aqi_max":31,"pm25":7.44,"pm10":null,"stations":1},{"datetime_utc":"2026-05-22T12:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-05-22T13:00:00Z","aqi":46,"aqi_min":46,"aqi_max":46,"pm25":11.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-22T14:00:00Z","aqi":63,"aqi_min":63,"aqi_max":63,"pm25":17.81,"pm10":null,"stations":1},{"datetime_utc":"2026-05-22T17:00:00Z","aqi":67,"aqi_min":43,"aqi_max":87,"pm25":19.77,"pm10":null,"stations":2},{"datetime_utc":"2026-05-22T19:00:00Z","aqi":45,"aqi_min":45,"aqi_max":45,"pm25":10.8,"pm10":null,"stations":1},{"datetime_utc":"2026-05-22T20:00:00Z","aqi":80,"aqi_min":80,"aqi_max":80,"pm25":25.89,"pm10":null,"stations":1},{"datetime_utc":"2026-05-22T21:00:00Z","aqi":57,"aqi_min":57,"aqi_max":57,"pm25":14.95,"pm10":null,"stations":1},{"datetime_utc":"2026-05-22T23:00:00Z","aqi":57,"aqi_min":25,"aqi_max":76,"pm25":14.99,"pm10":null,"stations":2},{"datetime_utc":"2026-05-23T02:00:00Z","aqi":58,"aqi_min":58,"aqi_max":58,"pm25":15.43,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T03:00:00Z","aqi":76,"aqi_min":76,"aqi_max":76,"pm25":23.99,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T04:00:00Z","aqi":47,"aqi_min":25,"aqi_max":60,"pm25":11.19,"pm10":null,"stations":2},{"datetime_utc":"2026-05-23T07:00:00Z","aqi":91,"aqi_min":91,"aqi_max":91,"pm25":31.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T11:00:00Z","aqi":59,"aqi_min":35,"aqi_max":74,"pm25":15.72,"pm10":null,"stations":2},{"datetime_utc":"2026-05-23T12:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T13:00:00Z","aqi":70,"aqi_min":70,"aqi_max":70,"pm25":21.13,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T14:00:00Z","aqi":61,"aqi_min":61,"aqi_max":61,"pm25":16.86,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T15:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T16:00:00Z","aqi":65,"aqi_min":65,"aqi_max":65,"pm25":18.76,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T18:00:00Z","aqi":63,"aqi_min":63,"aqi_max":63,"pm25":17.81,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T19:00:00Z","aqi":80,"aqi_min":80,"aqi_max":80,"pm25":25.89,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T20:00:00Z","aqi":47,"aqi_min":47,"aqi_max":47,"pm25":11.28,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T22:00:00Z","aqi":40,"aqi_min":30,"aqi_max":49,"pm25":9.48,"pm10":null,"stations":2},{"datetime_utc":"2026-05-23T23:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T00:00:00Z","aqi":21,"aqi_min":21,"aqi_max":21,"pm25":5.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T04:00:00Z","aqi":39,"aqi_min":39,"aqi_max":39,"pm25":9.36,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T05:00:00Z","aqi":78,"aqi_min":78,"aqi_max":78,"pm25":24.94,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T08:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T09:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T11:00:00Z","aqi":15,"aqi_min":15,"aqi_max":15,"pm25":3.6,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T12:00:00Z","aqi":53,"aqi_min":53,"aqi_max":53,"pm25":13.05,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T13:00:00Z","aqi":54,"aqi_min":14,"aqi_max":75,"pm25":13.44,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T14:00:00Z","aqi":65,"aqi_min":65,"aqi_max":65,"pm25":18.76,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T15:00:00Z","aqi":95,"aqi_min":57,"aqi_max":139,"pm25":32.94,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T16:00:00Z","aqi":58,"aqi_min":50,"aqi_max":65,"pm25":15.38,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T17:00:00Z","aqi":57,"aqi_min":47,"aqi_max":65,"pm25":15.02,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T19:00:00Z","aqi":500,"aqi_min":500,"aqi_max":500,"pm25":982.62,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T20:00:00Z","aqi":55,"aqi_min":55,"aqi_max":55,"pm25":14.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T21:00:00Z","aqi":54,"aqi_min":39,"aqi_max":63,"pm25":13.58,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T22:00:00Z","aqi":61,"aqi_min":49,"aqi_max":72,"pm25":16.92,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T23:00:00Z","aqi":51,"aqi_min":51,"aqi_max":51,"pm25":12.1,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T00:00:00Z","aqi":67,"aqi_min":45,"aqi_max":85,"pm25":19.53,"pm10":null,"stations":2},{"datetime_utc":"2026-05-25T02:00:00Z","aqi":27,"aqi_min":27,"aqi_max":27,"pm25":6.48,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T05:00:00Z","aqi":32,"aqi_min":32,"aqi_max":32,"pm25":7.68,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T06:00:00Z","aqi":21,"aqi_min":21,"aqi_max":21,"pm25":5.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T08:00:00Z","aqi":63,"aqi_min":63,"aqi_max":63,"pm25":17.81,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T10:00:00Z","aqi":18,"aqi_min":18,"aqi_max":18,"pm25":4.32,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T13:00:00Z","aqi":73,"aqi_min":60,"aqi_max":86,"pm25":22.56,"pm10":null,"stations":2},{"datetime_utc":"2026-05-25T14:00:00Z","aqi":93,"aqi_min":93,"aqi_max":93,"pm25":32.07,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T17:00:00Z","aqi":54,"aqi_min":18,"aqi_max":74,"pm25":13.68,"pm10":null,"stations":2},{"datetime_utc":"2026-05-25T18:00:00Z","aqi":22,"aqi_min":22,"aqi_max":22,"pm25":5.28,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T19:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T21:00:00Z","aqi":108,"aqi_min":108,"aqi_max":108,"pm25":38.34,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T22:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T01:00:00Z","aqi":64,"aqi_min":64,"aqi_max":64,"pm25":18.28,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T02:00:00Z","aqi":107,"aqi_min":107,"aqi_max":107,"pm25":37.94,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T03:00:00Z","aqi":81,"aqi_min":19,"aqi_max":132,"pm25":26.32,"pm10":null,"stations":2},{"datetime_utc":"2026-05-26T04:00:00Z","aqi":67,"aqi_min":67,"aqi_max":67,"pm25":19.71,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T05:00:00Z","aqi":74,"aqi_min":18,"aqi_max":117,"pm25":23.16,"pm10":null,"stations":2},{"datetime_utc":"2026-05-26T07:00:00Z","aqi":38,"aqi_min":38,"aqi_max":38,"pm25":9.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T09:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T10:00:00Z","aqi":44,"aqi_min":44,"aqi_max":44,"pm25":10.56,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T11:00:00Z","aqi":50,"aqi_min":43,"aqi_max":54,"pm25":11.92,"pm10":null,"stations":2},{"datetime_utc":"2026-05-26T12:00:00Z","aqi":9,"aqi_min":9,"aqi_max":9,"pm25":2.16,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T13:00:00Z","aqi":41,"aqi_min":41,"aqi_max":41,"pm25":9.84,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T15:00:00Z","aqi":137,"aqi_min":137,"aqi_max":137,"pm25":50.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T18:00:00Z","aqi":459,"aqi_min":459,"aqi_max":459,"pm25":448.91,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T20:00:00Z","aqi":69,"aqi_min":69,"aqi_max":69,"pm25":20.66,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T21:00:00Z","aqi":500,"aqi_min":500,"aqi_max":500,"pm25":906.02,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T22:00:00Z","aqi":500,"aqi_min":500,"aqi_max":500,"pm25":982.62,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T00:00:00Z","aqi":42,"aqi_min":35,"aqi_max":51,"pm25":10.25,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T02:00:00Z","aqi":64,"aqi_min":42,"aqi_max":81,"pm25":18.22,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T04:00:00Z","aqi":67,"aqi_min":52,"aqi_max":83,"pm25":19.95,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T05:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T06:00:00Z","aqi":43,"aqi_min":43,"aqi_max":43,"pm25":10.32,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T08:00:00Z","aqi":56,"aqi_min":24,"aqi_max":74,"pm25":14.4,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T09:00:00Z","aqi":44,"aqi_min":44,"aqi_max":44,"pm25":10.56,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T11:00:00Z","aqi":81,"aqi_min":81,"aqi_max":81,"pm25":26.37,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T12:00:00Z","aqi":67,"aqi_min":67,"aqi_max":67,"pm25":19.71,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T13:00:00Z","aqi":84,"aqi_min":84,"aqi_max":84,"pm25":27.79,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T14:00:00Z","aqi":49,"aqi_min":49,"aqi_max":49,"pm25":11.76,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T15:00:00Z","aqi":48,"aqi_min":48,"aqi_max":48,"pm25":11.52,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T16:00:00Z","aqi":38,"aqi_min":38,"aqi_max":38,"pm25":9.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T17:00:00Z","aqi":2,"aqi_min":2,"aqi_max":2,"pm25":0.48,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T20:00:00Z","aqi":10,"aqi_min":10,"aqi_max":10,"pm25":2.4,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T21:00:00Z","aqi":55,"aqi_min":55,"aqi_max":55,"pm25":14.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T22:00:00Z","aqi":25,"aqi_min":25,"aqi_max":25,"pm25":6.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T00:00:00Z","aqi":60,"aqi_min":50,"aqi_max":70,"pm25":16.57,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T01:00:00Z","aqi":46,"aqi_min":46,"aqi_max":46,"pm25":11.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":42,"aqi_min":30,"aqi_max":53,"pm25":10.13,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":52,"aqi_min":52,"aqi_max":52,"pm25":12.58,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":41,"aqi_min":41,"aqi_max":41,"pm25":9.84,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":46,"aqi_min":22,"aqi_max":61,"pm25":11.07,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T11:00:00Z","aqi":30,"aqi_min":30,"aqi_max":30,"pm25":7.2,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":18,"aqi_min":18,"aqi_max":18,"pm25":4.32,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":18,"aqi_min":10,"aqi_max":26,"pm25":4.32,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":67,"aqi_min":67,"aqi_max":67,"pm25":19.71,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":65,"aqi_min":65,"aqi_max":65,"pm25":18.76,"pm10":null,"stations":1}],"daily":[{"date":"2026-05-22","aqi_avg":60,"aqi_min":22,"aqi_max":83,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":17.6,"pm10_avg":null,"hours":15,"stations_avg":1},{"date":"2026-05-23","aqi_avg":60,"aqi_min":30,"aqi_max":91,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":16.9,"pm10_avg":null,"hours":15,"stations_avg":1},{"date":"2026-05-24","aqi_avg":77,"aqi_min":15,"aqi_max":500,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":70.9,"pm10_avg":null,"hours":17,"stations_avg":1},{"date":"2026-05-25","aqi_avg":54,"aqi_min":18,"aqi_max":108,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":15.7,"pm10_avg":null,"hours":13,"stations_avg":1},{"date":"2026-05-26","aqi_avg":144,"aqi_min":9,"aqi_max":500,"aqi_color":"#ea580c","aqi_label":"Unhealthy for sensitive groups","pm25_avg":162.1,"pm10_avg":null,"hours":16,"stations_avg":1},{"date":"2026-05-27","aqi_avg":49,"aqi_min":2,"aqi_max":84,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":13.5,"pm10_avg":null,"hours":17,"stations_avg":1},{"date":"2026-05-28","aqi_avg":44,"aqi_min":18,"aqi_max":67,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":11.4,"pm10_avg":null,"hours":11,"stations_avg":1}]}