Season snowfall ledger for a resort
Every day it snowed this season and how much, in up to three lanes that are never blended: modeled (ERA5 / Open-Meteo at mid-mountain, 30 winters deep), measured (one named station, chosen by truth tier then coverage — never an average of stations), and reported (what the resort itself published, including its own season counter). Plus normal — the mean cumulative modeled snowfall by day of season across every complete winter on file, with p25/p75 — and a strip of past seasons for sparklines.
vsNormalPct exists only on the modeled lane, against a modeled normal. A resort-reported total is measured at a summit stake and compares to the resort's own stated annual average, never to this normal. Lanes with nothing observed are absent, not zero.
The modeled lane is sparse at the source (only snow days are stored); the response densifies it, so an absent day is 0 cm. Station lanes keep gaps as null. The normal is withheld under meta.minYearsForNorm complete winters, with the reason in meta.normalWithheldReason.
This is history, not a forecast, and nothing in it is a SnowSure Score. A real resort with nothing recorded returns 200 with a modeled lane of zeros, not 404.
Request
- Base URL: https://www.snowsure.ai
- URL: https://www.snowsure.ai/api/v1/resorts/{slug}/snowfall-history
- Auth: none declared
Path parameters
Resort slug (URL-friendly identifier). Common-name aliases resolve to the canonical slug.
Query parameters
Season to return: 2026-27, 2026 (the NH starting year; 2027 is absorbed as 2026-27), or last. Defaults to the running season, or the upcoming one in the off-season.
How lanes[].bins are rolled up. week is 7-day bins from the season record start (not ISO weeks), so week 1 is the same dates every winter; month reconciles to /monthly-snow. lanes[].days is always daily.
How many prior seasons to summarise in data.pastSeasons (0–30).
Response
The ledger. Lanes present only where something was observed; data.normal null when withheld.
Example response
{
"meta": {
"season": {
"label": "2026-27"
}
}
}Changes
No recorded changes to this operation across all 1 revision of this API.