Sign in Try for free

Global marine weather data from multiple sources in one single API

One API – Multiple marine weather sources

Easy to use REST API

Unmodified data directly from trusted marine weather institutes

Coordinates In - Marine Weather Data Out

We connect the most trusted local forecast sources all over the world to our global forecast grid.

Send a longitude/latitude coordinate and receive a response containing weather data from multiple weather sources for that coordinate. The response contains the following attributes:

  • Swell Height
  • Swell Direction
  • Swell Period
  • Coastal Sea Level
  • Wave Height
  • Wave Direction
  • Wave Period
  • Wind Speed
  • Wind Direction
  • Wind Gust
  • Air Temperature
  • Air Pressure
  • Humidity
  • Cloud Coverage
  • Precipitation
  • Visibility

Plans & Pricing

Free €0 per month

Up to 50 requests per day included

All weather sources available

Medium €16 per month

Up to 1000 requests per day included

All weather sources available

10% discount if you sign up for a year

Large €29 per month

Up to 5000 requests per day included

All weather sources available

10% discount if you sign up for a year

Sign up for free

Contact account@stormglass.io for paid subscriptions or custom volumes

Marine, Shipping, Sailing and Surfing

Storm Glass powers your mobile application or web service with marine weather forecast data in hourly resolution for sailing, surfing, fishing and shipping applications.

Sine - Surf Forecast app for iOS and Android

“We rely on Storm Glass helping us help surfers across the globe keep track of the waves! Storm Glass is the only marine weather API where we can receive data from multiple sources from one single integration. This have saved us huge amounts of time!”

www.surfsine.com

Available Data Sources

We are continuosly working on adding more sources to our service. Here is what is available at the moment

NOAA

The National Oceanic and Atmospheric Administration

Area

Global - Except for smaller seas such as the Baltic Sea and the Mediterranean Sea

Data

Swell Direction, Swell Height, Swell Period, Wave Direction, Wave Height, Wave Period, Wind Direction, Wind Speed

Forecast span

Up to 7 days

DWD

Germany's National Meteorological Service, the Deutscher Wetterdienst

Area

The Atlantic coast of Ireland, UK, France, Spain and Portugal. The North Sea, Mediterranean Sea and Baltic Sea.

Data

Air pressure, Air Temperature, Cloud coverave Direction, Humidity, Precipitation, Swell Direction, Swell Height, Swell Period, Wature, Wave Height, Wave Period, Wind Direction, Wind Gust, Wind Speed

Forecast span

Up to 5 days

FCOO

Danish Defence Centre for Operational Oceanography

Area

Baltic Sea including Gulf of Botnia and Gulf of Finland.

Data

Wave Direction, Wave Height, Wave Period

Forecast span

Up to 3 days

FMI

The Finnish Meterological Institution

Area

Baltic Sea including Gulf of Botnia and Gulf of Finland.

Data

Wave Direction, Wave Height, Wave Period

Forecast span

Up to 3 days

YR

Norwegian Meteorological Institute and NRK

Area

The Norwegian coast.

Data

Air Pressure, Wave Direction, Wave Height, Wind Direction, Wind Speed

Forecast span

Up to 3 days

SMHI

Swedish Meteorological and Hydrological Institute

Area

Baltic Sea including Gulf of Botnia and Gulf of Finland.

Data

Air Pressure, Air Temperature, Cloud Coverage, Humidity, Precipitation, Visiblity, Wind Direction, Wind Gust, Wind Speed

Forecast span

Up to 10 days

Stormglass Handpicked

This forecast is a global grid were we have handpicked the best local forecasters in each geographical area.

Area

Global

Data

Air pressure, Air Pressure, Air Temperature, Cloud Coverage, Cloud coverave Direction, Humidity, Precipitation, Swell Direction, Swell Height, Swell Period, Visiblity, Wature, Wave Direction, Wave Height, Wave Period, Wind Direction, Wind Gust, Wind Speed

Forecast span

Up to 7 days

Area covered by the different sources

Noaa Fmi Dwd Yr Fcoo Smhi
background
DWD
SMHI
NOAA
FMI
YR
FCOO
world

Using the API

The weather API allows you to fetch forecasts for any coordinate in a simple, programmatic way using conventional HTTP requests. Below is an example on how you can call the API using JavaScript or Python:

Javascript
          
  fetch('https://api.stormglass.io/forecast?lat=58.5&lng=17.8', {
    headers: {
      'Authentication-Token': 'YOUR API KEY'  // Get your key by emailing account@stormglass.io
    }
  }).then(function(response) {
    // Do something with response data.
    var jsonData = response.json();
  });
          
        
Python
            
  import requests

  response = requests.get(
    'https://api.stormglass.io/forecast?lat=58.5&lng=17.8',
    headers={
      'Authentication-Token': 'YOUR API KEY'  # Get your key by emailing account@stormglass.io
    }
  )

  # Do something with response data.
  json_data = response.json()
          
        

The response format

When a request is successful, a response will be sent back in the form of a JSON object. The resource root contains two objects, the hours and the meta keys.

Meta

The meta key contains information about the API request. Such as requested latitude and longitude, your daily quota and how many requests you've made so far today.

              
      {
        "hours": [ ... ], 
        "meta": {
          "dailyQuota": 5, 
          "lat": 58.7984, 
          "lng": 17.80814, 
          "requestCount": 2
        }
      }
            
          

Hours

The hours key contains the actual weather data on an hourly basis. One item in the hours array contains:

              
      {
        "hours": [
          {
            "time": "2018-01-19T17:00:00+00:00",
            "airTemperature": [
              {
                "source": "smhi", 
                "value": "-2.6"
              }
            ],
            ...
          }
        ], 
        "meta": { ... }
      }
            
          

Each parameter (eg. swellHeight) is a list that contains an object for each available source. The object consists of source and value.

Example of full JSON response

            
    {
      "hours": [
        {
          "time": "2018-01-19T17:00:00+00:00",
          "airTemperature": [
            {
              "source": "smhi", 
              "value": "-2.6"
            }
          ], 
          "swellDirection": [
            {
              "source": "noaa",
              "value": "164.35"
            }
          ],
          "swellHeight": [
            {
              "source": "noaa",
              "value": "2.94"
            }
          ], 
          "swellPeriod": [
            {
              "source": "noaa",
              "value": "15.88"
            }
          ], 
          "waterTemperature": [
            {
              "source": "fcoo", 
              "value": "9"
            }
          ], 
          "waveDirection": [
            {
              "source": "fcoo", 
              "value": "121.35698599493828"
            }, 
            {
              "source": "fmi", 
              "value": "114.0"
            }
          ], 
          "waveHeight": [
            {
              "source": "fcoo", 
              "value": "0.7512483732918862"
            }, 
            {
              "source": "fmi", 
              "value": "0.5969999991357327"
            }
          ], 
          "wavePeriod": [
            {
              "source": "fcoo", 
              "value": "3.63850457084894"
            }, 
            {
              "source": "fmi", 
              "value": "3.980000138282776"
            }
          ], 
          "windDirection": [
            {
              "source": "smhi", 
              "value": "36.0"
            }
          ], 
          "windSpeed": [
            {
              "source": "smhi", 
              "value": "12.96"
            },
            {
              "source": "noaa",
              "value": "40.968"
            }
          ]
        },
        ...
      ], 
      "meta": {
        "dailyQuota": 5, 
        "lat": 58.7984, 
        "lng": 17.80814, 
        "requestCount": 2
      }
    }