Discover/Vail API
live

Vail APIvail.com

Live snow reports, weather forecasts, and trail/lift status for Vail, Breckenridge, Keystone, and Beavercreek. JSON API with 3 endpoints.

Endpoint health
verified 6d ago
get_weather_forecast
get_terrain_status
get_snow_report
3/3 passing latest checkself-healing
Endpoints
3
Updated
21d ago

What is the Vail API?

This API covers live mountain conditions across four Vail Resorts properties through 3 endpoints. get_snow_report returns snow depth at summit, mid-mountain, and base along with new snowfall over four time windows and season totals. get_weather_forecast delivers current temperature, high/low forecasts, wind speed, and condition descriptions. get_terrain_status exposes per-trail and per-lift status including difficulty ratings, grooming state, and open counts.

Try it
Resort slug identifying which resort to query.
api.parse.bot/scraper/7b2cd062-7b65-4b8e-92ed-b857cf886d80/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/7b2cd062-7b65-4b8e-92ed-b857cf886d80/get_snow_report?resort=vail' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace vail-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.vail_ski_resort_api import VailResorts, Resort

client = VailResorts()

# Get snow conditions for Breckenridge
snow = client.snowreports.get(resort=Resort.BRECKENRIDGE)
print(snow.resort, snow.snow_quality, snow.season_snowfall_inches)
print(snow.new_snow_inches.overnight, snow.new_snow_inches.last_24h)
print(snow.base_depth_inches.summit, snow.base_depth_inches.mid_mountain)

# Get current weather at Vail
weather = client.weatherforecasts.get(resort=Resort.VAIL)
print(weather.current_temp_f, weather.high_temp_f, weather.low_temp_f)
print(weather.condition, weather.wind.direction, weather.wind.speed_mph)

# Check terrain status at Beaver Creek
terrain = client.terrainstatuses.get(resort=Resort.BEAVER_CREEK)
print(terrain.resort, terrain.total_trails_open, terrain.total_trails)
print(terrain.total_lifts_open, terrain.total_lifts)

for lift in terrain.lifts:
    print(lift.name, lift.status, lift.area)

for trail in terrain.trails:
    print(trail.name, trail.difficulty, trail.is_groomed)
All endpoints · 3 totalmissing one? ·

Retrieve detailed snow conditions including snow depth at summit/mid/base, recent snowfall (overnight, 24h, 48h, 7d), season total, and current snow quality for a given resort.

Input
ParamTypeDescription
resortstringResort slug identifying which resort to query.
Response
{
  "type": "object",
  "fields": {
    "resort": "string — resort name",
    "report_date": "string — date/time of the report",
    "snow_quality": "string — current snow condition description",
    "new_snow_inches": "object with overnight, last_24h, last_48h, last_7d (all string inch values)",
    "base_depth_inches": "object with summit, mid_mountain, base_area (all string inch values)",
    "season_snowfall_inches": "string — total season snowfall in inches"
  },
  "sample": {
    "data": {
      "resort": "Vail",
      "report_date": "04/09/2026 05:29:00",
      "snow_quality": "Snow Groomed",
      "new_snow_inches": {
        "last_7d": "0",
        "last_24h": "0",
        "last_48h": "0",
        "overnight": "0"
      },
      "base_depth_inches": {
        "summit": "0",
        "base_area": "30",
        "mid_mountain": "30"
      },
      "season_snowfall_inches": "168"
    },
    "status": "success"
  }
}

About the Vail API

Snow Reports

The get_snow_report endpoint accepts a resort slug — vail, beavercreek, breckenridge, or keystone — and returns snow depth at three elevation bands (summit, mid_mountain, base_area), new snowfall figures across four windows (overnight, last_24h, last_48h, last_7d), a season_snowfall_inches total, and a snow_quality string describing current surface conditions. All depth and snowfall values are returned as inch strings.

Weather Forecasts

The get_weather_forecast endpoint returns current_temp_f, high_temp_f, and low_temp_f as numbers, a condition description string, and a wind object containing direction and speed_mph. The same four resort slugs are accepted. This gives enough data to display a compact weather widget or drive alert logic when temperatures drop below a threshold.

Terrain Status

