开发者

API 参考

传感器

Atmy 地图上的每个传感器,包括位置、网络、质量检查和读数:PM1、PM2.5、PM10、温度、湿度、气压以及设备上报的其他通道。无需注册、无需密钥:普通的 GET 请求即可。

列出传感器

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

带最新读数、质量和评分的传感器,每页 100 个

查询参数

city string 可选

城市 id 或 slug,例如 serbia/belgrade

country string 可选

国家 slug,例如 serbia

bbox string 可选

min_lon,min_lat,max_lon,max_lat

lat number 可选

某点周围的传感器,最远 50 km

lon number 可选

某点周围的传感器,最远 50 km

radius_km number 可选

某点周围的传感器,最远 50 km

默认值: 5

network string 可选

sensor_community、airgradient 或 atmy

quality string 可选

All 或 passed

默认值: all

min_rating number 可选

仅评分不低于该值的传感器,0 到 10

sort string 可选

Id 或 rating:最可靠的传感器在前

默认值: id

page integer 可选

每页最多 500 个传感器

默认值: 1

limit integer 可选

每页最多 500 个传感器

默认值: 100

GET/sensors?city=serbia/belgrade&sort=rating&limit=10
curl "https://api.atmy.ai/v1/sensors?city=serbia/belgrade&sort=rating&limit=10"
200响应
{
  "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/"
}

单个网络的传感器

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

同一列表,仅限一个网络,筛选参数相同。

路径参数

network string 必填

sensor_community、airgradient 或 atmy。

查询参数

city string 可选

城市 id 或 slug,例如 serbia/belgrade

country string 可选

国家 slug,例如 serbia

bbox string 可选

min_lon,min_lat,max_lon,max_lat

lat number 可选

某点周围的传感器,最远 50 km

lon number 可选

某点周围的传感器,最远 50 km

radius_km number 可选

某点周围的传感器,最远 50 km

默认值: 5

quality string 可选

All 或 passed

默认值: all

min_rating number 可选

仅评分不低于该值的传感器,0 到 10

sort string 可选

Id 或 rating:最可靠的传感器在前

默认值: id

page integer 可选

每页最多 500 个传感器

默认值: 1

limit integer 可选

每页最多 500 个传感器

默认值: 100

GET/networks/atmy/sensors?sort=rating
curl "https://api.atmy.ai/v1/networks/atmy/sensors?sort=rating"
200响应
{
  "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/"
}

获取单个传感器

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

单个传感器

路径参数

id string 必填

传感器 id,与传感器列表中一致。

GET/sensors/41504
curl "https://api.atmy.ai/v1/sensors/41504"
200响应
{
  "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/"
}