Skip to content

Developer Notes

Ryan Slominski edited this page Jan 5, 2026 · 27 revisions

Where to get weather data

The nicest APIs historically have been available from Weather Channel and AccuWeather. This app initially used Weather Channel data around 2015-ish? Then switched to AccuWeather around 2019 when the Weather Channel data became too restricted. As of Fall 2025 AccuWeather is no longer an option for casual use either. Fortunately the National Weather Service (NWS) forecast data is good enough now.

The National Weather Service provides data, though only the alerts API has been historically reliable / stable. The animated radar gif of the local weather station (Wakefield) is nice, but the URL has changed over the years. There are numerous APIs at the NWS and most are half-baked, unreliable, incomplete, slow, or overly complicated. Initially I attempted to use NWS data exclusively but it wasn't sufficient. Circling back a decade later it looks like it might finally be useable now for forecast data (though it's still not robust or completely classified as "production"). The endpoints I've stumbled on so far include:

NWS Data APIs

URL Description
api.weather.gov/alerts Alert data JSON
radar.weather.gov Wakefield radar animated image
graphical.weather.gov/.../...ClientByDay.php Daily forecast with conditions and icons! Verbose XML, time series don't appear to start at midnight as expected, plus precipitation frequency is separate 12-hour time series instead of 24 hour series as desired. Note: You must update begin and end params accordingly.
api.weather.gov/zones/forecast Day/Overnight (12 hour - 6am/6pm) forecast by "zone" - old school. Not super useful as few like this presentation. Very verbose too. Zone can be looked up via lat/lon.
api.weather.gov/gridpoints/... You can get a forecast by gridpoint. This requires you look up the grid point given a lat/lon in a two-step process as the grid points don't change frequently, but may change so not confident you can just hard code a specific grid locator. NWS divides weather data into 2.5km grid apparently. There is an old school day/overnight type forecast by default (like zone forecast above). There is an hourly as well, that actually seems reasonably good.
forecast.weather.gov/MapClick.php...digitalDWML Hourly forecast XML for next 48 hours with just about everything EXCEPT condition summary and icons (which are the most important thing). Dang, almost was nice.
forecast.weather.gov/MapClick.php...json This is a 12 hour forecast (starting at 6 AM/PM) JSON as is commonly found on NWS. This would be good except everyone is used to 24 hour forecasts nowadays...
graphical.weather.gov/.../...client.php Hourly XML forecast. Very wonky though as each additional parameter you add often is assigned to a separate time series that is updated at a different frequency. For example precipitation probability is updated no more frequently than every 12 hours whereas condition icons are updated every 3 hours. Frustrating to use and ultimately doesn't cut it. Note: You must update begin and end params accordingly.
mobile.weather.gov Mobile hourly JSON data; Not advertised well so literally stumbled on it after trying everything else, but contains actual hourly data with conditions and icons! NOTE: This site was decommissioned June 26, 2024!

Note: JLab is located at lat,lon: 37.09,-76.48

See Also

Clone this wiki locally