Open-Meteo Air Quality

Science API · Works globally · AQI, PM2.5, PM10, O3, NO2 · Open-Meteo free tier

TL;DR

Open-Meteo's Air Quality API provides current and forecasted air pollution data for any global location, sourced from the Copernicus Atmosphere Monitoring Service (CAMS). It returns the European Air Quality Index (EAQI), US AQI, and individual pollutant concentrations including PM2.5, PM10, ozone (O3), nitrogen dioxide (NO2), sulfur dioxide (SO2), and carbon monoxide (CO). Like all Open-Meteo APIs, it is completely free with no rate limits for reasonable use.

Quick start: https://air-quality-api.open-meteo.com/v1/air-quality?latitude=50&longitude=10¤t=european_aqi

No API key needed — just make a request!

How to Use This API

1. Current European AQI

https://air-quality-api.open-meteo.com/v1/air-quality?latitude=50&longitude=10¤t=european_aqi

2. Full Pollutant Forecast

https://air-quality-api.open-meteo.com/v1/air-quality?latitude=48.85&longitude=2.35¤t=european_aqi,us_aqi,pm2_5,pm10,ozone,nitrogen_dioxide

3. JavaScript — Check Air Quality

fetch('https://air-quality-api.open-meteo.com/v1/air-quality?latitude=51.50&longitude=-0.12¤t=european_aqi,us_aqi,pm2_5')
  .then(r => r.json())
  .then(d => {
    const c = d.current;
    console.log('European AQI:', c.european_aqi);
    console.log('US AQI:', c.us_aqi);
    console.log('PM2.5:', c.pm2_5, 'µg/m³');
  });

4. Python — Pollution Data

import requests

resp = requests.get('https://air-quality-api.open-meteo.com/v1/air-quality', params={
    'latitude': 40.71, 'longitude': -74.01,
    'current': 'european_aqi,pm2_5,pm10,ozone',
    'timezone': 'America/New_York'
})
d = resp.json()['current']
print(f"AQI: {d['european_aqi']}")
print(f"PM2.5: {d['pm2_5']} µg/m³")
print(f"PM10: {d['pm10']} µg/m³")
print(f"Ozone: {d['ozone']} µg/m³")
Try it: https://air-quality-api.open-meteo.com/v1/air-quality?latitude=50&longitude=10¤t=european_aqi

Frequently Asked Questions

How is the European AQI different from US AQI?
The European AQI (EAQI) uses a 0-100+ scale with 6 bands (Good to Extremely Poor). US AQI uses 0-500 with 6 bands. They use different breakpoints for each pollutant.
What pollutants are available?
PM2.5, PM10, ozone (O3), nitrogen dioxide (NO2), sulfur dioxide (SO2), carbon monoxide (CO), ammonia (NH3), and aerosol optical depth (AOD).
What is the forecast range?
The API provides 4-day hourly forecasts and 16-day daily forecasts for all pollutant variables.
What data source does this use?
The Copernicus Atmosphere Monitoring Service (CAMS), part of the EU's Earth observation program. The same data used by European environmental agencies.
Is there any rate limit?
Open-Meteo APIs have no rate limits for reasonable usage. You can make thousands of requests per day without issues.

What You Can Build