National Weather Service API

Official US weather forecasts and alerts

🔑 Auth: None 🔒 HTTPS: Yes 🌐 CORS: Enabled HTTP 200

Live Technical Metrics

Pre-calculated · updated every 20 min
Server-measured technical metrics for the National Weather Service API
Uptime Status ✅ Operational (HTTP 200)
Server Latency 🔴 4225 ms — Very slow
Hosting Server Apache
Content-Type text/html; charset=UTF-8
Cache-Control max-age=180
CORS Support ✅ Enabled — safe for browser fetch()
Authentication ✅ None required — call the API directly without a key
Category Weather
Last HTTP status:
200
Measured latency:
4225 ms

Quick Integration Code

✅ No API key needed
fetch("https://www.weather.gov/documentation/services-web-api")
  .then(response => {
    if (!response.ok) throw new Error(`HTTP ${response.status}`);
    return response.json();
  })
  .then(data => console.log(data))
  .catch(error => console.error("Request failed:", error));
import requests

url = "https://www.weather.gov/documentation/services-web-api"
headers = {
    "Accept": "application/json",
    # "Authorization": "Bearer YOUR_TOKEN_HERE",
}

response = requests.get(url, headers=headers, timeout=10)
response.raise_for_status()
data = response.json()
print(data)
curl -X GET "https://www.weather.gov/documentation/services-web-api" \
  -H "Accept: application/json" \
  -H "User-Agent: MyApp/1.0" \
  --max-time 10 \
  --silent | python3 -m json.tool

Sample JSON Response — Weather

Weather

  "location" 
    "name" "New York"
    "country" "US"
    "lat" 40.7128
    "lon" -74.006
  
  "current" 
    "temp_c" 12.3
    "temp_f" 54.1
    "condition" 
      "text" "Partly cloudy"
    
    "wind_kph" 18.4
    "humidity" 62
    "feelslike_c" 10.2
    "uv" 3
  
  "forecast_days" 7