PurpleAir

Crowd-hosted air-quality sensors reporting every 2 minutes, read through a prepaid points API.

Self-serve API, key required, irlpls adapter · docs

Mode
Live · minutes
Coverage
Global
Price
$10 / minimum points purchase
Key
Required
Resale
Not allowed
AI training
Not stated

Eight links

0 of 8 links claimed · 0 evidenced

Compiled from public sources, unclaimed. What they mean

Each link
  1. 1. Real personNot stated

    Person · Not stated

    Still open: Whether a sensor owner is a real, distinct person; owners register sensors themselves and API keys are tied to a developer account, not to sensor hosts

  2. 2. Captured locallyNot stated

    Camera · Not stated

    Still open: Not applicable: this is a particulate sensor network and collects no imagery

    Place · Claimed. The Terms say each sensor's location is extrapolated from Google's Wi-Fi-based location services together with the location the owner enters, calculated on the sensor or on PurpleAir's servers. The owner sets the inside/outside label.

    Still open: How the Wi-Fi fix and the owner's entry are reconciled, and whether a moved or misregistered sensor is detected; the Terms call the location 'likely' and publish no per-sensor check

    Needs both: the weaker one counts.

  3. 3. Genuine deviceNot stated

    App · Not stated

    Still open: Whether readings come from unmodified PurpleAir firmware or hardware; the terms forbid modifying sensors, but no attestation or signing is documented

  4. 4. Sealed captureNot stated

    Camera · Not stated

    Still open: Not applicable: this is a particulate sensor network and collects no imagery

    Content · Not stated

    Still open: Whether a sensor is exposed to staged or local sources (smoke, cooking, indoor placement); the provider disclaims accuracy and documents no tamper checks. The dual laser counters (A and B channels) are exposed as fields, but no provider-side flagging method is documented

  5. 5. Known timestampReported

    Time · Not stated. The API exposes time stamps for each sensor's readings and a last_seen time, as the sensors and PurpleAir report them.

    Still open: How sensor clocks are set or checked is not documented; no timing-integrity method is documented and nothing is signed.

    A time stated, not attested (RFC 3161, a log): Reported.

  6. 6. Tracked in transitNot stated

    Custody record (optional field) · Not stated

  7. 7. Independently verifiedNot stated

    Cross-check · Not stated

    Still open: PurpleAir documents no per-sensor cross-check against reference monitors. The only independent check recorded here (AQ-SPEC) tested three units of one model near Los Angeles in 2016-2017 and says nothing about current models, other climates or any individual sensor in the network

  8. 8. Delivered to youNot stated

    Delivery receipt (optional field) · Not stated

Independent checks

  • South Coast AQMD AQ-SPEC: Accuracy of the PurpleAir PA-II model against reference instruments (content/corroboration), three units source

API

Needs an account first.

base
https://api.purpleair.com/v1
auth
API key · X-API-Key +1 more
access
Self-serve
adapter
purpleair
pay
card, checkout page, invoice
  • GET /sensors
  • GET /sensors/:sensor_index
  • GET /sensors/:sensor_index/history
  • GET /groups/:group_id/members
  • GET /keys
  • GET /organization

Rate limit. Per-endpoint default rate limits (100 ms for /keys, single sensor and most group calls; 400 ms for /groups; 500 ms for /sensors and group members; 1 s for history and /organization). Exceeding one returns RateLimitExceededError; PurpleAir can adjust limits per key on request. Every call also spends prepaid points; with too few points the API returns PaymentRequiredError. The Fair Use Policy lets PurpleAir throttle or disable keys used for scraping or unusually heavy use, and asks bulk historical requests (thousands of sensors) to go by email instead.

Sources

