Powderlin.es

Use our free API for accessing SNOTEL station data. Our API is useful for finding current snow levels in mountainous regions across the United States. 895 SNOTEL stations are available.

Get all SNOTEL stations

Description:
Returns basic information about all of the SNOTEL stations in the United States.

Endpoint: /stations

Request parameters:

Parameter Descriptions
State The state to retreive data from. (optional)

Response parameters:
The response comes as an array of objects. Here is a breakdown of a returned object.

Parameter Descriptions
Name (string) Name of the station
Triplet (string) Unique identifier for the station. Formatted as ###:STATE:SNTL
Elevation (integer) Elevation of the station in feet
Location (lat, lng object) Latitude and longitude of the station

Sample calls:

Sample response:

[
  {
    "name": "Berthoud Summit",
    "triplet": "335:CO:SNTL",
    "elevation": 11300,
    "location": {
      "lat": 39.80392,
      "lng": -105.77789
    }
  },
  {
    "name": "Loveland Basin",
    "triplet": "602:CO:SNTL",
    "elevation": 11400,
    "location": {
      "lat": 39.67433,
      "lng": -105.90133
    }
  },
  {
  ...
  }
]

Get snow info for a station

Description:
Returns detailed information for the specified SNOTEL station.

Endpoint: /station/:id

Request parameters:

Parameter Description
ID (triplet) Station id in the form of ###:STATE:SNTL. Example: 335:CO:SNTL. Find the triplet for a particular station through the /stations endpoint.
Days (integer) Number of days information to retrieve from today. (optional - defaults to 5 unless using start_date and end_date)
Start date (YYYY-MM-DD) Historical date to pull data from. Use in conjunction with end date. (optional)
End date (YYYY-MM-DD) Historical date to pull data from. Use in conjunction with start date (optional)

Response parameters:
The response includes basic station information in addition to an array of snow data.

Parameter Description
Date Date measurement was taken
Snow Water Equivalent (in) The amount of water contained within the snowpack.
Change In Snow Water Equivalent (in) The change in the snow water equivalent from the last measurement (typically the past 24 hours).
Snow Depth (in) Depth of snow in inches.
Change In Snow Depth (in) The change in the snow depth from the last measurement (typically the past 24 hours).
Observed Air Temperature (degrees farenheit) The observed air temperature, in degrees farenheit.

Sample calls:

Sample response:

{
  "station_information": {
    "name": "Berthoud Summit",
    "triplet": "335:CO:SNTL",
    "elevation": 11300,
    "location": {
      "lat": 39.80392,
      "lng": -105.77789
    }
  },
  "data": [
    {
      "Date": "2023-01-12",
      "Snow Water Equivalent (in)": "9.8",
      "Change In Snow Water Equivalent (in)": "0.3",
      "Snow Depth (in)": "43",
      "Change In Snow Depth (in)": "3",
      "Observed Air Temperature (degrees farenheit)": "10"
    },
    {
      "Date": "2023-01-13",
      "Snow Water Equivalent (in)": "9.8",
      "Change In Snow Water Equivalent (in)": "0.0",
      "Snow Depth (in)": "42",
      "Change In Snow Depth (in)": "-1",
      "Observed Air Temperature (degrees farenheit)": "11"
    },
    {
      ...
    }
  ]
}

Find closest station to a latitude and longitude:

Description:
Returns detailed information for the closest SNOTEL stations to a geographic point.

Endpoint: /closest_stations

Request parameters:

Parameter Description
lat (float) Latitude to base search off of. (required)
lng (float) Longitude to base search off of. (required)
count (integer) number of station's to return (optional - defaults to 3, maximum of 5)
data (boolean) Setting to true will enable fetching of snow info from the stations. Note that this might be slow depending on the number of stations you're requesting information from.
days (integer) Number of days information to retrieve from today. (optional - defaults to 5)

Response parameters:
The response is an array of stations including their basic information in addition to an array of snow data.

Parameter Description
Date Date measurement was taken
Snow Water Equivalent (in) The amount of water contained within the snowpack.
Change In Snow Water Equivalent (in) The change in the snow water equivalent from the last measurement (typically the past 24 hours).
Snow Depth (in) Depth of snow in inches.
Change In Snow Depth (in) The change in the snow depth from the last measurement (typically the past 24 hours).
Observed Air Temperature (degrees farenheit) The observed air temperature, in degrees farenheit.

Sample calls:

Sample response:

[
  {
    "station_information": {
      "name": "Echo Lake",
      "triplet": "936:CO:SNTL",
      "elevation": 10600,
      "location": {
        "lat": 39.65627,
        "lng": -105.59345
      }
    },
    "data": [
      {
        "Date": "2023-01-19",
        "Snow Water Equivalent (in)": "3.2",
        "Change In Snow Water Equivalent (in)": "0.1",
        "Snow Depth (in)": "20",
        "Change In Snow Depth (in)": "0",
        "Observed Air Temperature (degrees farenheit)": "8"
      },
      {
        "Date": "2023-01-20",
        "Snow Water Equivalent (in)": "3.3",
        "Change In Snow Water Equivalent (in)": "0.1",
        "Snow Depth (in)": "19",
        "Change In Snow Depth (in)": "-1",
        "Observed Air Temperature (degrees farenheit)": "12"
      },
      {
        ...
      }
    ]
  },
  {
    ...
  }
]

Want to help out?

The source for the API is available at https://github.com/dpk5e7/powderlines-js.

The source for the original Ruby On Rails API is available at https://github.com/bobbymarko/powderlines-api.

To run the API locally:

  1. Clone the git repository
  2. With Node.js installed, run "npm start"
  3. Navigate to http://localhost:3001 in your browser

Feedback

Let us know if you have any questions or concern. Email Dan