The get_terrain_status endpoint returns two arrays: trails and lifts. Each trail object includes name, status, difficulty, is_groomed, and area. Each lift object includes name, status, area, and wait_time. Summary counts (total_trails, total_trails_open, total_lifts, total_lifts_open) are also returned at the top level. Note that during the off-season the trail and lift arrays may return empty — build your integration to handle that case gracefully.

Reliability & maintenanceVerified

The Vail API is a managed, monitored endpoint for vail.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when vail.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official vail.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Display a live ski conditions widget showing base depth and snow quality for a resort booking app.
  • Send push notifications when overnight snowfall exceeds a user-defined threshold using new_snow_inches.overnight.
  • Build a trail map overlay that colors runs by difficulty and is_groomed status from get_terrain_status.
  • Show lift wait times and open/closed status on a mobile ski-day planner.
  • Aggregate season snowfall totals across Breckenridge, Vail, and Keystone for a season-pass comparison dashboard.
  • Trigger weather alerts for wind speed or temperature extremes using wind.speed_mph and low_temp_f.
  • Power a resort-selection tool that ranks resorts by current open trail counts.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Vail Resorts provide an official developer API?+
Vail Resorts does not publish a public developer API or API documentation for snow reports, terrain status, or weather data. This Parse API surfaces that data in a structured JSON format.
What does get_terrain_status return for each trail?+
Each trail object includes name, status (e.g. open, closed), difficulty (e.g. green, blue, black), is_groomed (boolean), and area. Top-level fields give summary counts: total_trails, total_trails_open, total_lifts, and total_lifts_open. During the off-season, the trails and lifts arrays may be empty.
How current is the snow report data?+
Each response from get_snow_report includes a report_date field showing the timestamp of the underlying report. Vail Resorts typically updates snow reports once daily in the early morning. The report_date value is the authoritative indicator of data freshness for a given request.
Does the API cover historical snowfall or multi-day forecasts?+
No historical snowfall records or extended multi-day forecasts are available. get_snow_report covers cumulative windows up to last_7d plus a season total, and get_weather_forecast returns a single-day high/low alongside current conditions. You can fork this API on Parse and revise it to add an endpoint targeting multi-day forecast data.
Are resorts beyond Vail, Breckenridge, Keystone, and Beavercreek supported?+
The current accepted slugs are vail, beavercreek, breckenridge, and keystone. Other Vail Resorts properties such as Park City or Heavenly are not covered. You can fork this API on Parse and revise it to add additional resort slugs.
Page content last updated . Spec covers 3 endpoints from vail.com.
Related APIs in WeatherSee all →
keystoneresort.com API
Get real-time snow conditions, weather forecasts, lift statuses, and trail information for Keystone Resort to plan your perfect ski day. Access live mountain cams and detailed resort overviews to check conditions before you head out.
breckenridge.com API
Check real-time snow conditions, weather forecasts, lift operations, and trail status at Breckenridge Ski Resort to plan your day on the mountain. View live mountain cameras and get up-to-the-minute updates on slopes, lifts, and weather before you head out.
mammothmountain.com API
Get Mammoth Mountain’s current trail status, snow report (base depth and recent/season snowfall), and weather conditions with a multi-day forecast for different elevations.
whistlerblackcomb.com API
Get current Whistler Blackcomb mountain conditions, including snow depth and recent snowfall, lift and run openings, terrain availability, and the latest weather report.
bigwhite.com API
Stay on top of Big White Ski Resort conditions with live snow reports, weather forecasts, lift and grooming status, plus webcam feeds and pow cam images. Plan your visit and find deals with access to ticket pricing, events, park conditions, and resort information all in one place.
weatherspark.com API
Get historical weather data, current METAR reports, and monthly climate summaries for any location by searching WeatherSpark's comprehensive weather database. Access detailed weather insights including temperature trends, precipitation patterns, and atmospheric conditions to power weather-dependent applications and analysis.
weatherunderground.com API
Get real-time weather data and 10-day forecasts for any location, with access to current conditions like temperature, humidity, and wind speed. Search for locations and receive detailed weather narratives to plan your day or week ahead.
worldsnowboardtour.com API
Access World Snowboarding rankings, athlete profiles, and competition results across all disciplines. Browse the event calendar, retrieve detailed schedules and outcomes, and explore rider statistics from the professional snowboarding circuit.