Dokumentacja API
Bieżące odczyty
Ostatni odczyt każdego czujnika w jednym zapytaniu, odświeżany co minutę
Bieżące odczyty wszystkich czujników
GEThttps://api.atmy.ai/v1/sensors/current
60 zapytań na minutę z jednego adresu IP, bez klucza. Każda odpowiedź zawiera X-RateLimit-Remaining. /v1/sensors/current jest odbudowywany raz na minutę: częstsze zapytania zwracają te same dane.
Parametry zapytania
network string opcjonalny
sensor_community, airgradient lub atmy
quality string opcjonalny
All lub passed
Domyślnie: all
min_rating number opcjonalny
Tylko czujniki z co najmniej taką oceną, od 0 do 10
bbox string opcjonalny
min_lon,min_lat,max_lon,max_lat
curl "https://api.atmy.ai/v1/sensors/current?quality=passed&min_rating=8"const response = await fetch("https://api.atmy.ai/v1/sensors/current?quality=passed&min_rating=8");
const data = await response.json();import requests
data = requests.get("https://api.atmy.ai/v1/sensors/current?quality=passed&min_rating=8").json(){
"api_version": "2.0",
"generated_at": "2026-10-27T11:11:32+00:00",
"count": 1644,
"sensors": [
{
"id": 40656,
"network_id": "airgradient",
"lat": 19.094645,
"lon": 101.529558,
"city": null,
"time": "2026-10-27T11:03:32+00:00",
"pm1": 2.8,
"pm25": 6.4,
"pm10": 7.3,
"temperature_c": 31,
"humidity_percent": 48,
"tvoc": 110.1,
"quality": {
"status": "good",
"pm_eligible": true,
"rating": 10
}
},
{
"id": 40657,
"network_id": "airgradient",
"lat": -34.0467846944686,
"lon": 151.1229561199615,
"city": "australia/sydney",
"time": "2026-10-27T11:02:53+00:00",
"pm25": 1,
"temperature_c": 22.6,
"humidity_percent": 63,
"tvoc": 293.3,
"quality": {
"status": "good",
"pm_eligible": true,
"rating": 10
}
}
],
"attribution": "Sensor data: Atmy (atmy.ai), from the networks named in each sensor's \"network\", under that network's license.",
"terms": "https://atmy.ai/legal/data/"
}Bieżące odczyty jednej sieci
GEThttps://api.atmy.ai/v1/networks/{network}/sensors/current
Ta sama odpowiedź tylko dla jednej sieci.
Parametry ścieżki
network string wymagany
sensor_community, airgradient lub atmy.
Parametry zapytania
quality string opcjonalny
All lub passed
Domyślnie: all
min_rating number opcjonalny
Tylko czujniki z co najmniej taką oceną, od 0 do 10
bbox string opcjonalny
min_lon,min_lat,max_lon,max_lat
curl "https://api.atmy.ai/v1/networks/airgradient/sensors/current?quality=passed"const response = await fetch("https://api.atmy.ai/v1/networks/airgradient/sensors/current?quality=passed");
const data = await response.json();import requests
data = requests.get("https://api.atmy.ai/v1/networks/airgradient/sensors/current?quality=passed").json(){
"api_version": "2.0",
"generated_at": "2026-10-27T11:11:32+00:00",
"count": 1644,
"sensors": [
{
"id": 40656,
"network_id": "airgradient",
"lat": 19.094645,
"lon": 101.529558,
"city": null,
"time": "2026-10-27T11:03:32+00:00",
"pm1": 2.8,
"pm25": 6.4,
"pm10": 7.3,
"temperature_c": 31,
"humidity_percent": 48,
"tvoc": 110.1,
"quality": {
"status": "good",
"pm_eligible": true,
"rating": 10
}
},
{
"id": 40657,
"network_id": "airgradient",
"lat": -34.0467846944686,
"lon": 151.1229561199615,
"city": "australia/sydney",
"time": "2026-10-27T11:02:53+00:00",
"pm25": 1,
"temperature_c": 22.6,
"humidity_percent": 63,
"tvoc": 293.3,
"quality": {
"status": "good",
"pm_eligible": true,
"rating": 10
}
}
],
"attribution": "Sensor data: Atmy (atmy.ai), from the networks named in each sensor's \"network\", under that network's license.",
"terms": "https://atmy.ai/legal/data/"
}