Dla deweloperów

Dokumentacja API

Czujniki

Każdy czujnik mapy Atmy z położeniem, siecią, kontrolą jakości i odczytami: PM1, PM2.5, PM10, temperatura, wilgotność, ciśnienie i inne kanały urządzenia. Bez rejestracji i bez klucza: zwykłe zapytania GET.

Lista czujników

GEThttps://api.atmy.ai/v1/sensors

Czujniki z ostatnim odczytem, jakością i oceną, po 100 na stronę

Parametry zapytania

city string opcjonalny

Id lub slug miasta, np. serbia/belgrade

country string opcjonalny

Slug kraju, np. serbia

bbox string opcjonalny

min_lon,min_lat,max_lon,max_lat

lat number opcjonalny

Czujniki wokół punktu, do 50 km

lon number opcjonalny

Czujniki wokół punktu, do 50 km

radius_km number opcjonalny

Czujniki wokół punktu, do 50 km

Domyślnie: 5

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

sort string opcjonalny

Id lub rating: najpierw najbardziej wiarygodne czujniki

Domyślnie: id

page integer opcjonalny

Strony do 500 czujników

Domyślnie: 1

limit integer opcjonalny

Strony do 500 czujników

Domyślnie: 100

GET/sensors?city=serbia/belgrade&sort=rating&limit=10
curl "https://api.atmy.ai/v1/sensors?city=serbia/belgrade&sort=rating&limit=10"
200Odpowiedź
{
  "api_version": "2.0",
  "total": 31,
  "page": 1,
  "limit": 2,
  "sensors": [
    {
      "id": 41504,
      "uuid": "b4e7f10c-bd0b-4234-aff9-41d9222affd0",
      "name": "Belgrade BIG Fashion Park",
      "network": "AirGradient",
      "network_id": "airgradient",
      "license": "CC BY-SA 4.0",
      "location": {
        "lat": 44.81659101498,
        "lon": 20.511912304712
      },
      "city": {
        "id": 50068,
        "slug": "serbia/belgrade",
        "name": "Belgrade",
        "country": "Serbia"
      },
      "quality": {
        "status": "good",
        "date": "2026-10-26",
        "pm_eligible": true,
        "rating": 10,
        "rating_7d": 10,
        "scores": {
          "pm": 10,
          "transport": 10,
          "meteo": 10
        },
        "reasons": []
      },
      "latest": {
        "time": "2026-10-27T11:03:35+00:00",
        "pm1": 8.4,
        "pm25": 13.8,
        "pm10": 14.5,
        "temperature_c": 14.4,
        "humidity_percent": 47
      }
    },
    {
      "id": 41752,
      "uuid": "611c7e92-5462-4f8c-8766-7cfaf69fba84",
      "name": "for map",
      "network": "AirGradient",
      "network_id": "airgradient",
      "license": "CC BY-SA 4.0",
      "location": {
        "lat": 44.790233610673,
        "lon": 20.470308143789
      },
      "city": {
        "id": 50068,
        "slug": "serbia/belgrade",
        "name": "Belgrade",
        "country": "Serbia"
      },
      "quality": {
        "status": "good",
        "date": "2026-10-26",
        "pm_eligible": true,
        "rating": 10,
        "rating_7d": 10,
        "scores": {
          "pm": 10,
          "transport": 10,
          "meteo": 10
        },
        "reasons": []
      },
      "latest": {
        "time": "2026-10-27T11:03:34+00:00",
        "pm1": 3,
        "pm25": 6,
        "pm10": 7,
        "temperature_c": 17.7,
        "humidity_percent": 40,
        "tvoc": 117.4
      }
    }
  ],
  "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/"
}

Czujniki jednej sieci

GEThttps://api.atmy.ai/v1/networks/{network}/sensors

Ta sama lista tylko dla jednej sieci, z tymi samymi filtrami.

Parametry ścieżki

network string wymagany

sensor_community, airgradient lub atmy.

Parametry zapytania

city string opcjonalny

Id lub slug miasta, np. serbia/belgrade

country string opcjonalny

Slug kraju, np. serbia

bbox string opcjonalny

min_lon,min_lat,max_lon,max_lat

lat number opcjonalny

Czujniki wokół punktu, do 50 km

lon number opcjonalny

Czujniki wokół punktu, do 50 km

