Access location

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.

access-location · v1 · updated 2026-04-16

Agents: This page is a SKILL.md-style capability guide. For JSON, call GET /api/skills/access-location. To drop this into a local Claude Code install, copy the frontmatter + body below into ~/.claude/skills/access-location/SKILL.md.

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)

Pitfalls

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.

APIs this skill uses

PM2.5 Open Data Portal · primary · verified

This Open Data API provides data access to the LASS PM2.5 project, which is a participatory sensing project for large-scale PM2.5 monitoring. The project engages citizens to participate in the PM2.5 sensing project and empowers participants…

Generated from

PM2.5 Open Data Portal tutorial Getting Started with LASS PM2.5 Open Data Portal

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.

« Back to all skills