US Current Weather Observations API - NWS Station Temperature
Pricing
from $3.70 / 1,000 observations
US Current Weather Observations API - NWS Station Temperature
For dashboards, agriculture, logistics, energy and field service: current conditions and temperature from US National Weather Service stations, straight from api.weather.gov. Missing sensor readings stay null instead of a fake zero, and every row says how many of the nine core readings were taken.
Pricing
from $3.70 / 1,000 observations
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 days ago
Last modified
Categories
Share
For dashboards, field operations, agriculture and any model that needs what the weather actually is right now: current conditions from US National Weather Service stations, straight from api.weather.gov. Give it a station id, or a point on the map and it finds the nearest reporting station for you — measured on 2026-08-30, KJFK, KORD and KSEA all returned observations, and a point in Washington DC resolved to KDCA out of 54 nearby stations.
Weather sensors go missing, and that is the whole point of this Actor. A station reports temperature but not visibility. Another has no gust reading. This is normal and it happens constantly. Most pipelines paper over it: fill a missing wind gust with 0 and your dashboard now says "no gusts" when the truth is "nobody measured"; fill a missing temperature with 0 and you have invented a freezing day. Here a missing value is null — { "stationId": "KJFK", "temperatureC": 20, "windGustKmh": null } — so a gap stays a gap.
No scraping, no HTML parsing, no browser. US government data, public domain, no API key. Export as JSON, CSV or Excel.
The thing this Actor does differently
Weather sensors go missing. A station reports temperature but not visibility. Another has no gust reading. This is normal and it happens constantly.
Most pipelines paper over it. Fill a missing wind gust with 0 and your dashboard now says "no gusts" when the truth is "nobody measured". Fill a missing temperature with 0 and you have just invented a freezing day.
This Actor leaves missing readings as null, and tells you how many of the nine core measurements were actually taken:
{ "stationId": "KJFK", "temperatureC": 20, "windGustKmh": null,"fieldsMeasured": 8, "fieldsMissing": 1 }
If a station returns an observation with no measured values at all, that is not reported as a success — you get a row explaining it instead.
What you get
| Field | |
|---|---|
stationId / stationName / elevationM | which station reported |
observedAt | when the observation was taken (ISO) |
textDescription | Clear, Mostly Cloudy, … as NWS words it |
temperatureC / temperatureF / dewpointC / dewpointF | both units, null if unmeasured |
relativeHumidityPct | |
windSpeedKmh / windGustKmh / windDirectionDeg | |
barometricPressurePa / seaLevelPressurePa / visibilityM | |
windChillC / heatIndexC | only present when conditions call for them |
precipitationLast3HoursMm / maxTemperatureLast24HoursC / minTemperatureLast24HoursC | |
rawMessage | the original METAR string, if the station sends one |
fieldsMeasured / fieldsMissing | how much of this row is real |
resolvedFromPoint | set when you gave coordinates instead of a station id |
checkedAt | when this Actor asked |
Input
{ "stations": ["KJFK", "KORD", "38.89,-77.03"], "maxRetries": 3 }
| Input | |
|---|---|
stations | NWS station ids (KJFK) or points as "lat,lon". A point costs two extra requests while the nearest station is resolved, and the row records which point it came from. |
maxRetries | Retries when NWS rate-limits or has an outage. |
An input that cannot be read — "Tokyo", "K1" — produces a row saying exactly that, and no request is sent to NWS.
Measured on 2026-08-30: KJFK, KORD and KSEA all returned observations; a point in Washington DC resolved to KDCA out of 54 nearby stations.
Billing
Charged per observation delivered. Rows that explain a bad input, a missing station, or an NWS outage are free. If you set a maximum total charge on the run and it is reached, the run stops and says so in the log and the run status rather than handing you a partial result that looks complete.
Source and conduct
Data comes from the National Weather Service public API. NWS states the information is "open data, free to use for any purpose" and asks that clients identify themselves with a User-Agent; this Actor sends one that includes a contact URL, so NWS can reach us rather than block us if anything ever looks wrong.