20 sources
  1. Base URL https://api.purpleair.com/v1; apidoc version 1.0.15, generated 2026-09-09 api.purpleair.com
  2. Endpoints /sensors, /sensors/:sensor_index, /sensors/:sensor_index/history(/csv), /groups and members, /keys, /organization with their parameters (bounding box, location_type, max_age default 604800, modified_since, show_only, read_keys, average windows up to 525600, privacy); per-endpoint default rate limits; RateLimitExceededError; X-API-Key header preferred, api_key query string or POST body; READ vs WRITE keys; Developer Dashboard with Google login; 1 million free starting points; last_seen field api.purpleair.com
  3. API documentation home (renders client-side; content read from api_data.js) api.purpleair.com
  4. Keyless request to /v1/sensors returns 403 ApiKeyMissingError (probed 2026-10-26) api.purpleair.com
  5. Live points tier table and $10 minimum purchase (public JSON behind the store) www.purpleair.com
  6. Points-based billing; tier table; cost formula; base cost at most 5 points; get_sensor 1, get_sensor_history 2; field costs 1-2 points; 432 points a day example; one million starting points; values subject to change community.purpleair.com
  7. Sensor owners' own-data pulls still use points; free points on request by email; earning points planned; the map stays free community.purpleair.com
  8. Account via Google login on develop.purpleair.com; 1 million points on sign-up; dataset back to early 2016; no limit on sensors per Get Sensors Data call; keys must not be shared community.purpleair.com
  9. Developer Dashboard structure (organizations, projects, keys); PaymentRequiredError when out of points community.purpleair.com
  10. Sensors report every two minutes; real-time data held in memory; modified_since; bulk historical requests by email; access may be lost for over-querying community.purpleair.com
  11. Terms of Service (updated 18 July 2022): PurpleAir owns all data; licence grants and end-user limits; no raw data to third parties or competing database; only the key holder makes API calls; grantback licence naming AI training data and outputs; no open-source materials; attribution; location from Google Wi-Fi location plus owner entry; health and emergency disclaimers; API Fair Use Policy (Exhibit A); Shopify payments www.purpleair.com
  12. Terms of Service page (renders client-side; text read from the store policies JSON above) www.purpleair.com
  13. Data License (updated 18 July 2022): grantback, attribution, distribution limited to one level removed, cannot resell data or an API modelled on it, Fair Use Policy www.purpleair.com
  14. Data Attribution guide: 'Data from PurpleAir' for direct use, 'Powered by PurpleAir' for derived data, a link for APIs and ML models, health or emergency disclaimer www.purpleair.com
  15. Store payment methods: cards, Shop Pay, PayPal, Google Pay, Apple Pay, Meta Pay; purchase orders Net 30; checks, money orders, wire by invoice www.purpleair.com
  16. Over 35,000 sensors worldwide; real-time readings updated every 2 minutes; points bought in the store cart (site JavaScript bundle, since www.purpleair.com renders client-side) www.purpleair.com
  17. No PurpleAir server in the official MCP Registry registry.modelcontextprotocol.io
  18. AQ-SPEC PA-II evaluation: three units, field PM1 R2>0.96, PM2.5 R2>0.93, PM10 R2>0.66, lab PM2.5 R2>0.99, 95% data recovery, deployment 12/18/2016-01/26/2017 www.aqmd.gov
  19. AQ-SPEC field evaluation of PA-II against GRIMM and BAM reference instruments www.aqmd.gov
  20. Owners can read their sensor locally at its IP address /json without the API; one million points cover years of single-sensor data community.purpleair.com
Notes

About. Network of over 35,000 consumer-owned optical particulate sensors that report every two minutes, read through a points-metered REST API (api.purpleair.com) with real-time and historical data back to 2016.

Price. New users get 1,000,000 points on sign-up. Live tier table (minimum purchase $10): $10-$49 at 100,000 points/USD, $50-$249 at 150,000, $250-$499 at 200,000, $500-$999 at 300,000, $1,000-$4,999 at 500,000, $5,000+ at 1,000,000. Cost per call = endpoint base cost + (cost of all fields x data rows); base cost is at most 5 points (get_sensor 1, get_sensor_history 2); fields cost 1-2 points per row in the published examples. Example: one sensor's pm2.5 every 10 minutes costs 432 points a day. The full per-field table is on the Developer Dashboard (login, not read). Sensor owners still spend points on their own sensors' data, but PurpleAir gives free points on request by email and plans to automate that. Values are subject to change. A points subscription also exists in the account area (terms not public).

Coverage. PurpleAir says over 35,000 sensors worldwide. Coverage is wherever owners have installed and registered sensors, and only public sensors are readable without the owner's read key. You cannot request a new placement. No per-country list or density figures are published.

Timing. PurpleAir API Use Guidelines: "PurpleAir sensors report data every two minutes" and "Real-time data is instantly available in memory."

Licence. PurpleAir's Terms (updated 18 July 2022) say PurpleAir owns all PurpleAir Data and any derivatives' underlying data. The licence is non-exclusive, non-transferable and non-sublicensable. You may use the data internally to test and develop your own product, and distribute that product commercially only to end users for their internal, non-commercial, non-public use, after written notice to PurpleAir. No raw data to third parties, no reselling the data or an API modelled on it, and no competing air-quality database without written permission. API calls must be made only by you, and keys must not be shared. A grantback licence gives PurpleAir rights in your derivatives, explicitly including AI algorithms trained on PurpleAir data and their outputs. You may not combine the data with open-source-licensed materials. Attribution is required: 'Data from PurpleAir' for direct use, 'Powered by PurpleAir' for derived data, with a link for APIs and ML models. Health or emergency uses need a disclaimer. The terms do not explicitly allow or forbid AI training; they attach the grantback to it.

Compiled from public sources. Is this your company? Publish your card ›

Compiled from public sources · updated 2026-10-28JSONSiteCompare