NWS Settlement Weather: Official Daily High/Low by Station
Pricing
from $2.00 / 1,000 station-day records
NWS Settlement Weather: Official Daily High/Low by Station
Official NWS daily climate report (CLI) high, low and precipitation for the US stations that weather prediction markets and daily temperature contracts settle on, plus live observations. Each record says whether the value is final.
Pricing
from $2.00 / 1,000 station-day records
Rating
0.0
(0)
Developer
amit ashkenazi
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
What it does: returns the official NWS daily climate values used to settle weather contracts: the daily high, low and precipitation from the National Weather Service Daily Climate Report (CLI). You get them for the exact climate stations in major US cities (Central Park for New York, Midway for Chicago, and so on), plus a live running max/min from today's station observations. Each record has a settled flag. It is true only once the NWS has issued the final CLI for that day; a same-day afternoon report is labelled preliminary.
Why use it instead of scraping weather sites: the values come straight from the NWS products (no third-party weather site), the day boundaries follow the CLI's local standard time rule (midnight to midnight standard time, even during daylight saving time), and the issuance time and product id of the report behind each value are included so you can audit it.
Use cases
- Check how a daily temperature contract settled. Weather contracts on prediction markets and weather derivatives are commonly settled on the NWS Daily Climate Report for one named station. This Actor returns that report's high, low and precipitation, and tells you whether the value is final.
- Track the day as it happens. The running max/min from live station observations shows where today's high and low stand before the official report is out.
- Audit a value. Each record carries the product id, issuance time and source URLs of the NWS report behind it.
- Give an AI agent the official number. One call returns a small JSON record per station and day.
Tutorial: Why the "official" daily high is not what your weather app says
Supported stations
| ICAO | City | CLI code | ICAO | City | CLI code | |
|---|---|---|---|---|---|---|
| KNYC | New York (Central Park) | NYC | KATL | Atlanta | ATL | |
| KMDW | Chicago (Midway) | MDW | KDFW | Dallas/Fort Worth | DFW | |
| KORD | Chicago (O'Hare) | ORD | KSEA | Seattle | SEA | |
| KMIA | Miami | MIA | KSFO | San Francisco (SFO) | SFO | |
| KAUS | Austin (Bergstrom) | AUS | KLAS | Las Vegas | LAS | |
| KLAX | Los Angeles (LAX) | LAX | KDCA | Washington DC (Reagan National) | DCA | |
| KDEN | Denver | DEN | KMSY | New Orleans | MSY | |
| KPHL | Philadelphia | PHL | KPHX | Phoenix | PHX | |
| KHOU | Houston (Hobby) | HOU | KMSP | Minneapolis | MSP | |
| KBOS | Boston | BOS | KSAT | San Antonio | SAT | |
| KOKC | Oklahoma City | OKC |
You can pass the ICAO id, the CLI code, or the city name. "Chicago" means Midway (KMDW), and "Houston" means Hobby (KHOU). Use "KORD" for O'Hare.
Input
{"locations": ["KNYC", "Chicago", "Austin"],"startDate": "yesterday","endDate": "today","includeObservations": false}
locations: up to 25 cities or station ids.startDate/endDate:YYYY-MM-DD,todayoryesterday, in each station's local standard time.endDatedefaults tostartDate. Dates must be within the last 7 days and not in the future.includeObservations: also return every observation of the day (time, °F, raw METAR when present).
Output
One record per station per date (a "station-day"). Real example (KNYC, 2026-10-08):
{"station": "KNYC","city": "New York (Central Park)","cli_station_name": "CENTRAL PARK NY","date": "2026-10-08","day_timezone": "UTC-5 (local standard time, as the CLI uses)","settled": true,"status": "settled","cli_report_type": "final","cli_valid_as_of": null,"cli_high_f": 73,"cli_high_time_lst": "251 PM","cli_low_f": 57,"cli_low_time_lst": "626 AM","cli_precip_in": 0.0,"cli_precip_trace": false,"cli_record_high": false,"cli_record_low": false,"cli_product_id": "11381994-8a82-44f7-a5f5-1e40d6d5d94b","cli_issued_at": "2026-10-09T06:32:00Z","obs_high_f": 73.0,"obs_low_f": 57.0,"obs_count": 24,"obs_first_utc": "2026-10-08T05:51:00Z","obs_last_utc": "2026-10-09T04:51:00Z","obs_source": "api.weather.gov","source_urls": ["https://api.weather.gov/products/11381994-8a82-44f7-a5f5-1e40d6d5d94b","https://api.weather.gov/stations/KNYC/observations?start=2026-10-08T05%3A00%3A00Z&end=2026-10-09T05%3A00%3A00Z&limit=500"],"fetched_at": "2026-10-09T14:21:40Z"}
| Field | Meaning |
|---|---|
settled | true when the final CLI for that date has been issued (normally early the next morning, local time). |
status | Why the row is or isn't settled, in plain words: settled; preliminary as of 7 AM (a same-day CLI that covers only part of the day); pending: day not over, final report expected after midnight local standard time (today, no CLI yet, so the cli_* columns are empty); pending: final report not issued yet (yesterday, final still to come); or no report: NWS has not issued a CLI for this date. |
cli_report_type | final, preliminary (a same-day CLI "valid as of" a local time), or null when no CLI for that date has been issued yet. |
cli_high_f, cli_low_f, cli_precip_in | Values from that CLI. null if the report shows them as missing (MM). A trace of precipitation is 0.0 with cli_precip_trace: true. |
cli_high_time_lst, cli_low_time_lst | Time of the extreme as printed in the CLI (local standard time). |
cli_record_high, cli_record_low | true if the CLI marks the value as a record (R). |
obs_high_f, obs_low_f | Running max/min of the reported observation temperatures for that local-standard-time day, so far. |
obs_source | api.weather.gov, or aviationweather.gov if the NWS observations endpoint was down and the METAR fallback was used. |
FAQ
Which station is used for New York's daily high temperature?
Contracts that reference the NWS Daily Climate Report for New York use Central Park (KNYC). Chicago contracts usually name Midway (KMDW), not O'Hare. Always check the station named in your own contract's rules; this Actor returns whichever supported station you ask for.
Why is the official high different from my weather app? Two reasons. The climate day runs midnight to midnight local standard time, so during daylight saving time it runs from 1 AM to 1 AM on the clock. And the official value comes from the station's continuous record, while apps usually show periodic observations or a nearby station.
When is the final value available?
The morning after. In our October 2026 tests, NWS offices issued the final report between about 1 AM and 5 AM local time. Until then settled is false.
What does settled: false mean?
The final Daily Climate Report for that date has not been issued yet. status says why: the day is not over, the final report is still to come, a same-day preliminary report is all there is, or the NWS has issued no report.
Can I use the obs_* values for settlement?
No. They are a running max/min from reported observations and can differ from the official value by a degree or so. Use the cli_* fields for settlement and obs_* for intraday tracking.
Can I get dates older than a week? No. The NWS API keeps these reports and observations for about 7 days.
Does it return market prices or odds? No. It returns weather data only.
Pricing
Pay per event:
- $0.005 per run (start).
- $0.002 per station-day record.
Example: 3 cities for yesterday and today = 6 records = $0.005 + 6 × $0.002 = $0.017. You are only charged for records returned.
Limits
- 7-day window. The NWS API keeps CLI reports and observations for about 7 days. Older dates are refused, and no station-day records are charged for them (the per-run start fee still applies).
- Final values arrive the next morning. Until the final CLI is issued,
settledisfalseandstatussays why. For today thecli_*columns are often empty (no CLI yet) or hold a partial morning/afternoon report; for settled values, ask foryesterday. NWS offices issue it at different times; in our October 2026 tests, between about 1 AM and 5 AM local time. Offices occasionally re-issue or correct a CLI later; this Actor always returns the latest final report it finds. - Observation max/min is not the official value. The CLI high/low comes from the station's continuous record. The running max/min comes from the reported observations (usually every 5 minutes, hourly for some stations, converted from °C to °F to one decimal). It can differ from the official value by a degree or so. Use
cli_*fields for settlement andobs_*for intraday tracking. - Raw METAR text is present only on the hourly/special observations, not on 5-minute ones.
- Only the stations listed above. Other stations are refused.
- Upstream outages. If api.weather.gov is down for the CLI, that location is skipped with a warning and no station-day records are charged for it. If only the observations endpoint is down, observations come from aviationweather.gov instead.
Data source
All data comes from US federal government sources and is in the public domain:
- National Weather Service API,
api.weather.gov: CLI daily climate report products and station observations. - NOAA Aviation Weather Center data API,
aviationweather.gov: METAR observations, as a fallback.
This Actor is not affiliated with or endorsed by NOAA or the NWS. It returns weather data only, no market data.