Marine Weather API
Returns ocean wave height, swell direction and period, wind wave parameters, and sea surface conditions for any oceanic coordinate to support maritime navigation and coastal planning applications.
Returns ocean wave height, swell direction and period, wind wave parameters, and sea surface conditions for any oceanic coordinate to support maritime navigation and coastal planning applications.
openapi: '3.0.3'
info:
title: Open-Meteo Marine Weather Forecast API
description: >-
Hourly marine weather forecasts including wave height, direction, period, swell, ocean currents, and sea surface temperature.
version: '1.0'
contact:
name: Open-Meteo
url: https://open-meteo.com
email: [email protected]
license:
name: Attribution 4.0 International (CC BY 4.0)
url: https://creativecommons.org/licenses/by/4.0/
termsOfService: https://open-meteo.com/en/features#terms
paths:
/v1/marine:
servers:
- url: https://marine-api.open-meteo.com
- url: https://customer-marine-api.open-meteo.com
get:
tags:
- Marine Weather APIs
summary: Hourly marine weather forecast
description: >-
Marine weather forecasts with wave conditions, ocean currents, and sea surface temperature.
parameters:
- name: latitude
in: query
required: true
schema:
type: string
- name: longitude
in: query
required: true
schema:
type: string
- name: hourly
in: query
description: >-
A list of marine weather variables.
explode: false
schema:
type: array
items:
type: string
enum:
- wave_height
- wave_direction
- wave_period
- wave_peak_period
- wind_wave_height
- wind_wave_direction
- wind_wave_period
- wind_wave_peak_period
- swell_wave_height
- swell_wave_direction
- swell_wave_period
- swell_wave_peak_period
- secondary_swell_wave_height
- secondary_swell_wave_period
- secondary_swell_wave_direction
- tertiary_swell_wave_height
- tertiary_swell_wave_period
- tertiary_swell_wave_direction
- sea_level_height_msl
- sea_surface_temperature
- ocean_current_velocity
- ocean_current_direction
- name: daily
in: query
description: >-
A list of daily marine weather variables.
explode: false
schema:
type: array
items:
type: string
enum:
- wave_height_max
- wave_direction_dominant
- wave_period_max
- wind_wave_height_max
- wind_wave_direction_dominant
- wind_wave_period_max
- wind_wave_peak_period_max
- swell_wave_height_max
- swell_wave_direction_dominant
- swell_wave_period_max
- swell_wave_peak_period_max
- name: current
in: query
description: >-
A list of variables for the current marine conditions.
explode: false
schema:
type: array
items:
type: string
enum:
- wave_height
- wave_direction
- wave_period
- wind_wave_height
- wind_wave_direction
- wind_wave_period
- wind_wave_peak_period
- swell_wave_height
- swell_wave_direction
- swell_wave_period
- swell_wave_peak_period
- sea_surface_temperature
- ocean_current_velocity
- ocean_current_direction
- name: minutely_15
in: query
description: >-
A list of marine variables at 15-minute intervals.
explode: false
schema:
type: array
items:
type: string
enum:
- ocean_current_velocity
- ocean_current_direction
- sea_level_height_msl
- name: temperature_unit
in: query
schema:
type: string
default: celsius
enum: [celsius, fahrenheit]
- name: wind_speed_unit
in: query
schema:
type: string
default: kmh
enum: [kmh, ms, mph, kn]
- name: length_unit
in: query
description: >-
Wave height and sea level unit.
schema:
type: string
default: metric
enum: [metric, imperial]
- name: timeformat
in: query
schema:
type: string
default: iso8601
enum: [iso8601, unixtime]
- name: timezone
in: query
schema:
type: string
- name: past_days
in: query
schema:
type: integer
default: 0
minimum: 0
maximum: 92
- name: forecast_days
in: query
schema:
type: integer
default: 7
minimum: 0
maximum: 16
- name: start_date
in: query
description: >-
Start date in ISO 8601 format.
schema:
type: string
format: date
- name: end_date
in: query
description: >-
End date in ISO 8601 format.
schema:
type: string
format: date
- name: cell_selection
in: query
schema:
type: string
enum: [land, sea, nearest]
- name: models
in: query
description: Manually select one or more weather models.
explode: false
schema:
type: array
items:
type: string
enum:
- best_match
- meteofrance_wave
- meteofrance_currents
- ewam
- gwam
- ecmwf_wam
- ecmwf_wam025
- ncep_gfswave025
- ncep_gfswave016
- era5_ocean
- name: apikey
in: query
description: >-
Only required for commercial subscriptions.
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
latitude:
type: number
format: float
longitude:
type: number
format: float
elevation:
type: number
format: float
generationtime_ms:
type: number
format: float
utc_offset_seconds:
type: integer
timezone:
type: string
timezone_abbreviation:
type: string
hourly:
type: object
properties:
time:
type: array
items:
type: string
wave_height:
type: array
items:
type: number
format: float
wave_direction:
type: array
items:
type: number
format: float
wave_period:
type: array
items:
type: number
format: float
wave_peak_period:
type: array
items:
type: number
format: float
wind_wave_height:
type: array
items:
type: number
format: float
wind_wave_direction:
type: array
items:
type: number
format: float
wind_wave_period:
type: array
items:
type: number
format: float
wind_wave_peak_period:
type: array
items:
type: number
format: float
swell_wave_height:
type: array
items:
type: number
format: float
swell_wave_direction:
type: array
items:
type: number
format: float
swell_wave_period:
type: array
items:
type: number
format: float
swell_wave_peak_period:
type: array
items:
type: number
format: float
secondary_swell_wave_height:
type: array
items:
type: number
format: float
secondary_swell_wave_period:
type: array
items:
type: number
format: float
secondary_swell_wave_direction:
type: array
items:
type: number
format: float
tertiary_swell_wave_height:
type: array
items:
type: number
format: float
tertiary_swell_wave_period:
type: array
items:
type: number
format: float
tertiary_swell_wave_direction:
type: array
items:
type: number
format: float
sea_level_height_msl:
type: array
items:
type: number
format: float
sea_surface_temperature:
type: array
items:
type: number
format: float
ocean_current_velocity:
type: array
items:
type: number
format: float
ocean_current_direction:
type: array
items:
type: number
format: float
hourly_units:
type: object
properties:
time:
type: string
wave_height:
type: string
wave_direction:
type: string
wave_period:
type: string
wave_peak_period:
type: string
wind_wave_height:
type: string
wind_wave_direction:
type: string
wind_wave_period:
type: string
wind_wave_peak_period:
type: string
swell_wave_height:
type: string
swell_wave_direction:
type: string
swell_wave_period:
type: string
swell_wave_peak_period:
type: string
secondary_swell_wave_height:
type: string
secondary_swell_wave_period:
type: string
secondary_swell_wave_direction:
type: string
tertiary_swell_wave_height:
type: string
tertiary_swell_wave_period:
type: string
tertiary_swell_wave_direction:
type: string
sea_level_height_msl:
type: string
sea_surface_temperature:
type: string
ocean_current_velocity:
type: string
ocean_current_direction:
type: string
daily:
type: object
properties:
time:
type: array
items:
type: string
wave_height_max:
type: array
items:
type: number
format: float
wave_direction_dominant:
type: array
items:
type: number
format: float
wave_period_max:
type: array
items:
type: number
format: float
wind_wave_height_max:
type: array
items:
type: number
format: float
wind_wave_direction_dominant:
type: array
items:
type: number
format: float
wind_wave_period_max:
type: array
items:
type: number
format: float
wind_wave_peak_period_max:
type: array
items:
type: number
format: float
swell_wave_height_max:
type: array
items:
type: number
format: float
swell_wave_direction_dominant:
type: array
items:
type: number
format: float
swell_wave_period_max:
type: array
items:
type: number
format: float
swell_wave_peak_period_max:
type: array
items:
type: number
format: float
daily_units:
type: object
properties:
time:
type: string
wave_height_max:
type: string
wave_direction_dominant:
type: string
wave_period_max:
type: string
wind_wave_height_max:
type: string
wind_wave_direction_dominant:
type: string
wind_wave_period_max:
type: string
wind_wave_peak_period_max:
type: string
swell_wave_height_max:
type: string
swell_wave_direction_dominant:
type: string
swell_wave_period_max:
type: string
swell_wave_peak_period_max:
type: string
current:
type: object
properties:
time:
type: string
interval:
type: integer
wave_height:
type: number
format: float
wave_direction:
type: number
format: float
wave_period:
type: number
format: float
wind_wave_height:
type: number
format: float
wind_wave_direction:
type: number
format: float
wind_wave_period:
type: number
format: float
wind_wave_peak_period:
type: number
format: float
swell_wave_height:
type: number
format: float
swell_wave_direction:
type: number
format: float
swell_wave_period:
type: number
format: float
swell_wave_peak_period:
type: number
format: float
sea_surface_temperature:
type: number
format: float
ocean_current_velocity:
type: number
format: float
ocean_current_direction:
type: number
format: float
current_units:
type: object
properties:
time:
type: string
wave_height:
type: string
wave_direction:
type: string
wave_period:
type: string
wind_wave_height:
type: string
wind_wave_direction:
type: string
wind_wave_period:
type: string
wind_wave_peak_period:
type: string
swell_wave_height:
type: string
swell_wave_direction:
type: string
swell_wave_period:
type: string
swell_wave_peak_period:
type: string
sea_surface_temperature:
type: string
ocean_current_velocity:
type: string
ocean_current_direction:
type: string
minutely_15:
type: object
properties:
time:
type: array
items:
type: string
ocean_current_velocity:
type: array
items:
type: number
format: float
ocean_current_direction:
type: array
items:
type: number
format: float
sea_level_height_msl:
type: array
items:
type: number
format: float
minutely_15_units:
type: object
properties:
time:
type: string
ocean_current_velocity:
type: string
ocean_current_direction:
type: string
sea_level_height_msl:
type: string
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
error:
type: boolean
reason:
type: string