US Weather Forecast API - NWS Hourly and 7-Day Forecasts
Pricing
$2.00 / 1,000 forecast row returneds
US Weather Forecast API - NWS Hourly and 7-Day Forecasts
7-day and hourly forecasts for any US coordinates, straight from the National Weather Service official API. Fahrenheit and Celsius in every row. No API key, no proxies, nothing that breaks when a weather site is redesigned.
Pricing
$2.00 / 1,000 forecast row returneds
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
7-day and hour-by-hour forecasts for any US coordinates, straight from the government's own API.
This Actor reads api.weather.gov, the official public API of the US National Weather Service (NOAA). It is a work of the US government: public domain, no API key, no rate-limit contract to sign, and no terms that forbid redistribution.
Nothing here parses HTML, so nothing here breaks when a weather website is redesigned. No proxies required.
What you get
One row per forecast period, per location:
| Field | Example | Notes |
|---|---|---|
label | New York, NY | Whatever you named the location |
city / state | New York / NY | Resolved by the NWS itself |
latitude / longitude | 40.7128 / -74.006 | The point that was forecast |
periodName | Today, Tonight, Tuesday | NWS names each period |
startTime / endTime | 2026-08-24T10:00:00-04:00 | With the location's UTC offset |
isDaytime | true | |
temperatureF | 81 | As published |
temperatureC | 27.2 | Converted for you — the NWS only publishes Fahrenheit |
precipitationProbabilityPercent | 21 | null, not 0, when the NWS gives no value |
windSpeed | 6 to 14 mph | Original wording |
windSpeedMaxMph | 14 | Parsed number, so you can sort and threshold |
windDirection | SW | |
shortForecast | Mostly Sunny then Isolated Showers | |
detailedForecast | Isolated showers and thunderstorms after 1pm... | Full NWS prose |
source | NWS api.weather.gov (official, public domain) |
One real row, exactly as the Actor writes it
{"label": "New York, NY","city": "New York","state": "NY","latitude": 40.7128,"longitude": -74.006,"periodNumber": 1,"periodName": "Today","startTime": "2026-08-24T10:00:00-04:00","endTime": "2026-08-24T18:00:00-04:00","isDaytime": true,"temperatureF": 81,"temperatureC": 27.2,"precipitationProbabilityPercent": 21,"windSpeed": "6 to 14 mph","windSpeedMaxMph": 14,"windDirection": "SW","shortForecast": "Mostly Sunny then Isolated Showers And Thunderstorms","detailedForecast": "Isolated showers and thunderstorms after 1pm. Mostly sunny, with a high near 81. Southwest wind 6 to 14 mph. Chance of precipitation is 20%.","source": "NWS api.weather.gov (official, public domain)"}
Three things this Actor does that the raw API does not
1. Celsius. The NWS publishes Fahrenheit only. Every row carries both, so the rest of the world does not have to convert.
2. A wind number you can sort on. "6 to 14 mph" is a sentence, not a value. Every row also carries windSpeedMaxMph: 14.
3. It says when it cannot answer, instead of returning nothing. The NWS covers the United States and its territories. Give it a coordinate in Tokyo and you get an explicit out of range message in the log — not a silent empty dataset that looks like "no weather today". Missing values stay null; they never become a fake 0.
Input
Everything is optional. Run it with no input and you get five major US cities.
{"locations": [{ "label": "New York, NY", "latitude": 40.7128, "longitude": -74.006 },{ "label": "Chicago, IL", "latitude": 41.8781, "longitude": -87.6298 }],"hourly": false}
"40.7128,-74.006" as a plain string works too.
| Field | Default | Meaning |
|---|---|---|
locations | 5 US cities | Points to forecast |
hourly | false | false → ~14 day/night periods over 7 days. true → hour-by-hour (156 hours) |
maxRetries | 3 | Retries per location if the NWS returns an error or non-JSON |
Pricing
You are charged per forecast row actually returned — not per run, not per hour. A default run is 70 rows across 5 cities, which took 8 seconds when measured.
Typical uses
- Weather panels in apps, dashboards and digital signage
- Delivery, logistics and field-work scheduling around rain and wind
- Event and travel planning
- Alerting when a threshold is crossed (
windSpeedMaxMph,precipitationProbabilityPercent) - Feeding a model or an AI agent that needs official US forecasts
FAQ
Does it work outside the United States? No, and it will tell you so. The National Weather Service only forecasts the US and its territories. A coordinate outside that range produces a clear out of range message rather than an empty result.
Do I need an API key? No. Not for the NWS, and not for a proxy.
How current is the data? It is fetched live from the NWS on every run. Schedule it as often as you like.
Can I get hourly data?
Yes — set hourly to true. Each location then returns 156 hourly rows instead of ~14 periods.
Is this affiliated with NOAA or the NWS? No. It reads their public API. The data is a US government work in the public domain.
Other tools by NeverEmpty
Every NeverEmpty Actor follows the same rule: it never returns an empty result to mean two different things, and it only charges for rows that actually carry an answer.
- earthquakes-usgs - earthquakes from the official USGS feed
- sports-scores-api - scores for 8 leagues in one identical row shape
Support
Wrong value, missing field, or a location that should work but does not? Open an issue on the Issues tab. Reports about incorrect data are fixed first.