Worst Forecast Air Quality by Reporting Area (AirNow)
airnowfiles/worst-air-quality-forecast
The 25 AirNow reporting areas with the highest forecast Air Quality Index for today and the next day, each with its pollutant, forecast AQI, category, valid date, whether the agency declared an action day, and the reporting agency. Taken from the U.S. EPA AirNow reporting-area file, refreshed twice an hour. Takes no input. U.S. EPA AirNow data, passed through as received and served by Eden Engine; not an official U.S. EPA or AirNow product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.
Data source
AirNow (U.S. Environmental Protection Agency)
Data from the U.S. EPA AirNow program (www.AirNow.gov) and its contributing state, local, tribal and international agencies. Observations are preliminary; values are passed through as received. Served by Eden Engine; not an official U.S. EPA or AirNow product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "airnowfiles/worst-air-quality-forecast" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "airnowfiles/worst-air-quality-forecast" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "airnowfiles/worst-air-quality-forecast", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "airnowfiles/worst-air-quality-forecast", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 24, 2026
Input and output schemas
Input schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"kind",
"matchedRows",
"readings"
],
"properties": {
"kind": {
"type": "string",
"description": "observation or forecast."
},
"readings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"aqi": {
"type": "integer",
"description": "Air Quality Index value for this parameter."
},
"state": {
"type": "string",
"description": "State or province code; blank for sites outside the U.S. states."
},
"agency": {
"type": "string",
"description": "The agency that reported the data."
},
"category": {
"type": "string",
"description": "AQI category name, for example Good, Moderate, Unhealthy."
},
"dataType": {
"type": "string",
"description": "O is an observation, F is a forecast."
},
"latitude": {
"type": "string",
"description": "Reporting area centroid latitude, as the file states it."
},
"timeZone": {
"type": "string",
"description": "Time-zone abbreviation of validTime (PDT, CDT, IST and so on)."
},
"actionDay": {
"type": "string",
"description": "Yes when the agency declared an action day, otherwise No."
},
"longitude": {
"type": "string",
"description": "Reporting area centroid longitude, as the file states it."
},
"parameter": {
"type": "string",
"description": "Pollutant: OZONE, PM2.5, PM10, CO or NO2."
},
"validDate": {
"type": "string",
"description": "Valid date of the reading, MM/DD/YY, as the file states it."
},
"validTime": {
"type": "string",
"description": "Valid time in the reporting area's own time zone, H:MM, or empty for a daily forecast."
},
"discussion": {
"type": "string",
"description": "The agency's discussion text; usually empty."
},
"reportingArea": {
"type": "string",
"description": "AirNow reporting area name."
},
"recordSequence": {
"type": "string",
"description": "0 is the current record; -1 is yesterday's; 1 and up are forecast days ahead."
},
"primaryPollutant": {
"type": "string",
"description": "Y when this parameter is the area's primary pollutant, N otherwise."
}
},
"additionalProperties": true
},
"description": "The 25 readings with the highest AQI, highest first; ties ordered by area, parameter and date."
},
"matchedRows": {
"type": "integer",
"description": "How many rows of this kind the file holds with an AQI, before the top 25 are cut."
}
},
"description": "The 25 highest-AQI forecast rows (today and the next day) in AirNow's reporting-area file.",
"additionalProperties": true
}