{"city":"Xunyang","country":"China","lat":32.823890686035156,"lon":109.36528015136719,"range":"7d","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-23T01:00:00Z","aqi":99,"aqi_min":99,"aqi_max":99,"pm25":34.92,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T02:00:00Z","aqi":78,"aqi_min":53,"aqi_max":104,"pm25":24.88,"pm10":null,"stations":2},{"datetime_utc":"2026-05-23T03:00:00Z","aqi":46,"aqi_min":32,"aqi_max":59,"pm25":11.06,"pm10":null,"stations":3},{"datetime_utc":"2026-05-23T04:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T05:00:00Z","aqi":79,"aqi_min":76,"aqi_max":82,"pm25":25.41,"pm10":null,"stations":2},{"datetime_utc":"2026-05-23T06:00:00Z","aqi":46,"aqi_min":25,"aqi_max":59,"pm25":10.95,"pm10":null,"stations":2},{"datetime_utc":"2026-05-23T07:00:00Z","aqi":78,"aqi_min":50,"aqi_max":107,"pm25":24.97,"pm10":null,"stations":2},{"datetime_utc":"2026-05-23T08:00:00Z","aqi":61,"aqi_min":34,"aqi_max":76,"pm25":16.97,"pm10":null,"stations":3},{"datetime_utc":"2026-05-23T09:00:00Z","aqi":76,"aqi_min":76,"aqi_max":76,"pm25":23.99,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T10:00:00Z","aqi":42,"aqi_min":42,"aqi_max":42,"pm25":10.08,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T12:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T13:00:00Z","aqi":25,"aqi_min":25,"aqi_max":25,"pm25":6.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T14:00:00Z","aqi":87,"aqi_min":87,"aqi_max":87,"pm25":29.22,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T17:00:00Z","aqi":62,"aqi_min":25,"aqi_max":104,"pm25":17.28,"pm10":null,"stations":3},{"datetime_utc":"2026-05-23T19:00:00Z","aqi":61,"aqi_min":61,"aqi_max":61,"pm25":16.86,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T21:00:00Z","aqi":58,"aqi_min":46,"aqi_max":68,"pm25":15.61,"pm10":null,"stations":2},{"datetime_utc":"2026-05-23T22:00:00Z","aqi":72,"aqi_min":72,"aqi_max":72,"pm25":22.09,"pm10":null,"stations":1},{"datetime_utc":"2026-05-23T23:00:00Z","aqi":48,"aqi_min":42,"aqi_max":53,"pm25":11.39,"pm10":null,"stations":3},{"datetime_utc":"2026-05-24T00:00:00Z","aqi":72,"aqi_min":55,"aqi_max":97,"pm25":22.24,"pm10":null,"stations":3},{"datetime_utc":"2026-05-24T02:00:00Z","aqi":55,"aqi_min":34,"aqi_max":68,"pm25":14.17,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T03:00:00Z","aqi":58,"aqi_min":50,"aqi_max":65,"pm25":15.55,"pm10":null,"stations":3},{"datetime_utc":"2026-05-24T04:00:00Z","aqi":62,"aqi_min":62,"aqi_max":62,"pm25":17.33,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T05:00:00Z","aqi":55,"aqi_min":55,"aqi_max":55,"pm25":14.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T07:00:00Z","aqi":55,"aqi_min":55,"aqi_max":55,"pm25":14.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T09:00:00Z","aqi":57,"aqi_min":57,"aqi_max":57,"pm25":14.95,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T10:00:00Z","aqi":38,"aqi_min":38,"aqi_max":38,"pm25":9.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T11:00:00Z","aqi":60,"aqi_min":50,"aqi_max":70,"pm25":16.57,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T13:00:00Z","aqi":68,"aqi_min":55,"aqi_max":91,"pm25":20.03,"pm10":null,"stations":3},{"datetime_utc":"2026-05-24T14:00:00Z","aqi":40,"aqi_min":39,"aqi_max":42,"pm25":9.72,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T15:00:00Z","aqi":36,"aqi_min":13,"aqi_max":55,"pm25":8.56,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T16:00:00Z","aqi":46,"aqi_min":46,"aqi_max":46,"pm25":11.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T18:00:00Z","aqi":85,"aqi_min":21,"aqi_max":162,"pm25":28.32,"pm10":null,"stations":4},{"datetime_utc":"2026-05-24T19:00:00Z","aqi":78,"aqi_min":30,"aqi_max":118,"pm25":24.8,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T21:00:00Z","aqi":61,"aqi_min":38,"aqi_max":78,"pm25":17.03,"pm10":null,"stations":2},{"datetime_utc":"2026-05-24T22:00:00Z","aqi":38,"aqi_min":38,"aqi_max":38,"pm25":9.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-24T23:00:00Z","aqi":50,"aqi_min":34,"aqi_max":63,"pm25":12.02,"pm10":null,"stations":3},{"datetime_utc":"2026-05-25T00:00:00Z","aqi":77,"aqi_min":74,"aqi_max":81,"pm25":24.7,"pm10":null,"stations":2},{"datetime_utc":"2026-05-25T01:00:00Z","aqi":72,"aqi_min":72,"aqi_max":72,"pm25":22.09,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T02:00:00Z","aqi":56,"aqi_min":50,"aqi_max":61,"pm25":14.43,"pm10":null,"stations":2},{"datetime_utc":"2026-05-25T03:00:00Z","aqi":55,"aqi_min":55,"aqi_max":55,"pm25":14.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T05:00:00Z","aqi":45,"aqi_min":34,"aqi_max":62,"pm25":10.69,"pm10":null,"stations":4},{"datetime_utc":"2026-05-25T06:00:00Z","aqi":64,"aqi_min":22,"aqi_max":97,"pm25":18.07,"pm10":null,"stations":3},{"datetime_utc":"2026-05-25T08:00:00Z","aqi":42,"aqi_min":42,"aqi_max":42,"pm25":10.08,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T09:00:00Z","aqi":58,"aqi_min":38,"aqi_max":72,"pm25":15.6,"pm10":null,"stations":2},{"datetime_utc":"2026-05-25T10:00:00Z","aqi":49,"aqi_min":46,"aqi_max":50,"pm25":11.68,"pm10":null,"stations":3},{"datetime_utc":"2026-05-25T11:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T12:00:00Z","aqi":56,"aqi_min":56,"aqi_max":56,"pm25":14.48,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T13:00:00Z","aqi":58,"aqi_min":57,"aqi_max":59,"pm25":15.43,"pm10":null,"stations":2},{"datetime_utc":"2026-05-25T14:00:00Z","aqi":38,"aqi_min":38,"aqi_max":38,"pm25":9.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T16:00:00Z","aqi":63,"aqi_min":63,"aqi_max":63,"pm25":17.81,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T20:00:00Z","aqi":23,"aqi_min":23,"aqi_max":23,"pm25":5.52,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T21:00:00Z","aqi":68,"aqi_min":68,"aqi_max":68,"pm25":20.18,"pm10":null,"stations":1},{"datetime_utc":"2026-05-25T22:00:00Z","aqi":85,"aqi_min":85,"aqi_max":85,"pm25":28.27,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T00:00:00Z","aqi":72,"aqi_min":50,"aqi_max":93,"pm25":22.04,"pm10":null,"stations":2},{"datetime_utc":"2026-05-26T01:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T02:00:00Z","aqi":80,"aqi_min":63,"aqi_max":97,"pm25":25.89,"pm10":null,"stations":2},{"datetime_utc":"2026-05-26T03:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T04:00:00Z","aqi":59,"aqi_min":57,"aqi_max":61,"pm25":15.9,"pm10":null,"stations":2},{"datetime_utc":"2026-05-26T05:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T07:00:00Z","aqi":91,"aqi_min":91,"aqi_max":91,"pm25":31.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T09:00:00Z","aqi":46,"aqi_min":46,"aqi_max":46,"pm25":11.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T10:00:00Z","aqi":68,"aqi_min":63,"aqi_max":76,"pm25":20.18,"pm10":null,"stations":3},{"datetime_utc":"2026-05-26T11:00:00Z","aqi":72,"aqi_min":72,"aqi_max":72,"pm25":22.09,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T12:00:00Z","aqi":57,"aqi_min":57,"aqi_max":57,"pm25":14.95,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T13:00:00Z","aqi":56,"aqi_min":42,"aqi_max":65,"pm25":14.42,"pm10":null,"stations":2},{"datetime_utc":"2026-05-26T14:00:00Z","aqi":25,"aqi_min":25,"aqi_max":25,"pm25":6.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T15:00:00Z","aqi":33,"aqi_min":33,"aqi_max":33,"pm25":7.92,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T16:00:00Z","aqi":163,"aqi_min":163,"aqi_max":163,"pm25":78.74,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T18:00:00Z","aqi":70,"aqi_min":70,"aqi_max":70,"pm25":21.13,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T19:00:00Z","aqi":56,"aqi_min":50,"aqi_max":61,"pm25":14.43,"pm10":null,"stations":2},{"datetime_utc":"2026-05-26T20:00:00Z","aqi":46,"aqi_min":46,"aqi_max":46,"pm25":11.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T22:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-26T23:00:00Z","aqi":72,"aqi_min":72,"aqi_max":72,"pm25":22.09,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T00:00:00Z","aqi":74,"aqi_min":46,"aqi_max":99,"pm25":22.98,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T01:00:00Z","aqi":71,"aqi_min":63,"aqi_max":80,"pm25":21.85,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T02:00:00Z","aqi":105,"aqi_min":89,"aqi_max":119,"pm25":37.24,"pm10":null,"stations":3},{"datetime_utc":"2026-05-27T03:00:00Z","aqi":28,"aqi_min":28,"aqi_max":28,"pm25":6.72,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T04:00:00Z","aqi":65,"aqi_min":65,"aqi_max":65,"pm25":18.76,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T05:00:00Z","aqi":53,"aqi_min":53,"aqi_max":53,"pm25":13.05,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T08:00:00Z","aqi":42,"aqi_min":42,"aqi_max":42,"pm25":10.08,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T09:00:00Z","aqi":61,"aqi_min":46,"aqi_max":74,"pm25":16.66,"pm10":null,"stations":3},{"datetime_utc":"2026-05-27T11:00:00Z","aqi":101,"aqi_min":95,"aqi_max":107,"pm25":35.48,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T14:00:00Z","aqi":73,"aqi_min":68,"aqi_max":78,"pm25":22.56,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T15:00:00Z","aqi":53,"aqi_min":53,"aqi_max":53,"pm25":13.05,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T17:00:00Z","aqi":73,"aqi_min":53,"aqi_max":87,"pm25":22.72,"pm10":null,"stations":3},{"datetime_utc":"2026-05-27T18:00:00Z","aqi":53,"aqi_min":53,"aqi_max":53,"pm25":13.05,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T20:00:00Z","aqi":67,"aqi_min":46,"aqi_max":85,"pm25":19.65,"pm10":null,"stations":2},{"datetime_utc":"2026-05-27T22:00:00Z","aqi":78,"aqi_min":78,"aqi_max":78,"pm25":24.94,"pm10":null,"stations":1},{"datetime_utc":"2026-05-27T23:00:00Z","aqi":70,"aqi_min":70,"aqi_max":70,"pm25":21.13,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T00:00:00Z","aqi":63,"aqi_min":63,"aqi_max":63,"pm25":17.81,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T02:00:00Z","aqi":63,"aqi_min":55,"aqi_max":70,"pm25":17.57,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T04:00:00Z","aqi":88,"aqi_min":29,"aqi_max":142,"pm25":29.56,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T05:00:00Z","aqi":45,"aqi_min":40,"aqi_max":50,"pm25":10.8,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T06:00:00Z","aqi":71,"aqi_min":71,"aqi_max":71,"pm25":21.61,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T07:00:00Z","aqi":53,"aqi_min":50,"aqi_max":59,"pm25":13.24,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T08:00:00Z","aqi":32,"aqi_min":32,"aqi_max":32,"pm25":7.68,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T09:00:00Z","aqi":55,"aqi_min":55,"aqi_max":55,"pm25":14.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T10:00:00Z","aqi":97,"aqi_min":97,"aqi_max":97,"pm25":33.97,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":28,"aqi_min":28,"aqi_max":28,"pm25":6.72,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":53,"aqi_min":53,"aqi_max":53,"pm25":13.05,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":40,"aqi_min":25,"aqi_max":53,"pm25":9.53,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":78,"aqi_min":78,"aqi_max":78,"pm25":24.94,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":57,"aqi_min":38,"aqi_max":89,"pm25":14.98,"pm10":null,"stations":4},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":50,"aqi_min":50,"aqi_max":50,"pm25":12.0,"pm10":null,"stations":1},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":65,"aqi_min":46,"aqi_max":82,"pm25":18.94,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":58,"aqi_min":50,"aqi_max":65,"pm25":15.38,"pm10":null,"stations":2},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":68,"aqi_min":57,"aqi_max":80,"pm25":20.42,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":40,"aqi_min":23,"aqi_max":55,"pm25":9.55,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":85,"aqi_min":85,"aqi_max":85,"pm25":28.27,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":36,"aqi_min":36,"aqi_max":36,"pm25":8.64,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":91,"aqi_min":91,"aqi_max":91,"pm25":31.12,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":74,"aqi_min":74,"aqi_max":74,"pm25":23.04,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":70,"aqi_min":70,"aqi_max":70,"pm25":21.13,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":55,"aqi_min":45,"aqi_max":62,"pm25":14.04,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":49,"aqi_min":30,"aqi_max":60,"pm25":11.79,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":45,"aqi_min":42,"aqi_max":47,"pm25":10.68,"pm10":null,"stations":2},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":45,"aqi_min":40,"aqi_max":50,"pm25":10.8,"pm10":null,"stations":3},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":59,"aqi_min":59,"aqi_max":59,"pm25":15.9,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":104,"aqi_min":104,"aqi_max":104,"pm25":36.72,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":60,"aqi_min":25,"aqi_max":87,"pm25":16.6,"pm10":null,"stations":4},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":28,"aqi_min":28,"aqi_max":28,"pm25":6.72,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":42,"aqi_min":42,"aqi_max":42,"pm25":10.08,"pm10":null,"stations":1},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":22,"aqi_min":18,"aqi_max":25,"pm25":5.16,"pm10":null,"stations":2}],"daily":[{"date":"2026-05-23","aqi_avg":63,"aqi_min":25,"aqi_max":99,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":18.3,"pm10_avg":null,"hours":18,"stations_avg":2},{"date":"2026-05-24","aqi_avg":56,"aqi_min":36,"aqi_max":85,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":15.5,"pm10_avg":null,"hours":18,"stations_avg":2},{"date":"2026-05-25","aqi_avg":57,"aqi_min":23,"aqi_max":85,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":15.8,"pm10_avg":null,"hours":17,"stations_avg":2},{"date":"2026-05-26","aqi_avg":64,"aqi_min":25,"aqi_max":163,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":19.7,"pm10_avg":null,"hours":20,"stations_avg":1},{"date":"2026-05-27","aqi_avg":67,"aqi_min":28,"aqi_max":105,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":20.0,"pm10_avg":null,"hours":16,"stations_avg":2},{"date":"2026-05-28","aqi_avg":59,"aqi_min":28,"aqi_max":97,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":16.5,"pm10_avg":null,"hours":19,"stations_avg":2},{"date":"2026-05-29","aqi_avg":57,"aqi_min":22,"aqi_max":104,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":16.3,"pm10_avg":null,"hours":16,"stations_avg":2}]}