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")
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
- Surf condition checker with swell height and direction
- Marine navigation safety tool
- Offshore wind farm operations planner
- Sailing route optimizer using current data
- Fisheries management with ocean condition tracking