FreeHow credits work →
AQ
Air qualityOpenAQ API v3

OpenAQ

OpenAQ is a non-profit platform that gathers publicly available air quality measurements from government monitoring networks, research groups and air-sensor providers into one open API. Through ScholarMuse an agent can give a latitude, a longitude and a date range and get back the nearest stations within 25 km, each with its daily mean, minimum and maximum for the pollutants it measures.

ScholarMuse tools: get_air_quality. Each successful call uses credits.

Ask your agent

Get daily NO2 from the stations nearest to 51.5074, -0.1278 (central London) for 1 to 7 September 2026.
What were the daily PM2.5 levels near 28.6139, 77.2090 (New Delhi) in the first three days of November 2025?
Which air quality stations lie within 10 km of my study site at 39.9042 N, 116.4074 E, who runs them and are they reference-grade?

What your agent gets back

Every record carries id, source, title, url, license, attribution and retrievedAt. The fields below are the data that comes from OpenAQ.

get_air_quality

One record per station, nearest first, at most three per call. The series sit in measurements: one entry per pollutant sensor, each with its own observations.

name
Station name, with locality when OpenAQ has one
country
Two-letter country code
latitude, longitude
Position of the station
distanceKm
Distance from the requested point in km
provider
Network or service the data comes through, e.g. London Air Quality Network
owner
Owner of the station as OpenAQ lists it
referenceGrade
True for a reference-grade monitor, false for an air sensor
licenses
Licence names attached to the station; can be empty
licenseAttribution
Who to credit under that licence, when given
firstMeasurement, lastMeasurement
First and latest reading OpenAQ holds for the station (UTC)
start, end
The date range requested
measurements[].pollutant
pm25, pm10, no2, o3, so2 or co
measurements[].units
Units reported by the sensor, e.g. µg/m³
measurements[].sensorId
OpenAQ sensor id
measurements[].statistic
Always daily mean
measurements[].observations
Rows of date, value (the daily mean), min, max and coveragePercent

What it covers

  • Fixed stations that report to OpenAQ. Its API listed 159 countries and 173 data providers on 13 October 2026. Coverage depends on where stations exist: dense in many cities, absent in many rural and remote areas.
  • Six pollutants: PM2.5, PM10, NO2, O3, SO2 and CO. Ask for all of them or name the ones you need.
  • The three nearest stations that measure a requested pollutant, within a radius you set (25 km by default and at most). Stations that were still reporting in the requested period are preferred.
  • Daily means with each day's minimum, maximum and percentage of expected readings, for a date range of up to 366 days. Without dates, the last 7 days are returned.

Limits

  • Measured data only. There are no forecasts, no modelled or satellite values, no air quality index and no interpolation between stations: with no station within 25 km, the result is empty.
  • Daily means only, not hourly readings. Mobile monitors are left out, and so are the other parameters OpenAQ holds, such as black carbon, PM1, temperature and humidity.
  • Values are passed on as the station reported them, without quality control. Reference monitors and low-cost sensors appear side by side (see referenceGrade), and faulty readings such as negative concentrations are not removed. Check coveragePercent before using a day.
  • A listed station can come back with no observations for the period, for example when it started later or has a gap.
  • Units come from each sensor. Read them with every series instead of assuming one unit per pollutant.
  • One point per call. A call makes one upstream request per pollutant sensor, about one per second, so asking for all six pollutants can take 15 seconds or more.

How ScholarMuse reaches OpenAQ

The connector calls the OpenAQ API at api.openaq.org/v3 with ScholarMuse's own API key in the X-API-Key header: /locations to find the stations around the point, then /sensors/{id}/days for each pollutant sensor. Without a configured key the tool is not offered at all.

The station list is cached for up to 6 hours and daily values for up to 1 hour, so the latest day can lag OpenAQ by that long.

API key: the upstream API needs one; ScholarMuse uses its own, so you do not add one.

Licence and attribution

Licence: Varies by data provider (many CC BY 4.0); see each station

Air quality data from OpenAQ (openaq.org) and the original monitoring agencies listed with each station.

Each record carries the licence of its own station (for example the UK Open Government Licence or CC BY 4.0) and an attribution line that names the station’s licence holder or provider, followed by “via OpenAQ (openaq.org)”. The licence above is used when a station lists none. When you cite the data in a paper, follow OpenAQ's own citation guidance.

Related sources

FAQ

ScholarMuse is not an official OpenAQ product. It is one MCP server for academic data, and its get_air_quality tool queries OpenAQ. An agent connected to ScholarMuse can use OpenAQ without a separate server.

No. The OpenAQ API needs a key, and ScholarMuse calls it with its own. You sign in to ScholarMuse once and your agent calls the tool.

The connector calls the OpenAQ API at api.openaq.org/v3 with ScholarMuse's own API key in the X-API-Key header: /locations to find the stations around the point, then /sensors/{id}/days for each pollutant sensor. Without a configured key the tool is not offered at all. The station list is cached for up to 6 hours and daily values for up to 1 hour, so the latest day can lag OpenAQ by that long.

Varies by data provider (many CC BY 4.0); see each station. Attribution: Air quality data from OpenAQ (openaq.org) and the original monitoring agencies listed with each station. Each record carries the licence of its own station (for example the UK Open Government Licence or CC BY 4.0) and an attribution line that names the station’s licence holder or provider, followed by “via OpenAQ (openaq.org)”. The licence above is used when a station lists none.

Yes. Each successful call to get_air_quality uses credits, and a call that fails is not charged. Current price: Air quality data for any place, 1 credit / call.