
Air Quality API
Latest air-quality readings — PM2.5, PM10, ozone, NO2, SO2, CO and more — from the nearest government and research-grade monitoring station to any coordinates, with a computed US EPA AQI (value, category, dominant pollutant), per-pollutant timestamps and staleness flags, a nearby-station directory, station detail and a pollutant catalogue. Open data via OpenAQ under each station's own government licence (public domain, CC BY, ODC-BY, UK OGL and similar; non-commercial stations excluded), edge-cached for 15 minutes.
{
"ok": true,
"latitude": 40.71,
"longitude": -74,
"station": {
"id": 664,
"name": "Bklyn - PS274",
"locality": "New York-Northern New Jersey-Long Island",
"country": "US",
"latitude": 40.694401,
"longitude": -73.928596,
"distance_km": 6.3,
"provider": "AirNow",
"reference_monitor": true,
"mobile": false,
"timezone": "America/New_York",
"parameters": [
"pm25"
],
"last_updated": "2026-09-12T06:00:00Z",
"active": true,
"license": "US Public Domain",
"attribution": "Unknown Governmental Organization"
},
"stale": false,
"aqi_us": {
"value": 33,
"category": "Good",
"dominant_pollutant": "pm25",
"by_pollutant": {
"pm25": 33
},
"note": "US EPA AQI computed from the latest particulate readings using the 24-hour breakpoints (2024 PM2.5 scale); gases are not included."
},
"measurements": [
{
"parameter": "pm25",
"display_name": "PM2.5",
"value": 5.9,
"unit": "µg/m³",
"last_updated": "2026-09-12T06:00:00Z",
"age_hours": 0.6,
"stale": false
}
],
"nearby_stations": [
{
"id": 662,
"name": "Division Street",
"distance_km": 0.6,
"last_updated": "2020-02-19T16:00:00Z"
},
{
"id": 642,
"name": "PS 19",
"distance_km": 2.6,
"last_updated": "2017-12-18T10:00:00Z"
},
{
"id": 648,
"name": "Bklyn - PS 314",
"distance_km": 7.7,
"last_updated": "2026-09-12T06:00:00Z"
},
{
"id": 628,
"name": "Maspeth",
"distance_km": 9.2,
"last_updated": "2026-09-12T06:00:00Z"
}
]
}Why developers pick this API
Production-ready
Production Ready
Battle-tested infrastructure with a 99.9% uptime SLA. Rate limits are generous, responses are consistent.
Simple Integration
Standard REST + JSON. Works with any HTTP client. Copy-ready code snippets in 4 languages.
One Key, 20+ APIs
Your DataAndAPIs subscription unlocks every API on the platform — anime, finance, sports, and more.
Code snippets
One install. Every endpoint.
No proprietary SDKs needed. Any HTTP client works. Pick your language and paste.
- Fully typed responses — auto-completion in your IDE
- Tracks the API in lockstep — new endpoints land same day
- One key works across 20+ APIs on the platform
import axios from 'axios';
const { data } = await axios.get(
'{API_URL}',
{ headers: { 'X-Api-Key': process.env.API_KEY } }
);🔒 Subscribe to unlock the live API URL
Developer playground
Explore the endpoints
Browse request parameters and inspect live example responses.
Available Endpoints
Request Parameters
API URL
Please subscribe to see the API URL
Headers
Please subscribe to see the actual API URL
import axios from 'axios';
const url = '{API_URL}';
const { data } = await axios.get(url, {
headers: { 'X-Api-Key': 'YOUR_API_KEY' }
});Pricing
One subscription. Every API.
Tokens unlock this API and 20+ others on DataAndAPIs. Switch APIs any time — we promote.
STARTER
25,000 tokens / month
- Access to all APIs
- Tokens reset monthly
- Email support
PRO
100,000 tokens / month
- Access to all APIs
- Tokens reset monthly
- Priority email support
ULTRA
1,000,000 tokens / month
- Access to all APIs
- Tokens reset monthly
- Priority support
Need higher volume, dedicated infra, or a custom contract? Talk to sales →
Common questions
The things that actually block the upgrade.
Ship Air Quality API this afternoon.
500 free tokens. No card. Plus 20+ other APIs on the same key.
