How We Measure Snow Depth at 675+ Ski Resorts

    Snow depth is the single most asked-about number in skiing — and the most inconsistently reported across the industry. Different resorts measure differently, at different points on the hill, on different schedules.

    Our job is to make those numbers comparable. This is exactly how we do it.

    Where the raw numbers come from

    We never invent snow depth. Every value on Where-to-Ski.com is sourced from an upstream feed that a resort, national federation or licensed aggregator publishes, then normalised into one schema.

    • fnugg API — official Norwegian resort feed (Skistar Norway, Trysil, Hemsedal, etc.).
    • ANMSM open data — French resort federation, covers most operated areas in the Alps and Pyrenees.
    • RapidAPI ski feed — primary source for US resorts (Colorado, Utah, Vermont, etc.).
    • Resort-published JSON / scraped tables for Italy, Switzerland and Austria where no federation feed exists.
    • Perplexity Sonar — used as a fallback only when no machine-readable feed is available.

    Upper vs lower mountain — and why we publish both

    Most resorts report two depths: the top of the lift system and the village/base. The difference is often 80–150 cm in mid-season. We store both and show whichever is most relevant to the question the page is answering.

    Ranking pages (Most snow right now, snowiest in March) use upper-mountain depth, because that is what determines whether the resort can actually open terrain. Resort detail pages show both so you can judge tree-line versus glacier conditions.

    Cache TTLs — why the number is not 'live to the second'

    Snow depth does not change minute-by-minute. Resorts measure once at dawn, sometimes once again at midday. Calling upstream APIs more often than that costs money and provides no extra information.

    • Regional APIs (fnugg, ANMSM, RapidAPI): 48-hour cache.
    • Perplexity Sonar fallback: 96-hour cache.
    • We surface the underlying timestamp on every resort page — never our own fetch time.

    Edge cases we explicitly handle

    A surprising amount of complexity hides behind 'snow depth.' These are the cases that bite naïve aggregators:

    • Indoor centres (SnowWorld, Ski Dubai) — measured snow depth is meaningless. We replace the field with opening-hour data.
    • Closed resorts in summer — we expire the value rather than display a stale 200 cm from April.
    • Resorts with non-numerical reports (e.g. 'good cover top to bottom') — kept in an explicit expired state so they never enter rankings.
    • Mid-mountain only resorts — both 'upper' and 'lower' fields are populated from the same reading, flagged so we do not report a fake 0 cm base.

    Frequently asked questions

    Is the snow depth on Where-to-Ski.com live?

    It is as live as the resort's own measurement. Resorts publish once or twice per day; we re-fetch every 48 hours from regional APIs and every 96 hours from our fallback source. The timestamp shown on each resort page is the resort's measurement time, not our fetch time.

    Why does your snow depth differ from another site?

    Three reasons usually: (1) we explicitly distinguish upper vs lower mountain rather than averaging; (2) we expire stale readings instead of repeating last week's number; (3) when a resort posts a range or qualitative description, we mark it expired rather than guessing a number.

    Do you measure snow yourselves?

    No. There is no honest way to remotely measure 675 mountains. We aggregate, normalise and timestamp what the resorts and national feeds publish — and we are explicit when a number is missing.