Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Stormglass Astronomy Marine API
description: Stormglass provides a global marine and weather API delivering high-resolution forecasts, historical data, and environmental measurements for any coordinate on Earth. The API supports weather point forecasts, marine data, tidal information, solar and astronomical data, biological oceanographic data, and elevation data. Commonly used for maritime navigation, renewable energy forecasting, outdoor activity planning, and environmental monitoring.
version: v2
contact:
name: Stormglass Support
url: https://stormglass.io/contact
termsOfService: https://stormglass.io/terms-and-conditions/
servers:
- url: https://api.stormglass.io/v2
description: Stormglass API v2
security:
- apiKeyAuth: []
tags:
- name: Marine
description: Marine environment data including waves, currents, and water temperature
paths:
/marine/point:
get:
operationId: getMarinePoint
summary: Get Marine Point Data
description: Retrieve hourly marine environment data for a single coordinate. Returns wave, swell, current, and water temperature parameters from multiple marine data sources.
tags:
- Marine
parameters:
- name: lat
in: query
required: true
schema:
type: number
format: float
description: Latitude of the desired coordinate
- name: lng
in: query
required: true
schema:
type: number
format: float
description: Longitude of the desired coordinate
- name: params
in: query
required: true
schema:
type: string
description: Comma-separated list of marine parameters to retrieve
- name: start
in: query
required: false
schema:
type: string
description: Timestamp in UTC for first forecast hour
- name: end
in: query
required: false
schema:
type: string
description: Timestamp in UTC for last forecast hour
- name: source
in: query
required: false
schema:
type: string
description: Specify a single source or comma-separated list of sources
responses:
'200':
description: Hourly marine data returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/WeatherPointResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/QuotaExceeded'
components:
schemas:
SourceValue:
type: object
description: A weather parameter value from a specific source
additionalProperties:
type: number
format: float
WeatherPointResponse:
type: object
properties:
hours:
type: array
items:
$ref: '#/components/schemas/WeatherHour'
description: Hourly weather data
meta:
$ref: '#/components/schemas/MetaData'
MetaData:
type: object
description: Metadata about the API request including quota information
properties:
cost:
type: integer
description: Number of API credits consumed by this request
dailyQuota:
type: integer
description: Your daily API call quota
requestCount:
type: integer
description: Total number of API calls made today
lat:
type: number
format: float
description: Latitude of the requested coordinate
lng:
type: number
format: float
description: Longitude of the requested coordinate
params:
type: array
items:
type: string
description: List of parameters returned
start:
type: string
description: Start timestamp of the returned data
end:
type: string
description: End timestamp of the returned data
Error:
type: object
properties:
errors:
type: object
additionalProperties:
type: string
WeatherHour:
type: object
description: Hourly weather data for one time interval
properties:
time:
type: string
description: Timestamp in UTC for this data point
airTemperature:
$ref: '#/components/schemas/SourceValue'
windSpeed:
$ref: '#/components/schemas/SourceValue'
windDirection:
$ref: '#/components/schemas/SourceValue'
gust:
$ref: '#/components/schemas/SourceValue'
humidity:
$ref: '#/components/schemas/SourceValue'
pressure:
$ref: '#/components/schemas/SourceValue'
cloudCover:
$ref: '#/components/schemas/SourceValue'
precipitation:
$ref: '#/components/schemas/SourceValue'
waveHeight:
$ref: '#/components/schemas/SourceValue'
waveDirection:
$ref: '#/components/schemas/SourceValue'
wavePeriod:
$ref: '#/components/schemas/SourceValue'
swellHeight:
$ref: '#/components/schemas/SourceValue'
swellDirection:
$ref: '#/components/schemas/SourceValue'
swellPeriod:
$ref: '#/components/schemas/SourceValue'
waterTemperature:
$ref: '#/components/schemas/SourceValue'
currentSpeed:
$ref: '#/components/schemas/SourceValue'
currentDirection:
$ref: '#/components/schemas/SourceValue'
visibility:
$ref: '#/components/schemas/SourceValue'
seaLevel:
$ref: '#/components/schemas/SourceValue'
responses:
QuotaExceeded:
description: Daily quota exceeded or payment required.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Authentication failed. Check your API key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: API key obtained from your Stormglass account dashboard
externalDocs:
description: Stormglass API Documentation
url: https://docs.stormglass.io/