Skip to content
WeatherTotals

WeatherTotals JSON API

The WeatherTotals JSON API serves the same figures that appear on the site's pages as structured data. It is free, requires no key or signup, and uses only GET requests.

Endpoints

Every endpoint of the WeatherTotals JSON API and what it returns
EndpointReturns
/api/v1/snow/seasonSeason-to-date snowfall by state, with the highest measured city per state and the normal to date, in inches.
/api/v1/snow/reportsFor the last 24 hours, nationwide snowfall reports are sorted newest first and include place, amount, source, and time.
/api/v1/snow/:state/:cityA single city's snowfall data: season to date versus normal, snow days, biggest day, the day-by-day season, all-time records, and monthly normals.
/api/v1/aurora/nowFor every state, the current verdict and required Kp are shown, along with the planetary Kp, its time, and the forecast peak.
/api/v1/rain/:state/:cityA single city's rain data: yesterday's official climate report, year to date versus normal, rain days, records, and monthly normals.
/api/v1/hail/weekFor the last seven days, state-by-state hail reports include the largest stone and the most recent 24 hours.
/api/v1/yesterdayEach tracked city's entry includes yesterday's official high and low, the times they were recorded, departures from normal, records, and rain.
/api/v1/storms/:kind/:slugA storm's summary and all its reports. Slug comes from the address in the storm's page URL, and kind accepts snow, rain or hail.

Example

Request the current aurora data with this curl command:

curl https://weathertotals.com/api/v1/aurora/now

CSV downloads

Add format=csv to any endpoint to get its data as a CSV file. Where an endpoint holds several tables, table= names the one you want, and the day list is the default. The file opens with comments naming the page it mirrors, the public domain notice, and the source of the figures.

https://weathertotals.com/api/v1/snow/season?format=csv
https://weathertotals.com/api/v1/snow/massachusetts/boston?format=csv&table=seasons
https://weathertotals.com/api/v1/rain/texas/houston?format=csv&table=thresholds
https://weathertotals.com/api/v1/storms/rain/2026-09-09?format=csv

Response envelope

Every response uses the same JSON envelope. The fields are api, asOf, page, docs, attribution, and data.

{
  "api": "v1",
  "asOf": "2026-08-23T10:40:12.000Z",
  "page": "https://weathertotals.com/aurora",
  "docs": "https://weathertotals.com/api",
  "attribution": {
    "notice": "Contains NWS/NOAA material in the public domain (17 U.S.C. 403). ...",
    "license": { "name": "CC BY 4.0", "spdx": "CC-BY-4.0", "url": "https://creativecommons.org/licenses/by/4.0/" },
    "sources": ["NOAA Space Weather Prediction Center planetary Kp"],
    "required": "You must attribute WeatherTotals by linking to the page named above; CC BY 4.0 requires this credit."
  },
  "data": { "kp": 1.0, "observedAt": "2026-08-23T10:39:00.000Z", "states": [ ... ] }
}

Usage terms

  • Every API response is licensed under CC BY 4.0 for any purpose, including commercial use, with no key or permission needed. Attribute WeatherTotals, add a link to the response page, and name the license. The underlying observations are US government public domain.
  • Every response carries an attribution block; republished figures must keep the credit, license, sources and public domain notice it gives.
  • Each IP address gets 120 requests per minute. Exceeding that returns a 429 status and a Retry-After header telling you how many seconds to wait.
  • On every response, the RateLimit-Reset, RateLimit-Remaining, and RateLimit-Limit headers appear, so your client can pace itself. Responses are cached for 5 to 60 minutes, so requesting more often just returns the same figures, and you can contact us via the form if you need more.

Contact · Data sources