{"city":"Keelung","country":"Taiwan","lat":25.130889892578125,"lon":121.74093627929688,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-28T11:00:00Z","aqi":52,"aqi_min":15,"aqi_max":71,"pm25":12.63,"pm10":null,"stations":17},{"datetime_utc":"2026-05-28T12:00:00Z","aqi":57,"aqi_min":12,"aqi_max":133,"pm25":14.95,"pm10":null,"stations":16},{"datetime_utc":"2026-05-28T13:00:00Z","aqi":56,"aqi_min":14,"aqi_max":85,"pm25":14.39,"pm10":null,"stations":7},{"datetime_utc":"2026-05-28T14:00:00Z","aqi":43,"aqi_min":17,"aqi_max":63,"pm25":10.34,"pm10":null,"stations":15},{"datetime_utc":"2026-05-28T15:00:00Z","aqi":59,"aqi_min":46,"aqi_max":89,"pm25":16.1,"pm10":null,"stations":9},{"datetime_utc":"2026-05-28T16:00:00Z","aqi":55,"aqi_min":28,"aqi_max":97,"pm25":13.97,"pm10":null,"stations":12},{"datetime_utc":"2026-05-28T17:00:00Z","aqi":76,"aqi_min":38,"aqi_max":102,"pm25":23.78,"pm10":null,"stations":5},{"datetime_utc":"2026-05-28T18:00:00Z","aqi":61,"aqi_min":17,"aqi_max":107,"pm25":16.99,"pm10":null,"stations":13},{"datetime_utc":"2026-05-28T19:00:00Z","aqi":58,"aqi_min":6,"aqi_max":89,"pm25":15.18,"pm10":null,"stations":17},{"datetime_utc":"2026-05-28T20:00:00Z","aqi":29,"aqi_min":6,"aqi_max":55,"pm25":6.94,"pm10":null,"stations":10},{"datetime_utc":"2026-05-28T21:00:00Z","aqi":62,"aqi_min":19,"aqi_max":99,"pm25":17.12,"pm10":null,"stations":20},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":58,"aqi_min":31,"aqi_max":76,"pm25":15.56,"pm10":null,"stations":7},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":56,"aqi_min":30,"aqi_max":89,"pm25":14.32,"pm10":null,"stations":9},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":61,"aqi_min":30,"aqi_max":104,"pm25":16.8,"pm10":null,"stations":11},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":63,"aqi_min":20,"aqi_max":131,"pm25":17.8,"pm10":null,"stations":12},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":66,"aqi_min":31,"aqi_max":119,"pm25":19.35,"pm10":null,"stations":15},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":63,"aqi_min":25,"aqi_max":125,"pm25":17.7,"pm10":null,"stations":16},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":55,"aqi_min":30,"aqi_max":87,"pm25":14.1,"pm10":null,"stations":19},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":68,"aqi_min":26,"aqi_max":157,"pm25":19.99,"pm10":null,"stations":12},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":62,"aqi_min":25,"aqi_max":94,"pm25":17.31,"pm10":null,"stations":16},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":63,"aqi_min":35,"aqi_max":85,"pm25":17.7,"pm10":null,"stations":11},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":61,"aqi_min":22,"aqi_max":95,"pm25":17.02,"pm10":null,"stations":14},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":55,"aqi_min":14,"aqi_max":87,"pm25":14.05,"pm10":null,"stations":12},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":58,"aqi_min":2,"aqi_max":80,"pm25":15.64,"pm10":null,"stations":12},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":63,"aqi_min":4,"aqi_max":155,"pm25":17.87,"pm10":null,"stations":15},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":58,"aqi_min":11,"aqi_max":102,"pm25":15.33,"pm10":null,"stations":15},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":58,"aqi_min":25,"aqi_max":85,"pm25":15.38,"pm10":null,"stations":8},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":56,"aqi_min":9,"aqi_max":130,"pm25":14.74,"pm10":null,"stations":15},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":61,"aqi_min":26,"aqi_max":99,"pm25":16.68,"pm10":null,"stations":17},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":63,"aqi_min":29,"aqi_max":154,"pm25":17.9,"pm10":null,"stations":15},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":59,"aqi_min":25,"aqi_max":102,"pm25":15.95,"pm10":null,"stations":16},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":55,"aqi_min":12,"aqi_max":132,"pm25":14.12,"pm10":null,"stations":16},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":48,"aqi_min":30,"aqi_max":62,"pm25":11.52,"pm10":null,"stations":12},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":58,"aqi_min":17,"aqi_max":110,"pm25":15.56,"pm10":null,"stations":12},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":44,"aqi_min":16,"aqi_max":74,"pm25":10.49,"pm10":null,"stations":9},{"datetime_utc":"2026-05-29T22:00:00Z","aqi":59,"aqi_min":3,"aqi_max":124,"pm25":16.08,"pm10":null,"stations":22},{"datetime_utc":"2026-05-29T23:00:00Z","aqi":59,"aqi_min":5,"aqi_max":134,"pm25":16.03,"pm10":null,"stations":15},{"datetime_utc":"2026-05-30T00:00:00Z","aqi":58,"aqi_min":7,"aqi_max":132,"pm25":15.16,"pm10":null,"stations":15},{"datetime_utc":"2026-05-30T01:00:00Z","aqi":58,"aqi_min":27,"aqi_max":89,"pm25":15.22,"pm10":null,"stations":15},{"datetime_utc":"2026-05-30T02:00:00Z","aqi":60,"aqi_min":23,"aqi_max":116,"pm25":16.37,"pm10":null,"stations":20},{"datetime_utc":"2026-05-30T03:00:00Z","aqi":58,"aqi_min":6,"aqi_max":87,"pm25":15.32,"pm10":null,"stations":26},{"datetime_utc":"2026-05-30T04:00:00Z","aqi":58,"aqi_min":10,"aqi_max":78,"pm25":15.33,"pm10":null,"stations":16},{"datetime_utc":"2026-05-30T05:00:00Z","aqi":70,"aqi_min":22,"aqi_max":154,"pm25":21.07,"pm10":null,"stations":13},{"datetime_utc":"2026-05-30T06:00:00Z","aqi":61,"aqi_min":3,"aqi_max":87,"pm25":16.77,"pm10":null,"stations":15},{"datetime_utc":"2026-05-30T07:00:00Z","aqi":67,"aqi_min":24,"aqi_max":99,"pm25":19.71,"pm10":null,"stations":17},{"datetime_utc":"2026-05-30T08:00:00Z","aqi":65,"aqi_min":42,"aqi_max":119,"pm25":18.75,"pm10":null,"stations":20},{"datetime_utc":"2026-05-30T09:00:00Z","aqi":65,"aqi_min":56,"aqi_max":99,"pm25":18.92,"pm10":null,"stations":12},{"datetime_utc":"2026-05-30T10:00:00Z","aqi":59,"aqi_min":55,"aqi_max":62,"pm25":16.09,"pm10":null,"stations":5}],"daily":[{"date":"2026-05-28","aqi_avg":56,"aqi_min":29,"aqi_max":76,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":14.8,"pm10_avg":null,"hours":13,"stations_avg":12},{"date":"2026-05-29","aqi_avg":59,"aqi_min":44,"aqi_max":68,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":16.0,"pm10_avg":null,"hours":24,"stations_avg":14},{"date":"2026-05-30","aqi_avg":62,"aqi_min":58,"aqi_max":70,"aqi_color":"#d97706","aqi_label":"Moderate","pm25_avg":17.2,"pm10_avg":null,"hours":11,"stations_avg":16}]}