radius_km number opcjonalny

Czujniki wokół punktu, do 50 km

Domyślnie: 5

quality string opcjonalny

All lub passed

Domyślnie: all

min_rating number opcjonalny

Tylko czujniki z co najmniej taką oceną, od 0 do 10

sort string opcjonalny

Id lub rating: najpierw najbardziej wiarygodne czujniki

Domyślnie: id

page integer opcjonalny

Strony do 500 czujników

Domyślnie: 1

limit integer opcjonalny

Strony do 500 czujników

Domyślnie: 100

GET/networks/atmy/sensors?sort=rating
curl "https://api.atmy.ai/v1/networks/atmy/sensors?sort=rating"
200Odpowiedź
{
  "api_version": "2.0",
  "total": 31,
  "page": 1,
  "limit": 2,
  "sensors": [
    {
      "id": 41504,
      "uuid": "b4e7f10c-bd0b-4234-aff9-41d9222affd0",
      "name": "Belgrade BIG Fashion Park",
      "network": "AirGradient",
      "network_id": "airgradient",
      "license": "CC BY-SA 4.0",
      "location": {
        "lat": 44.81659101498,
        "lon": 20.511912304712
      },
      "city": {
        "id": 50068,
        "slug": "serbia/belgrade",
        "name": "Belgrade",
        "country": "Serbia"
      },
      "quality": {
        "status": "good",
        "date": "2026-10-26",
        "pm_eligible": true,
        "rating": 10,
        "rating_7d": 10,
        "scores": {
          "pm": 10,
          "transport": 10,
          "meteo": 10
        },
        "reasons": []
      },
      "latest": {
        "time": "2026-10-27T11:03:35+00:00",
        "pm1": 8.4,
        "pm25": 13.8,
        "pm10": 14.5,
        "temperature_c": 14.4,
        "humidity_percent": 47
      }
    },
    {
      "id": 41752,
      "uuid": "611c7e92-5462-4f8c-8766-7cfaf69fba84",
      "name": "for map",
      "network": "AirGradient",
      "network_id": "airgradient",
      "license": "CC BY-SA 4.0",
      "location": {
        "lat": 44.790233610673,
        "lon": 20.470308143789
      },
      "city": {
        "id": 50068,
        "slug": "serbia/belgrade",
        "name": "Belgrade",
        "country": "Serbia"
      },
      "quality": {
        "status": "good",
        "date": "2026-10-26",
        "pm_eligible": true,
        "rating": 10,
        "rating_7d": 10,
        "scores": {
          "pm": 10,
          "transport": 10,
          "meteo": 10
        },
        "reasons": []
      },
      "latest": {
        "time": "2026-10-27T11:03:34+00:00",
        "pm1": 3,
        "pm25": 6,
        "pm10": 7,
        "temperature_c": 17.7,
        "humidity_percent": 40,
        "tvoc": 117.4
      }
    }
  ],
  "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/"
}

Jeden czujnik

GEThttps://api.atmy.ai/v1/sensors/{id}

Jeden czujnik

Parametry ścieżki

id string wymagany

Id czujnika, jak na liście czujników.

GET/sensors/41504
curl "https://api.atmy.ai/v1/sensors/41504"
200Odpowiedź
{
  "api_version": "2.0",
  "sensor": {
    "id": 41504,
    "uuid": "b4e7f10c-bd0b-4234-aff9-41d9222affd0",
    "name": "Belgrade BIG Fashion Park",
    "network": "AirGradient",
    "network_id": "airgradient",
    "license": "CC BY-SA 4.0",
    "location": {
      "lat": 44.81659101498,
      "lon": 20.511912304712
    },
    "city": {
      "id": 50068,
      "slug": "serbia/belgrade",
      "name": "Belgrade",
      "country": "Serbia"
    },
    "quality": {
      "status": "good",
      "date": "2026-10-26",
      "pm_eligible": true,
      "rating": 10,
      "rating_7d": 10,
      "scores": {
        "pm": 10,
        "transport": 10,
        "meteo": 10
      },
      "reasons": []
    },
    "latest": {
      "time": "2026-10-27T11:03:35+00:00",
      "pm1": 8.4,
      "pm25": 13.8,
      "pm10": 14.5,
      "temperature_c": 14.4,
      "humidity_percent": 47
    }
  },
  "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/"
}