MarineTraffic Passage Plans API

The Passage Plans API from MarineTraffic — 1 operation(s) for passage plans.

Operations 1

POST /import-passage-plan/{api_key} Import Passage Plan #

Documentation

Specifications

Schemas & Data

Other Resources

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/marine-traffic-passage-plans-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

marine-traffic-passage-plans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MarineTraffic AIS Data Passage Plans API
  description: Complete MarineTraffic AIS Data API covering vessel positions, events, vessels data, voyage information, ports information, routing, reverse geocoding, and power-user fleet/balance services. Backed by 13,000+ AIS receivers operated by Kpler / MarineTraffic.
  version: 1.0.0
  license:
    name: Property of Kpler
    url: https://www.kpler.com/product/maritime/data-services
  x-logo:
    url: https://www.marinetraffic.com/img/logos/Logo.png
    altText: MarineTraffic logo
    href: https://www.marinetraffic.com/en/ais/home/centerx:-12.0/centery:25.0/zoom:4
  contact:
    name: MarineTraffic
    url: https://www.marinetraffic.com/
servers:
- url: https://services.marinetraffic.com/api
tags:
- name: Passage Plans
paths:
  /import-passage-plan/{api_key}:
    post:
      tags:
      - Passage Plans
      summary: Import Passage Plan
      description: 'Import a passage plan for one of your managed vessels.


        Notes


        Passage plans can only be imported for vessels that belong to user''s managed vessels (see Fleet Operations solution for more info)


        Accepted file formats are CSV, RTZ or RT3


        Maximum file size supported is 20MB


        File should contain at least 2 waypoints


        Imported passage plans overwrite previously imported ones for the provided api_key and IMO combination


        The frequency of allowed API calls is specific to your API key and is detailed in your contract as a number of successful calls per time period. For example “2 calls per minute”.

        Regardless of this agreed limit, each API key is technically restricted to a maximum of 100 total (including successful and unsuccessful) requests per minute to ensure system stability.'
      operationId: import-passage-plan
      parameters:
      - $ref: '#/components/parameters/api_key'
      - $ref: '#/components/parameters/content_type_pu06'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/pu06_request_body'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/200_pu06_default'
            application/xml:
              schema:
                $ref: '#/components/schemas/200_pu06_default'
              examples:
                Default:
                  summary: Simple
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n     <STATUS>\n         <SUCCESS>CODE=\"s8\" DESCRIPTION=\"PASSAGE PLAN IMPORTED\"/>\n     </STATUS>\n</RESPONSE>"
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400_pu06_vessel_not_found'
            application/xml:
              schema:
                $ref: '#/components/schemas/400_pu06_vessel_not_found'
              examples:
                Vessel not found:
                  summary: Vessel not found
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<RESPONSE>\n    <STATUS>\n        <ERROR CODE=\"2a11\" DESCRIPTION=\"VESSEL NOT FOUND\"/>\n    </STATUS>\n</RESPONSE>"
components:
  schemas:
    200_pu06_default:
      title: Simple
      type: object
      properties:
        status:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: Success Code Status
              description:
                type: string
                description: Success Code Description
      example:
        status:
        - code: s8
          description: PASSAGE PLAN IMPORTED
    pu06_request_body:
      title: Request Body
      type: array
      items:
        type: object
        properties:
          imo:
            type: integer
            description: The International Maritime Organization (IMO) number of the vessel you wish to import the passage plan for
          file:
            type: object
            description: 'Input file that contains an ECDIS passage plan. Accepted formats are: CSV, RTZ and RT3'
          protocol:
            type: string
            description: 'Response type. Use one of the following: xml, csv, json, jsono (object)'
      example:
      - imo: 9750701
        file: your_file.rtz
        suez: jsono
    400_pu06_vessel_not_found:
      title: Vessel not found
      type: object
      properties:
        error:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: Error code
              description:
                type: string
                description: Error message
      example:
        error:
        - code: 2a11
          description: VESSEL NOT FOUND
  parameters:
    content_type_pu06:
      name: Content-Type
      in: header
      description: Request's Content-Type
      required: true
      schema:
        type: string
        default: multipart/form-data
    api_key:
      name: api_key
      in: path
      description: 'API key: 40-character hexadecimal number'
      required: true
      schema:
        type: string
x-tagGroups:
- name: Solutions
  tags:
  - Containers API
  - MT Inbox
- name: Vessel Positions
  tags:
  - AIS API
  - Vessel Historical Track
  - Vessel Positions (Legacy API)
- name: Events
  tags:
  - Single Vessel Events
  - Port Events
- name: Vessels Data
  tags:
  - Vessel Information
  - Search Vessel
- name: Voyage Info
  tags:
  - Voyage Information
  - Ports Information
  - Routing Information
- name: Geographical Info
  tags:
  - Reverse Geocoding
- name: Power User
  tags:
  - Fleets
  - Balances
  - Passage Plans