Searoutes Ocean Routing API

Sea routes, distances, durations, and voyage plans.

Operations 2

GET /route/v2/sea/{locations} Get sea route between locations #
GET /route/v2/sea/{locations}/plan Get a detailed sea route plan #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/searoutes-ocean-routing-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

searoutes-ocean-routing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Searoutes Ocean Routing API
  description: Maritime routing and carbon-emissions REST API.
  termsOfService: https://searoutes.com/terms/
  contact:
    name: Searoutes
    email: contact@searoutes.com
    url: https://developer.searoutes.com/reference/introduction
  version: '2.0'
servers:
- url: https://api.searoutes.com
security:
- ApiKeyAuth: []
tags:
- name: Ocean Routing
  description: Sea routes, distances, durations, and voyage plans.
paths:
  /route/v2/sea/{locations}:
    get:
      operationId: getSeaRoute
      tags:
      - Ocean Routing
      summary: Get sea route between locations
      description: Returns the sea route between a source and target location (and up to 20 waypoints) as coordinate pairs (longitude,latitude) or UN/LOCODEs separated by semicolons, along with route distance (meters), duration (milliseconds), and the crossed areas.
      parameters:
      - $ref: '#/components/parameters/Locations'
      - name: continuousCoordinates
        in: query
        schema:
          type: boolean
          default: true
      - name: allowIceAreas
        in: query
        schema:
          type: boolean
          default: false
      - name: avoidHRA
        in: query
        description: Avoid the High Risk Area.
        schema:
          type: boolean
          default: false
      - name: avoidSeca
        in: query
        description: Avoid Sulphur Emission Control Areas.
        schema:
          type: boolean
          default: false
      - name: blockAreas
        in: query
        description: Comma-separated area ids to block.
        schema:
          type: string
      - name: departure
        in: query
        description: Departure time as a Unix timestamp in milliseconds.
        schema:
          type: integer
          format: int64
      - name: imo
        in: query
        description: Vessel IMO number.
        schema:
          type: integer
      - name: speed
        in: query
        description: Vessel speed in km/h.
        schema:
          type: number
      - name: speedInKts
        in: query
        description: Vessel speed in knots.
        schema:
          type: number
      - name: vesselDraft
        in: query
        description: Vessel draft in meters.
        schema:
          type: number
      responses:
        '200':
          description: A GeoJSON FeatureCollection describing the route.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /route/v2/sea/{locations}/plan:
    get:
      operationId: getSeaRoutePlan
      tags:
      - Ocean Routing
      summary: Get a detailed sea route plan
      description: Returns a sea route with a leg-by-leg voyage plan including timing based on the departure time and vessel speed.
      parameters:
      - $ref: '#/components/parameters/Locations'
      - name: departure
        in: query
        schema:
          type: integer
          format: int64
      - name: speedInKts
        in: query
        schema:
          type: number
      responses:
        '200':
          description: A route plan with timed legs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    RouteResponse:
      type: object
      properties:
        type:
          type: string
          example: FeatureCollection
        features:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                example: Feature
              geometry:
                type: object
              properties:
                type: object
                properties:
                  distance:
                    type: number
                    description: Route distance in meters.
                  duration:
                    type: number
                    description: Route duration in milliseconds.
                  crossedAreas:
                    type: array
                    items:
                      type: string
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  parameters:
    Locations:
      name: locations
      in: path
      required: true
      description: Coordinate pairs (longitude,latitude) or UN/LOCODEs separated by semicolons. Up to 20 positions.
      schema:
        type: string
      example: -1.27,50.80;8.83,53.88
  responses:
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key issued on signup and shown on the developer documentation authentication page. Pass it in the x-api-key request header.