Back to APIs list

Air quality API examples & templates

Use these vals as a playground to view and fork Air quality API examples and templates on Val Town. Run any example below or find templates that can be used as a pre-built solution.
stevekrouse avatar
easyAQI
@stevekrouse
Script
easyAQI Get the Air Quality Index (AQI) for a location via open data sources. It's "easy" because it strings together multiple lower-level APIs to give you a simple interface for AQI. Accepts a location in basically any string format (ie "downtown manhattan") Uses Nominatim to turn that into longitude and latitude Finds the closest sensor to you on OpenAQ Pulls the readings from OpenAQ Calculates the AQI via EPA's NowCAST algorithm Uses EPA's ranking to classify the severity of the score (ie "Unhealthy for Sensitive Groups") It uses blob storage to cache the openai location id for your location string to skip a couple steps for the next time. Example usage @stevekrouse.easyAQI({ location: "brooklyn navy yard" }) // Returns { "aqi": 23.6, "severity": "Good" } Forkable example: val.town/v/stevekrouse.easyAQIExample Also useful for getting alerts when the AQI is unhealthy near you: https://www.val.town/v/stevekrouse.aqi
rodrigotello avatar
airquality
@rodrigotello
Script
// Forked from @stevekrouse.aqi
stevekrouse avatar
easyAQI_cached
@stevekrouse
Script
easyAQI Get the Air Quality Index (AQI) for a location via open data sources. It's "easy" because it strings together multiple lower-level APIs to give you a simple interface for AQI. Accepts a location in basically any string format (ie "downtown manhattan") Uses Nominatim to turn that into longitude and latitude Finds the closest sensor to you on OpenAQ Pulls the readings from OpenAQ Calculates the AQI via EPA's NowCAST algorithm Uses EPA's ranking to classify the severity of the score (ie "Unhealthy for Sensitive Groups") Example usage @stevekrouse.easyAQI({ location: "brooklyn navy yard" }) // Returns { "aqi": 23.6, "severity": "Good" } Forkable example: val.town/v/stevekrouse.easyAQIExample Also useful for getting alerts when the AQI is unhealthy near you: https://www.val.town/v/stevekrouse.aqi
logan avatar
emailMeWhenBadAirQuality
@logan
Script
An interactive, runnable TypeScript val by logan
gulley avatar
natickAQI
@gulley
Script
Air Quality Index in Natick, Mass.
russbiggs avatar
nowcastPMAqi
@russbiggs
Script
US EPA Particulate Matter NowCast AQI (Air Quality Index) Algorithm The US EPA generally uses 24 hours periods of data to calculate AQI. To calculate AQI at an hourly scale the NowCast algorithm is a more appropriate choice Algorithm explained more fully at: https://observablehq.com/@openaq/epa-pm-nowcast inputs an array of measurements values of particulate matter returns an NowCast air quality index number between 0-500 0 to 50 Good 51 to 100 Moderate 101 to 150 Unhealthy for Sensitive Groups 151 to 200 Unhealthy 201 to 300 Very Unhealthy 301 to 500 Hazardous
stevekrouse avatar
aqi
@stevekrouse
Cron
AQI Alerts Get email alerts when AQI is unhealthy near you. Set up Click Fork Change location (Line 4) to describe your location. It accepts fairly flexible English descriptions which it turns into locations via nominatim's geocoder API . Click Run Background This val uses nominatim's geocoder to get your lat, lon, and air quality data from OpenAQ. It uses EPA's NowCast AQI Index calculation and severity levels. Learn more: https://www.val.town/v/stevekrouse.easyAQI
liplus avatar
nowcastPMAqi
@liplus
Script
US EPA Particulate Matter NowCast AQI (Air Quality Index) Algorithm The US EPA generally uses 24 hours periods of data to calculate AQI. To calculate AQI at an hourly scale the NowCast algorithm is a more appropriate choice Algorithm explained more fully at: https://observablehq.com/@openaq/epa-pm-nowcast inputs an array of measurements values of particulate matter returns an NowCast air quality index number between 0-500 0 to 50 Good 51 to 100 Moderate 101 to 150 Unhealthy for Sensitive Groups 151 to 200 Unhealthy 201 to 300 Very Unhealthy 301 to 500 Hazardous
rishabhparikh avatar
easyAQI
@rishabhparikh
Script
easyAQI Get the Air Quality Index (AQI) for a location via open data sources. It's "easy" because it strings together multiple lower-level APIs to give you a simple interface for AQI. Accepts a location in basically any string format (ie "downtown manhattan") Uses Nominatim to turn that into longitude and latitude Finds the closest sensor to you on OpenAQ Pulls the readings from OpenAQ Calculates the AQI via EPA's NowCAST algorithm Uses EPA's ranking to classify the severity of the score (ie "Unhealthy for Sensitive Groups") It uses blob storage to cache the openai location id for your location string to skip a couple steps for the next time. Example usage @stevekrouse.easyAQI({ location: "brooklyn navy yard" }) // Returns { "aqi": 23.6, "severity": "Good" } Forkable example: val.town/v/stevekrouse.easyAQIExample Also useful for getting alerts when the AQI is unhealthy near you: https://www.val.town/v/stevekrouse.aqi
bwaidelich avatar
aqi
@bwaidelich
Script
# Email alerts when air is unhealthy near you
stungeye avatar
aqiInProgress
@stungeye
Cron
// # Email alerts when air is unhealthy near you
mihai avatar
aqi
@mihai
Cron
AQI Alerts Get email alerts when AQI is unhealthy near you. This val uses nominatim's geocoder to get your lat, lon, and air quality data from OpenAQ. It uses EPA's NowCast AQI Index calculation and severity levels. Learn more: https://www.val.town/v/stevekrouse.easyAQI
smendoza787 avatar
aqi
@smendoza787
Cron
AQI Alerts Get email alerts when AQI is unhealthy near you. Set up Click Fork Change location (Line 4) to describe your location. It accepts fairly flexible English descriptions which it turns into locations via nominatim's geocoder API . Click Run Background This val uses nominatim's geocoder to get your lat, lon, and air quality data from OpenAQ. It uses EPA's NowCast AQI Index calculation and severity levels. Learn more: https://www.val.town/v/stevekrouse.easyAQI
raei avatar
aqi
@raei
Script
An interactive, runnable TypeScript val by raei
chen avatar
aqi
@chen
Cron
AQI Alerts Get email alerts when AQI is unhealthy near you. Set up Click Fork Change location (Line 4) to describe your location. It accepts fairly flexible English descriptions which it turns into locations via nominatim's geocoder API . Click Run Background This val uses nominatim's geocoder to get your lat, lon, and air quality data from OpenAQ. It uses EPA's NowCast AQI Index calculation and severity levels. Learn more: https://www.val.town/v/stevekrouse.easyAQI
santiesteban avatar
nowcastPMAqi
@santiesteban
Script
Cloned from russbiggs to learn how to use val.town US EPA Particulate Matter NowCast AQI (Air Quality Index) Algorithm The US EPA generally uses 24 hours periods of data to calculate AQI. To calculate AQI at an hourly scale the NowCast algorithm is a more appropriate choice Algorithm explained more fully at: https://observablehq.com/@openaq/epa-pm-nowcast inputs an array of measurements values of particulate matter returns an NowCast air quality index number between 0-500 0 to 50 Good 51 to 100 Moderate 101 to 150 Unhealthy for Sensitive Groups 151 to 200 Unhealthy 201 to 300 Very Unhealthy 301 to 500 Hazardous