Open-Meteo Marine

Weather API · Works globally · Wave height, swell, wind waves · Open-Meteo free tier

TL;DR

Open-Meteo's Marine API provides global ocean weather forecasts including wave height, wave direction, wave period, swell waves, wind waves, and ocean currents. Data comes from the WAM (Wave Model) and Mercator Ocean systems. Given any latitude/longitude, you get hourly marine forecasts for 7 days. Essential for boating, surfing, fishing, and offshore operations. No API key, no rate limits.

Quick start: https://marine-api.open-meteo.com/v1/marine?latitude=50&longitude=10&hourly=wave_height

No API key needed — just make a request!

How to Use This API

1. Wave Height Forecast

https://marine-api.open-meteo.com/v1/marine?latitude=50&longitude=10&hourly=wave_height

2. Full Marine Report

https://marine-api.open-meteo.com/v1/marine?latitude=33.82&longitude=-118.37&hourly=wave_height,swell_wave_height,swell_wave_direction,wind_wave_height,ocean_current_velocity

3. JavaScript — Surf Report

fetch('https://marine-api.open-meteo.com/v1/marine?latitude=28.39&longitude=-80.60&hourly=wave_height,swell_wave_height,swell_wave_direction&timezone=America/New_York')
  .then(r => r.json())
  .then(d => {
    const h = d.hourly;
    for (let i = 0; i < 24; i+=3) {
      console.log(h.time[i], '— Wave:', h.wave_height[i]+'m',
        'Swell:', h.swell_wave_height[i]+'m');
    }
  });

4. Python — Offshore Forecast

import requests

resp = requests.get('https://marine-api.open-meteo.com/v1/marine', params={
    'latitude': 51.48, 'longitude': 1.40,
    'hourly': 'wave_height,wave_direction,wave_period,ocean_current_velocity',
    'timezone': 'Europe/London'
})
d = resp.json()['hourly']
for i in range(0, 12, 3):
    print(f"{d['time'][i]}: {d['wave_height'][i]}m, "
          f"period {d['wave_period'][i]}s, "
          f"current {d['ocean_current_velocity'][i]}m/s")
Try it: https://marine-api.open-meteo.com/v1/marine?latitude=50&longitude=10&hourly=wave_height

Frequently Asked Questions

What variables are available?
Wave height, wave direction, wave period, swell wave height/direction/period, wind wave height/direction/period, ocean current velocity/direction, and temperature.
What is the forecast range?
7-day hourly forecasts are available for all ocean areas globally.
What is the difference between swell and wind waves?
Wind waves are generated by local winds and have shorter periods. Swell waves travel long distances from distant storms and have longer, more regular periods.
What data model is used?
The WAM (Wave Model) for wave data and Mercator Ocean for current data, both from European Copernicus services.
Can I get forecast for coastal locations?
Yes, the model works for any ocean coordinate. Coastal locations may have less accurate data due to model resolution limitations.

What You Can Build