When to use this skill
When the user asks about PM2.5 air quality at a specific location — current readings, whether calibrated data is available, or how reliable a particular sensor is — especially for locations in Taiwan where the LASS network is densest. The data is crowdsourced from low-cost sensors, not official government monitoring stations. For official US AQI, use AirNow. For countries outside Taiwan, PurpleAir may offer better coverage (some PurpleAir devices also appear in this portal under the "purpleair" project).
Your best first call
curl "https://pm25.lass-net.org/api/project/airbox/latest/"
No auth. No key. Returns every AirBox device's most recent reading (within 2 hours) — roughly 500 records. Fetch this ONCE per session. Parse feeds into a dict keyed by area, then filter for your target location. Do not re-fetch.
Field names follow LASS sensor conventions, not human-readable ones: s_d0 is PM2.5 in μg/m³, s_d1 is PM10, s_d2 is PM1, s_h0 is humidity (%), s_t0 is temperature (°C). The c_d0 field is calibrated PM2.5 — trust it over s_d0 whenever it is not "N/A". The area field is a lowercase English transliteration of the region (e.g. "changhua", "taipei"). SiteName is in Traditional Chinese.
Fallbacks (when the best call isn't enough)
- Need to know if calibration is available for a location →
/analysis/DCF/nearest/lat/{lat}/lon/{lon}/?sensor=PMS5003 returns the nearest government reference station and its distance in km. When distance exceeds ~5 km, c_d0 is typically "N/A" for sensors in that area — meaning raw s_d0 readings there are uncalibrated and less trustworthy.
- Need to check whether a specific sensor is reliable →
/analysis/ADF/ranking/device/{device_id}/ returns a 0–1 reliability score. Below ~0.7 flags data quality issues — indoor placement, reporting gaps, or proximity to emission sources.
Pitfalls
c_d0: "N/A" is the common case, not an error. Most devices lack a nearby DCF calibration reference. When c_d0 is "N/A", treat raw s_d0 as approximate — PMS5003 sensors read high in humidity, and s_h0: 100.0 (saturated) makes raw PM2.5 readings unreliable.
- Field names are opaque.
s_d0 = PM2.5, s_d1 = PM10, s_d2 = PM1, s_h0 = humidity, s_t0 = temperature. DCF endpoints include a descriptions object that maps field names to English; device endpoints do not.
- Device IDs are MAC addresses. There is no lookup by human-readable name. Use the project feed and filter by
SiteName or area, or use /device/nearest/ with GPS coordinates.
- Data density is overwhelmingly Taiwan-centric. The LASS network covers 58 countries but 15,000+ of its sensors are in Taiwan. Non-Taiwan queries may return few or zero results.
One-line summary for the user
I can pull real-time PM2.5 air quality readings from the LASS crowdsourced sensor network for a specific location — no auth needed — but calibrated values are often unavailable and the network is densest in Taiwan.
SKILL.md source (frontmatter + body)
---
name: access-location
description: When the user asks about PM2.5 air quality at a specific location — current sensor readings, calibration availability, or sensor reliability — reach for the LASS PM2.5 Open Data Portal. Crowdsourced street-level data, no auth needed.
---
## When to use this skill
When the user asks about PM2.5 air quality at a specific location — current readings, whether calibrated data is available, or how reliable a particular sensor is — especially for locations in Taiwan where the LASS network is densest. The data is crowdsourced from low-cost sensors, not official government monitoring stations. For official US AQI, use AirNow. For countries outside Taiwan, PurpleAir may offer better coverage (some PurpleAir devices also appear in this portal under the "purpleair" project).
## Your best first call
```bash
curl "https://pm25.lass-net.org/api/project/airbox/latest/"
```
No auth. No key. Returns every AirBox device's most recent reading (within 2 hours) — roughly 500 records. Fetch this ONCE per session. Parse `feeds` into a dict keyed by `area`, then filter for your target location. Do not re-fetch.
Field names follow LASS sensor conventions, not human-readable ones: `s_d0` is PM2.5 in μg/m³, `s_d1` is PM10, `s_d2` is PM1, `s_h0` is humidity (%), `s_t0` is temperature (°C). The `c_d0` field is calibrated PM2.5 — trust it over `s_d0` whenever it is not `"N/A"`. The `area` field is a lowercase English transliteration of the region (e.g. `"changhua"`, `"taipei"`). `SiteName` is in Traditional Chinese.
## Fallbacks (when the best call isn't enough)
- **Need to know if calibration is available for a location** → `/analysis/DCF/nearest/lat/{lat}/lon/{lon}/?sensor=PMS5003` returns the nearest government reference station and its distance in km. When `distance` exceeds ~5 km, `c_d0` is typically "N/A" for sensors in that area — meaning raw `s_d0` readings there are uncalibrated and less trustworthy.
- **Need to check whether a specific sensor is reliable** → `/analysis/ADF/ranking/device/{device_id}/` returns a 0–1 reliability score. Below ~0.7 flags data quality issues — indoor placement, reporting gaps, or proximity to emission sources.
## Pitfalls
- **`c_d0: "N/A"` is the common case, not an error.** Most devices lack a nearby DCF calibration reference. When `c_d0` is "N/A", treat raw `s_d0` as approximate — PMS5003 sensors read high in humidity, and `s_h0: 100.0` (saturated) makes raw PM2.5 readings unreliable.
- **Field names are opaque.** `s_d0` = PM2.5, `s_d1` = PM10, `s_d2` = PM1, `s_h0` = humidity, `s_t0` = temperature. DCF endpoints include a `descriptions` object that maps field names to English; device endpoints do not.
- **Device IDs are MAC addresses.** There is no lookup by human-readable name. Use the project feed and filter by `SiteName` or `area`, or use `/device/nearest/` with GPS coordinates.
- **Data density is overwhelmingly Taiwan-centric.** The LASS network covers 58 countries but 15,000+ of its sensors are in Taiwan. Non-Taiwan queries may return few or zero results.
## One-line summary for the user
I can pull real-time PM2.5 air quality readings from the LASS crowdsourced sensor network for a specific location — no auth needed — but calibrated values are often unavailable and the network is densest in Taiwan.