Searoutes Vessel API

AIS vessel positions, ETAs, arrivals, traces, and time series.

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-vessel-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 email required.

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

OpenAPI Specification

searoutes-vessel-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Searoutes CO2 Emissions Vessel API
  description: Maritime routing and carbon-emissions REST API. Compute sea routes and distances, geocode ports and places, calculate multimodal CO2e emissions, track vessels via AIS, look up carriers and services, and retrieve weather along routes. All endpoints are served from https://api.searoutes.com and authenticated with an x-api-key header. Endpoint paths are modeled from the published Searoutes developer documentation and llms.txt reference index; request/response schemas are summarized rather than exhaustive.
  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: Vessel
  description: AIS vessel positions, ETAs, arrivals, traces, and time series.
paths:
  /vessel/v2/position:
    get:
      operationId: getVesselPosition
      tags:
      - Vessel
      summary: Retrieve the latest vessel position via IMO or MMSI
      parameters:
      - name: imo
        in: query
        schema:
          type: integer
      - name: mmsi
        in: query
        schema:
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/VesselResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /vessel/v2/eta:
    get:
      operationId: getVesselEta
      tags:
      - Vessel
      summary: Get a vessel ETA prediction from AIS
      parameters:
      - name: imo
        in: query
        schema:
          type: integer
      - name: toLocode
        in: query
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/VesselResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /vessel/v2/arrivals:
    get:
      operationId: getVesselArrivals
      tags:
      - Vessel
      summary: List scheduled vessel arrivals at a port (beta)
      parameters:
      - name: locode
        in: query
        schema:
          type: string
      responses:
        '200':
          $ref: '#/components/responses/VesselResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /vessel/v2/name:
    get:
      operationId: searchVesselByName
      tags:
      - Vessel
      summary: Search vessel information by name
      parameters:
      - $ref: '#/components/parameters/Query'
      responses:
        '200':
          $ref: '#/components/responses/VesselResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /vessel/v2/timeseries:
    get:
      operationId: getVesselTimeseries
      tags:
      - Vessel
      summary: Access historical vessel position data between dates
      parameters:
      - name: imo
        in: query
        schema:
          type: integer
      - name: fromDate
        in: query
        schema:
          type: integer
          format: int64
      - name: toDate
        in: query
        schema:
          type: integer
          format: int64
      responses:
        '200':
          $ref: '#/components/responses/VesselResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /vessel/v2/trace:
    get:
      operationId: getVesselTrace
      tags:
      - Vessel
      summary: Obtain a processed vessel trajectory/route history
      parameters:
      - name: imo
        in: query
        schema:
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/VesselResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    VesselResponse:
      description: Vessel AIS data (position, ETA, trace, or time series).
      content:
        application/json:
          schema:
            type: object
    Unauthorized:
      description: Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  parameters:
    Query:
      name: query
      in: query
      required: true
      description: Free-text search term (name, code, or locode).
      schema:
        type: string
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
  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.