Response Format
All endpoints return JSON. Responses include data, source attribution, and cache metadata.
Common fields
Every successful response includes a sources array for attribution:
{
"sources": [
{
"name": "NWS",
"url": "https://www.weather.gov",
"license": "Public Domain"
}
]
}
See Attribution for display requirements.
Forecast schema
| Field | Type | Description |
h3 | string | H3 cell index |
generatedAt | string | ISO 8601 timestamp |
hourly | array | Up to 48 hourly forecast objects |
hourly[].time | string | ISO 8601 timestamp |
hourly[].tempF | number | Temperature in Fahrenheit |
hourly[].feelsLikeF | number | Feels-like temperature in Fahrenheit |
hourly[].humidity | number | Relative humidity percentage |
hourly[].precipProbability | number | Precipitation probability (0-100) |
hourly[].windSpeedMph | number | Wind speed in mph |
hourly[].windDirection | string | Cardinal direction (N, NE, E, etc.) |
hourly[].condition | string | Human-readable condition |
hourly[].icon | string | Icon identifier |
sources | array | Attribution array |
Current conditions schema
| Field | Type | Description |
h3 | string | H3 cell index |
observedAt | string | ISO 8601 timestamp |
station | string | METAR station identifier |
tempF | number | Temperature in Fahrenheit |
feelsLikeF | number | Feels-like temperature |
humidity | number | Relative humidity percentage |
windSpeedMph | number | Wind speed in mph |
windDirection | string | Cardinal direction |
condition | string | Human-readable condition |
icon | string | Icon identifier |
sources | array | Attribution array |
Alerts schema
| Field | Type | Description |
zone | string | NWS forecast zone ID |
alerts | array | Active alerts (empty array if none) |
alerts[].event | string | Alert event type |
alerts[].severity | string | minor, moderate, severe, or extreme |
alerts[].headline | string | Short description |
alerts[].description | string | Full alert text |
alerts[].onset | string | ISO 8601 start time |
alerts[].expires | string | ISO 8601 expiry time |
sources | array | Attribution array |
Air quality schema
| Field | Type | Description |
h3 | string | H3 cell index |
observedAt | string | ISO 8601 timestamp |
aqi | number | Air Quality Index (0-500) |
category | string | AQI category (Good, Moderate, etc.) |
primaryPollutant | string | Primary pollutant (PM2.5, O3, etc.) |
sources | array | Attribution array |
Cache headers
Responses include standard HTTP cache headers:
| Endpoint | Cache-Control max-age |
| Forecast | 900 (15 minutes) |
| Current | 900 (15 minutes) |
| Alerts | 60 (1 minute) |
| Air Quality | 900 (15 minutes) |
Next: Rate Limits & Errors →