Bulk spatial data.
Resort, trail, and lift geometry as GeoJSON. Cached at the edge for 24 hours. Free under attribution while in beta. Per-record reads go through the live REST API.
Endpoints
GET
/data/resorts.geojsonAll onboarded resorts as a FeatureCollection. Properties: name, slug, country, region, trail_count, lift_count, vertical_drop_ft, passes.
GET
/data/resorts/:slug/trails.geojsonTrails for one resort. LineString or MultiLineString geometry. Properties: name, difficulty, length_m, vertical_drop_m, top_elev_m, bottom_elev_m.
GET
/data/resorts/:slug/lifts.geojsonLifts for one resort. Properties: name, kind (chairlift / gondola / surface), capacity_per_hour, vertical_m.
Quick try
curl https://api.piste.fyi/data/resorts.geojson \
| jq '{ resorts: (.features | length) }'
curl https://api.piste.fyi/data/resorts/a-basin/trails.geojson \
| jq '.features | map(.properties.name) | .[0:5]'Sources & attribution
- — Resort, trail, and lift geometry: OpenSkiMap (CC-BY-SA).
- — Run reconstructions and aggregate stats: derived from contributed GoPro telemetry.
- — Underlying basemap: MapTiler tiles via MapLibre.
Use freely with attribution to "Piste · piste.fyi" while in beta. Commercial / SLA terms come with the Team plan.