Next free-source hunt
We check for new free financial data every Wednesday.
Datasets / Weather
weather.gov/

National Weather Service API (api.weather.gov)

Freeauth: none; User-Agent header requiredCustom#weather#real-time#time-series#geospatial✓ verified Oct 30, 2026

National Weather Service API (api.weather.gov)

Official U.S. forecasts, alerts and observations through api.weather.gov. Point lookups resolve coordinates to seven-day hourly, 12-hour and grid forecast endpoints. No key; every request needs a User-Agent.

Required Attribution:

No attribution requirement stated. NWS: a copyrighted work that consists predominantly of NWS material must identify the NWS material and state that it is not subject to copyright protection (17 U.S.C. § 403). Do not imply NOAA/NWS endorsement.

Coverage

United States and its territories where NWS offices issue products. Point forecasts use each office's roughly 2.5 km grid and expose hourly and 12-hour periods for the next seven days. Alerts cover the past seven days; observation timing and history vary by endpoint.

Verdict

A short-range U.S. weather signal for energy, agriculture and event-risk agents: upcoming temperature, wind, precipitation probability and forecast text. Forecasts change as offices update them, times are ISO 8601 with offsets, and this is not a historical forecast archive. NWS says delivery timing is not assured. The numeric rate limit is not public; cache point mappings and poll near the product refresh cycle.

Get the free weekly email

Free weekly email of newly verified free data. Unsubscribe by emailing us.

Use in your agent

Load an NWS hourly point forecast into pandas and Parquet. Checked against the provider's documentation on Oct 30, 2026.

Raw skill file (/skills/nws-api.md)Also in our MCP server: call get_ingestion_skill with {"slug": "nws-api"}.

Access

  • No account or API key.
  • A User-Agent header is required. Observed 2026-10-30: omitting the header returned HTTP 403.

Request

bash
curl -H 'User-Agent: SignalLabCatalog/1.0 (catalog@signal-lab.example)' 'https://api.weather.gov/points/41.88,-87.63'

Format

GeoJSON/JSON-LD. The /points response links to forecastHourly; that response contains a properties.periods array with ISO 8601 times and forecast fields.

Load into pandas and Parquet

Needs Python 3 with requests, pandas and pyarrow.

python
"""NWS hourly point forecast for Chicago -> pandas -> Parquet. No key."""
import requests
import pandas as pd

HEADERS = {"User-Agent": "SignalLabCatalog/1.0 (catalog@signal-lab.example)"}
point = requests.get("https://api.weather.gov/points/41.88,-87.63", headers=HEADERS, timeout=30)
point.raise_for_status()
forecast_url = point.json()["properties"]["forecastHourly"]
forecast = requests.get(forecast_url, headers=HEADERS, timeout=30)
forecast.raise_for_status()
df = pd.DataFrame(forecast.json()["properties"]["periods"])
df["startTime"] = pd.to_datetime(df["startTime"], utc=True)
df["endTime"] = pd.to_datetime(df["endTime"], utc=True)
df.to_parquet("nws_chicago_hourly.parquet", index=False)
print(len(df), "hourly periods", df["startTime"].min().isoformat(), "to", df["startTime"].max().isoformat())

Run by us on 2026-10-30 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 156 hourly periods 2026-10-30T14:00:00+00:00 to 2026-11-06T01:00:00+00:00

Limits

  • Rate limit: Not stated. NWS says the numeric limit is not public.
  • The hourly point forecast covers the next seven days.

Quirks

  • Resolve coordinates through /points, then follow properties.forecastHourly; office and grid coordinates can change.
  • Forecast timestamps carry offsets. Convert with utc=True before combining locations.
  • This endpoint gives the current forecast, not a historical forecast archive.

Terms and attribution

  • NWS information is generally public-domain material unless marked otherwise. Do not claim it as your own, imply endorsement, or present modified content as official material.
  • Check product timestamps and third-party markings.

Sources

Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer