Stormglass Bio API

Biological and oceanographic data including chlorophyll and nutrients

OpenAPI Specification

stormglass-bio-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Stormglass Astronomy Bio 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: Bio
  description: Biological and oceanographic data including chlorophyll and nutrients
paths:
  /bio/point:
    get:
      operationId: getBioPoint
      summary: Get Bio Point Data
      description: Retrieve biological and oceanographic data for a single coordinate including chlorophyll, nutrients, oxygen, salinity, phytoplankton, and soil moisture data.
      tags:
      - Bio
      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 bio parameters. E.g. chlorophyll,oxygen,salinity
      - name: start
        in: query
        required: false
        schema:
          type: string
        description: Timestamp in UTC for first data hour
      - name: end
        in: query
        required: false
        schema:
          type: string
        description: Timestamp in UTC for last data hour
      - name: source
        in: query
        required: false
        schema:
          type: string
        description: Specify a single source or comma-separated list of sources
      responses:
        '200':
          description: Bio data returned successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BioPointResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/QuotaExceeded'
components:
  schemas:
    BioPointResponse:
      type: object
      properties:
        hours:
          type: array
          items:
            $ref: '#/components/schemas/BioHour'
        meta:
          $ref: '#/components/schemas/MetaData'
    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
    Error:
      type: object
      properties:
        errors:
          type: object
          additionalProperties:
            type: string
    BioHour:
      type: object
      description: Hourly biological and oceanographic data
      properties:
        time:
          type: string
          description: Timestamp in UTC
        chlorophyll:
          $ref: '#/components/schemas/SourceValue'
        oxygen:
          $ref: '#/components/schemas/SourceValue'
        salinity:
          $ref: '#/components/schemas/SourceValue'
        ph:
          $ref: '#/components/schemas/SourceValue'
        nitrate:
          $ref: '#/components/schemas/SourceValue'
        phosphate:
          $ref: '#/components/schemas/SourceValue'
        silicate:
          $ref: '#/components/schemas/SourceValue'
        iron:
          $ref: '#/components/schemas/SourceValue'
        phytoplankton:
          $ref: '#/components/schemas/SourceValue'
        phyto:
          $ref: '#/components/schemas/SourceValue'
        soilMoisture:
          $ref: '#/components/schemas/SourceValue'
        soilTemperature:
          $ref: '#/components/schemas/SourceValue'
        surfaceTemperature:
          $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/