{"city":"Vila Franca de Xira","country":"Portugal","lat":38.95524978637695,"lon":-8.989660263061523,"range":"48h","license":"CC BY 4.0","source":"https://cerns.io","hourly":[{"datetime_utc":"2026-05-28T21:00:00Z","aqi":29,"aqi_min":5,"aqi_max":52,"pm25":7.05,"pm10":16.24,"stations":8},{"datetime_utc":"2026-05-28T22:00:00Z","aqi":35,"aqi_min":24,"aqi_max":40,"pm25":8.3,"pm10":7.41,"stations":5},{"datetime_utc":"2026-05-28T23:00:00Z","aqi":28,"aqi_min":25,"aqi_max":33,"pm25":6.83,"pm10":15.94,"stations":4},{"datetime_utc":"2026-05-29T00:00:00Z","aqi":39,"aqi_min":19,"aqi_max":61,"pm25":9.32,"pm10":15.73,"stations":6},{"datetime_utc":"2026-05-29T01:00:00Z","aqi":32,"aqi_min":17,"aqi_max":46,"pm25":7.56,"pm10":9.86,"stations":9},{"datetime_utc":"2026-05-29T02:00:00Z","aqi":29,"aqi_min":8,"aqi_max":45,"pm25":6.88,"pm10":16.32,"stations":7},{"datetime_utc":"2026-05-29T03:00:00Z","aqi":28,"aqi_min":24,"aqi_max":33,"pm25":6.75,"pm10":15.35,"stations":4},{"datetime_utc":"2026-05-29T04:00:00Z","aqi":25,"aqi_min":7,"aqi_max":40,"pm25":5.85,"pm10":16.38,"stations":11},{"datetime_utc":"2026-05-29T05:00:00Z","aqi":26,"aqi_min":8,"aqi_max":40,"pm25":6.21,"pm10":17.09,"stations":11},{"datetime_utc":"2026-05-29T06:00:00Z","aqi":35,"aqi_min":22,"aqi_max":46,"pm25":8.43,"pm10":16.8,"stations":10},{"datetime_utc":"2026-05-29T07:00:00Z","aqi":42,"aqi_min":30,"aqi_max":57,"pm25":10.15,"pm10":7.77,"stations":6},{"datetime_utc":"2026-05-29T08:00:00Z","aqi":29,"aqi_min":23,"aqi_max":33,"pm25":7.04,"pm10":15.12,"stations":4},{"datetime_utc":"2026-05-29T09:00:00Z","aqi":38,"aqi_min":17,"aqi_max":63,"pm25":9.08,"pm10":14.98,"stations":9},{"datetime_utc":"2026-05-29T10:00:00Z","aqi":32,"aqi_min":25,"aqi_max":41,"pm25":7.6,"pm10":15.0,"stations":9},{"datetime_utc":"2026-05-29T11:00:00Z","aqi":40,"aqi_min":28,"aqi_max":58,"pm25":9.63,"pm10":16.22,"stations":7},{"datetime_utc":"2026-05-29T12:00:00Z","aqi":40,"aqi_min":28,"aqi_max":70,"pm25":9.46,"pm10":15.15,"stations":7},{"datetime_utc":"2026-05-29T13:00:00Z","aqi":35,"aqi_min":28,"aqi_max":50,"pm25":8.47,"pm10":7.39,"stations":3},{"datetime_utc":"2026-05-29T14:00:00Z","aqi":30,"aqi_min":21,"aqi_max":37,"pm25":7.17,"pm10":15.96,"stations":5},{"datetime_utc":"2026-05-29T15:00:00Z","aqi":42,"aqi_min":29,"aqi_max":58,"pm25":10.1,"pm10":17.5,"stations":12},{"datetime_utc":"2026-05-29T16:00:00Z","aqi":32,"aqi_min":5,"aqi_max":58,"pm25":7.56,"pm10":19.31,"stations":6},{"datetime_utc":"2026-05-29T17:00:00Z","aqi":36,"aqi_min":27,"aqi_max":56,"pm25":8.6,"pm10":18.8,"stations":8},{"datetime_utc":"2026-05-29T18:00:00Z","aqi":45,"aqi_min":1,"aqi_max":63,"pm25":10.69,"pm10":14.66,"stations":4},{"datetime_utc":"2026-05-29T19:00:00Z","aqi":31,"aqi_min":9,"aqi_max":59,"pm25":7.41,"pm10":18.93,"stations":11},{"datetime_utc":"2026-05-29T20:00:00Z","aqi":40,"aqi_min":25,"aqi_max":58,"pm25":9.67,"pm10":17.93,"stations":6},{"datetime_utc":"2026-05-29T21:00:00Z","aqi":30,"aqi_min":8,"aqi_max":52,"pm25":7.05,"pm10":20.8,"stations":7},{"datetime_utc":"2026-05-29T22:00:00Z","aqi":40,"aqi_min":37,"aqi_max":45,"pm25":9.64,"pm10":11.46,"stations":3},{"datetime_utc":"2026-05-29T23:00:00Z","aqi":34,"aqi_min":29,"aqi_max":40,"pm25":8.06,"pm10":16.23,"stations":4},{"datetime_utc":"2026-05-30T00:00:00Z","aqi":41,"aqi_min":37,"aqi_max":48,"pm25":9.84,"pm10":10.39,"stations":3},{"datetime_utc":"2026-05-30T01:00:00Z","aqi":26,"aqi_min":8,"aqi_max":37,"pm25":6.2,"pm10":15.79,"stations":7},{"datetime_utc":"2026-05-30T02:00:00Z","aqi":32,"aqi_min":29,"aqi_max":34,"pm25":7.64,"pm10":15.51,"stations":4},{"datetime_utc":"2026-05-30T03:00:00Z","aqi":31,"aqi_min":26,"aqi_max":34,"pm25":7.36,"pm10":15.51,"stations":4},{"datetime_utc":"2026-05-30T04:00:00Z","aqi":37,"aqi_min":21,"aqi_max":61,"pm25":8.84,"pm10":15.74,"stations":12},{"datetime_utc":"2026-05-30T05:00:00Z","aqi":38,"aqi_min":27,"aqi_max":48,"pm25":8.97,"pm10":9.23,"stations":8},{"datetime_utc":"2026-05-30T06:00:00Z","aqi":37,"aqi_min":21,"aqi_max":60,"pm25":8.82,"pm10":16.33,"stations":8},{"datetime_utc":"2026-05-30T07:00:00Z","aqi":28,"aqi_min":3,"aqi_max":48,"pm25":6.81,"pm10":15.91,"stations":7},{"datetime_utc":"2026-05-30T08:00:00Z","aqi":38,"aqi_min":25,"aqi_max":59,"pm25":9.24,"pm10":15.46,"stations":8},{"datetime_utc":"2026-05-30T09:00:00Z","aqi":30,"aqi_min":14,"aqi_max":39,"pm25":7.14,"pm10":15.64,"stations":6},{"datetime_utc":"2026-05-30T10:00:00Z","aqi":30,"aqi_min":25,"aqi_max":33,"pm25":7.21,"pm10":14.89,"stations":5},{"datetime_utc":"2026-05-30T11:00:00Z","aqi":27,"aqi_min":1,"aqi_max":43,"pm25":6.37,"pm10":8.56,"stations":4},{"datetime_utc":"2026-05-30T12:00:00Z","aqi":31,"aqi_min":23,"aqi_max":38,"pm25":7.51,"pm10":14.99,"stations":7},{"datetime_utc":"2026-05-30T13:00:00Z","aqi":23,"aqi_min":4,"aqi_max":40,"pm25":5.36,"pm10":14.78,"stations":6},{"datetime_utc":"2026-05-30T14:00:00Z","aqi":30,"aqi_min":17,"aqi_max":38,"pm25":7.07,"pm10":13.84,"stations":9},{"datetime_utc":"2026-05-30T15:00:00Z","aqi":33,"aqi_min":24,"aqi_max":51,"pm25":7.93,"pm10":13.77,"stations":10},{"datetime_utc":"2026-05-30T16:00:00Z","aqi":29,"aqi_min":21,"aqi_max":35,"pm25":6.94,"pm10":12.72,"stations":8},{"datetime_utc":"2026-05-30T17:00:00Z","aqi":32,"aqi_min":21,"aqi_max":51,"pm25":7.56,"pm10":6.92,"stations":8},{"datetime_utc":"2026-05-30T18:00:00Z","aqi":29,"aqi_min":17,"aqi_max":36,"pm25":6.87,"pm10":6.7,"stations":5},{"datetime_utc":"2026-05-30T19:00:00Z","aqi":35,"aqi_min":32,"aqi_max":38,"pm25":8.47,"pm10":9.51,"stations":2},{"datetime_utc":"2026-05-30T20:00:00Z","aqi":29,"aqi_min":23,"aqi_max":35,"pm25":6.91,"pm10":8.13,"stations":2}],"daily":[{"date":"2026-05-28","aqi_avg":31,"aqi_min":28,"aqi_max":35,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":7.4,"pm10_avg":13.2,"hours":3,"stations_avg":6},{"date":"2026-05-29","aqi_avg":35,"aqi_min":25,"aqi_max":45,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":8.3,"pm10_avg":15.4,"hours":24,"stations_avg":7},{"date":"2026-05-30","aqi_avg":32,"aqi_min":23,"aqi_max":41,"aqi_color":"#059669","aqi_label":"Good","pm25_avg":7.6,"pm10_avg":12.9,"hours":21,"stations_avg":6}]}