openapi: 3.1.0
info:
title: Stormglass Astronomy Weather 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: Weather
description: Point weather forecasts and historical weather data
paths:
/weather/point:
get:
operationId: getWeatherPoint
summary: Get Weather Point Forecast
description: Retrieve hourly weather forecast data for a single coordinate. Returns atmospheric and marine weather parameters including temperature, wind, waves, swell, and precipitation from multiple data sources.
tags:
- Weather
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 parameters to retrieve. E.g. airTemperature,windSpeed,waveHeight
- name: start
in: query
required: false
schema:
type: string
description: Timestamp in UTC for first forecast hour. UNIX format or URL-encoded ISO format.
- name: end
in: query
required: false
schema:
type: string
description: Timestamp in UTC for last forecast hour. UNIX format or URL-encoded ISO format.
- name: source
in: query
required: false
schema:
type: string
description: Specify a single source or comma-separated list of sources. E.g. noaa or dwd,noaa
responses:
'200':
description: Hourly weather data returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/WeatherPointResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'402':
$ref: '#/components/responses/QuotaExceeded'
'422':
$ref: '#/components/responses/UnprocessableEntity'
components:
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'
UnprocessableEntity:
description: Invalid parameters in the request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
SourceValue:
type: object
description: A weather parameter value from a specific source
additionalProperties:
type: number
format: float
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
WeatherPointResponse:
type: object
properties:
hours:
type: array
items:
$ref: '#/components/schemas/WeatherHour'
description: Hourly weather data
meta:
$ref: '#/components/schemas/MetaData'
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'
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/