AirGradient Test API App

A quick look at the air.

Supplementary web preview · v2.3.0-rc.2

Get the main Python app ↗
Supplementary edition

The Python + localhost app is the main version.

This page is provided for convenient viewing without installation. For the fuller experience and better results when testing the API, download and use the main app: it makes on-demand requests, supports more device controls, and offers authorized hourly access. Both editions depend on the same upstream sensor data; the main app does not improve sensor accuracy.

Web limitations: five fixed devices, public latest readings only, and scheduled snapshots instead of live browser-to-API requests. No private tokens, hourly history, or device additions. Internet is required; Python is not required for visitors.

Testing and demo only: this independent app tests AirGradient API connections. Software, labels, calculations and source readings may contain mistakes; check the original records before relying on results.

Air Quality Data map

Published readings by location · select a marker for its device · no street tiles

AirGradient map ↗

Map loading. Device readings are also available in the cards and tables.

Latest published Air Quality Data by device

Loading the published snapshot…

Collection is scheduled about every 15 minutes. GitHub delays and outages can make it older. Reloading does not request fresh readings from AirGradient.

Air Quality Data parameters and original records

Published JSON ↗

API-reported NO₂ and O₃ are displayed in ppb when supplied. Negative values are preserved and flagged; zero alone does not establish accuracy. Cards and map popups list all returned measurements. N/A = known unsupported; N/D = expected or returned field with no data; — = not reported, support unknown. Raw PM₂.₅ is displayed; no AQI is calculated in this web preview. A stale label means the measurement is over 20 minutes old. The source may already be delayed when collected.

What to expect