US Current Weather Observations API - NWS Station Temperature
Pricing
$5.00 / 1,000 observations
US Current Weather Observations API - NWS Station Temperature
Current conditions and temperature from NOAA / US National Weather Service stations. Give a station id or a lat,lon point and it finds the nearest station. Sensors go missing all the time - this Actor leaves those fields null and says how many were actually measured, never zero.
Pricing
$5.00 / 1,000 observations
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 hours ago
Last modified
Categories
Share
Current conditions from US National Weather Service stations, straight from api.weather.gov. No scraping, no HTML parsing, no browser.
Give it a station id, or a point on the map and it finds the nearest reporting station for you.
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.