Travel fares · Ski pass prices
Ski pass price monitoring: dynamic lift-ticket pricing by resort and date
Ski pass price monitoring records what a lift ticket costs for a given resort, ski date and age category on each day you look. Where resorts price dynamically, the same day pass gets more expensive as the ski date approaches or as demand rises, so the purchase date belongs in every observation.
Pay per GB · No subscription · Prices in EUR, excl. VAT
- €2.00
- per GB on ARC Fast, excl. VAT
- −44%
- at 1 TB (€1.12 / GB)
- 185+
- countries, city targeting
- Never
- expires — no subscription
Written for
- Ski resort revenue and ticketing teams
- Ski holiday comparison and booking sites
- Tour operators packaging lift passes
- Tourism economists
The short answer
- One observation is resort × ski date × pass length × age category × purchase date. Without the purchase date, a dynamic price cannot be compared.
- Dynamic pricing is widespread in the Alps: the Swiss cableway association said in 2023 that half of the large Swiss ski areas used it. Others keep fixed or tiered prices, so record the model per resort.
- Resorts say what moves the price. Zermatt's ticket FAQ names demand, number of orders and the weather forecast, and says early bookers get the best price.
- Ticket shops are light, calendar-driven pages. The rotating ISP pool covers most of them at the lowest cost.
The problem
What goes wrong without the right IPs
The calendar shows a 'from' price
Shops often show the lowest price of a period on the calendar and the real price only after choosing a date, age and pass length. Collect the selected-product price, not the calendar label.
Age categories and pass lengths multiply
Adult, youth, child and senior prices for one to fourteen days quickly become hundreds of products per resort. Pick the products your readers or packages use; the adult one-day and six-day passes cover most comparisons.
Online and counter prices differ
Some resorts charge more at the ticket office than online; others guarantee the same price everywhere. Store the channel the price applies to, and note the resort's stated policy.
Combined areas and partner passes
One lift pass can cover several linked areas, and regional passes cover many resorts. Map each product to the lifts it covers, or a price comparison will put a small area against a large one.
What to collect
What you can collect
- Resort and ski area coverage
- Which lifts and linked areas the pass includes.
- Ski date
- Peak weeks, weekends and holidays price differently.
- Purchase date and days ahead
- The axis of the advance-purchase curve.
- Pass length and age category
- Each combination is its own price series.
- Price and currency
- CHF, EUR or other local currency, as displayed.
- Pricing model
- Dynamic, tiered by purchase time or fixed, per resort and season.
- Channel
- Online shop, ticket office or partner, where the shop states it.
- Season pass price and deadline
- Early-bird season passes have dated price steps.
How it runs
How a collection run works
- 01
List resorts, products and the season grid
For each resort, record its shop, pricing model and the products you track. Choose ski dates across the season: opening, school holidays, regular weekdays and weekends, late season.
- 02
Query the selected-product price daily
Ticket shops typically expose a price endpoint per date, product and age. Query it for every ski date on each collection day; the daily snapshots form the advance-purchase curve.
Daily snapshot of a resort's price calendar19 linesfrom datetime import date, timedeltaimport httpxPROXY = "http://USERNAME_pool-arcfast_country-de:PASSWORD@proxy.arcproxies.io:8000" # rotating pool, country of the resortPRODUCTS = [("adult", 1), ("adult", 6), ("child", 6)]def snapshot(shop, season_start: date, season_end: date) -> list[dict]: today = date.today() rows = [] with httpx.Client(proxy=PROXY, timeout=20) as client: d = max(season_start, today) while d <= season_end: for age, days in PRODUCTS: price = shop.price(client, ski_date=d, age=age, days=days) rows.append({"ski_date": d, "bought_on": today, "days_ahead": (d - today).days, "age": age, "days": days, "price": price}) d += timedelta(days=1) return rows - 03
Add covariates
Store snow and weather forecasts, school holidays in the main source markets, and the day of week. Resorts that price on forecasts move with them, and a curve without covariates is hard to read.
- 04
Build curves and indices
Per resort and product, plot price against days ahead for each ski date, and summarise the gap between the earliest and the day-of price. Storing price time series covers the schema.
Setup
Recommended setup
Lift-ticket shops are public and light, and most show the same price to every visitor. Start cheap.
| Plan | Role | Session | Targeting | Price |
|---|---|---|---|---|
ARC Basic Rotating ISP | Default for ticket shop calendars Many small JSON or calendar requests per day. The rotating ISP pool has the lowest price per GB. | Rotating | Country of the resort | €0.75 / GB €0.59 at 1 TB (−21%) |
ARC Fast Rotating residential | Shops that vary by visitor market or hold a basket For shops that switch currency or language by visitor country, or that only show a price after a session-bound selection. | Sticky, about 10 minutes per product selection | Country of the guest market | €2.00 / GB €1.12 at 1 TB (−44%) |
Prices are list prices in EUR, excl. VAT. Volume discounts apply automatically at checkout — full ladder on the pricing page.
Connect
One connection string per market
The country, city and sticky session are tokens in the username. Change the token, change the market; keep the session handle, keep the IP.
http://USERNAME_pool-arcfast_country-de_session-k3f9a1x2_sesstime-10:PASSWORD@proxy.arcproxies.io:8000Swap _country-de for any market you quote. The full grammar is on the residential proxies page.
Illustration
What a 50-resort lift-ticket index costs
An illustration with round numbers — your pages, payloads and retry rate will differ. The arithmetic is the real price ladder.
Assumptions
- Resorts
- 50
- Ski dates per season
- 90
- Products per date
- 2
- Cadence
- daily (30 a month)
- Weight per price request
- 50 KB
- Bandwidth per month
- ≈ 14 GB
On ARC Basic
€10.50per month, excl. VAT
14 GB bought in one purchase at €0.75 / GB (list price).
The same 14 GB on ARC Fast: €28.00 at €2.00 / GB. Route only the jobs that need it through the pricier pool.
Price endpoints return small JSON payloads; a full page render per date would multiply the weight several times.
Bandwidth never expires, so a bigger single purchase is only ever cheaper per GB. See the ladder.
In depth
Ski pass prices, in depth
How dynamic ski pass pricing works
With dynamic pricing, a day pass has no single price. It depends on the ski date and on when it is bought. Zermatt Bergbahnen's ticket FAQ says that, depending on demand, number of orders and weather forecast, the price may increase, and that those who book early are guaranteed the best price; at the time of checking it applied dynamic pricing to ski passes only.
The model has spread. Keystone-SDA reported in November 2023, citing the deputy director of the Swiss cableway association, that half of the large Swiss ski areas had adopted dynamic prices. It is the same family of techniques as dynamic pricing in hotels and airlines, applied to a perishable day of lift capacity.
Three pricing models to record per resort
| Model | How the price moves | What to collect |
|---|---|---|
| Dynamic | By ski date, demand and purchase time; can change daily | Daily snapshots for every ski date |
| Tiered by purchase time | Fixed steps, e.g. early, regular, late | Step dates and step prices |
| Fixed seasonal | One price per season period | The tariff once per season, plus changes |
Do not assume a model from a neighbouring resort. Record it per resort and season from the shop's own terms.
What skiers do about it
A representative study by the Institute for Retailing, Sales and Marketing at Johannes Kepler University Linz, surveyed at the end of the 2024/25 season, found that half of the Austrian skiers asked plan their ski days further in advance to get lower prices, and half see dynamic pricing as a useful way to manage capacity. Respondents also said spontaneous visitors and families pay more.
For comparison sites and tour operators, this is the case for advance-purchase curves: readers want to know how much buying early saves at each resort, and packages need a price that holds until the guest books. The same thinking applies to tours and activities sold by time slot.
Works with anything that takes a proxy URL
- Python requests / httpx
- Node.js
- Scrapy
- changedetection.io
- n8n
FAQ
Questions
Something not covered? Write to contact@arcproxies.io.
Is it cheaper to buy a ski pass in advance?
At resorts with dynamic or purchase-time pricing, usually yes; several resorts state that early online buyers get the best price. At resorts with fixed seasonal prices it makes no difference. Tracking the same pass over time shows the size of the saving per resort.
How do I build an advance-purchase curve for lift tickets?
Query the price of the same product, for the same ski date, every day from when it goes on sale until the day itself. Plot price against days ahead. Repeat for several ski dates, because peak and off-peak dates behave differently.
Why do ski pass prices change after a snow forecast?
Some resorts include the weather forecast in their pricing. Zermatt's FAQ lists demand, number of orders and the forecast as factors that can raise the price. Store forecasts with your price snapshots to see the effect.
Which proxies do I need for ski pass prices?
Mostly the rotating ISP pool, because ticket shops are public, light and usually show the same price to everyone. Use residential exits for shops that change currency or language by visitor country. Billing is per GB, so a seasonal job costs nothing in summer.
Can I compare lift ticket prices across countries?
Yes, if you compare like for like: same pass length and age category, similar ski area size, and prices converted at a stated reference rate on the observation date. Note the pricing model, since a dynamic price and a fixed price are not observed the same way.
Sources & review
Last reviewed by the ARC Proxies team. Prices are read from the live catalog at build time.
- [1]Zermatt Bergbahnen AG: FAQ: tickets and dynamic pricing
- [2]The Swiss Times (Keystone-SDA): Every second large ski resort already relies on dynamic prices (11 November 2023)
- [3]Johannes Kepler University Linz, Institute for Retailing, Sales and Marketing: What do skiers say about dynamic pricing? (4 December 2025)
Travel fares
More on travel fares
Get started
Buy a gigabyte and try it on your own targets.
No subscription, no sales call. Code WELCOME15 takes 15% off your first purchase, and whatever you do not use is still there next quarter.