Stormglass Marine API

Marine environment data including waves, currents, and water temperature

OpenAPI Specification

stormglass-marine-api-openapi.yml Raw ↑
openapi: 3.1.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:
  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'
  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/