# Air Quality API
GET/v1/sensordata/air/near
Air quality monitors within radius_km of a point with their latest readings (PM2.5, PM10, O3, NO2, SO2, CO as integers in the stated scale) and the US EPA AQI of the worst pollutant, nearest first. Refreshes every 60 minutes.
Price
$0.01/ callEdge cache
1800s
Uptime 24h
100.00%
p95
212ms
MCP tool
sensordata_air-near
The Air Quality API provides air quality monitors within a specified radius of a point with their latest readings. The API returns data on PM2.5, PM10, O3, NO2, SO2, CO, and the US EPA AQI of the worst pollutant. The data is refreshed every 60 minutes. The API is available for $0.010 per request.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| lat* | query | number | |
| lon* | query | number | |
| radius_km | query | number = 25 | |
| limit | query | integer = 20 |
Code
curl
# 1. No key, no payment: the gateway answers 402 with the price
curl -i "https://api.realtimeapi.ai/v1/sensordata/air/near?lat=-33.87&lon=151.21"
# 2. Pay: retry with a signed x402 payment (any x402 client builds this header)
curl "https://api.realtimeapi.ai/v1/sensordata/air/near?lat=-33.87&lon=151.21" -H "PAYMENT-SIGNATURE: $X402_PAYMENT"TypeScript · @x402/fetch
// npm i @x402/fetch @x402/core @x402/evm viem
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = x402Client.fromConfig({ schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }] });
const pay = wrapFetchWithPayment(fetch, client);
const data = await (await pay("https://api.realtimeapi.ai/v1/sensordata/air/near?lat=-33.87&lon=151.21")).json();
console.log(data);Python · x402
# pip install "x402[requests,evm]==2.27.0" eth-account
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact import register_exact_evm_client
client = x402ClientSync()
register_exact_evm_client(client, EthAccountSigner(Account.from_key(PRIVATE_KEY)))
session = x402_requests(client)
print(session.get("https://api.realtimeapi.ai/v1/sensordata/air/near?lat=-33.87&lon=151.21").json())With an API key
curl "https://api.realtimeapi.ai/v1/sensordata/air/near?lat=-33.87&lon=151.21" -H "X-API-Key: $RTAPI_KEY"Frequently asked questions
What parameters are required?
lat, lon, radius_km, limit
What data is returned?
Latest air quality readings and US EPA AQI
How often is the data refreshed?
Every 60 minutes