openapi: 3.0.2
info:
title: MarineTraffic Events AIS API Vessel Information API
version: 1.0.0
description: Port calls, berth calls, and event timelines for single vessels and entire ports — surfacing every arrival, departure, and berth touch detected by the global AIS network.
contact:
name: MarineTraffic
url: https://www.marinetraffic.com/
servers:
- url: https://services.marinetraffic.com/api
tags:
- name: Vessel Information
paths:
/exportvesselphoto/{api_key}:
get:
tags:
- Vessel Information
summary: Vessel Photo
description: "Retrieve the most popular photo of a vessel. Notes
\n - 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.
\n
"
operationId: exportvesselphoto
parameters:
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/vessel_id_VD01'
- $ref: '#/components/parameters/shipid_VD01'
- $ref: '#/components/parameters/protocol'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/200_vd01_default'
application/xml:
schema:
$ref: '#/components/schemas/200_vd01_default'
examples:
Default:
summary: Simple
value: "\n\n \n"
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/400_vd01_missing_or_invalid_ship_identifier'
application/xml:
schema:
$ref: '#/components/schemas/400_vd01_missing_or_invalid_ship_identifier'
examples:
Missing or invalid ship identifier:
summary: Missing or invalid ship identifier
value: "\n\n \n \n \n"
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/429_too_many_requests'
application/xml:
schema:
$ref: '#/components/schemas/429_too_many_requests'
examples:
Area out of bound:
summary: Too Many Requests
value: "\n\n \n \n \n"
/vesselmasterdata/{api_key}:
get:
tags:
- Vessel Information
summary: Vessel Particulars (Legacy API)
description: "⚠️This is a legacy endpoint.\nA new and improved version is now available, offering enhanced data quality, latest features and better performance. \nWe strongly recommend switching to the latest version, which you can explore here: Vessel Particulars & Ownership.\nIf you would like to see the new endpoint in action, feel free to request a demo - our team would be happy to walk you through it.\nRetrieve particulars for one or more vessels. Notes \n - Information about AIS-transmitted data
\n - If page parameter is missing, then default page:1 will be used instead
\n - The results returned from the API call are split into pages of 100 rows
\n - In order to get each page generated by the call, add the /page:#value/ parameter to the URL. The default value is /page:1/
\n - The API does not return results for vessels that are not IMO-registered
\n - The API does not return results for dead vessels
\n - 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.
\n
"
operationId: vesselmasterdata
parameters:
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/v_VD02'
- $ref: '#/components/parameters/mmsi_VD02'
- $ref: '#/components/parameters/imo_VD02'
- $ref: '#/components/parameters/shipid_VD02'
- $ref: '#/components/parameters/timespan_VD02'
- $ref: '#/components/parameters/interval_VD02'
- $ref: '#/components/parameters/protocol'
- $ref: '#/components/parameters/page_VD02'
- $ref: '#/components/parameters/msgtype_VD02'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/200_vd02_default'
- $ref: '#/components/schemas/200_vd02_extended'
application/xml:
schema:
oneOf:
- $ref: '#/components/schemas/200_vd02_default'
- $ref: '#/components/schemas/200_vd02_extended'
examples:
Default:
summary: Simple
value: "\n\n \n"
Extended:
summary: Extended
value: "\n\n \n"
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/400_vd02_missing_or_invalid_ship_identifier'
application/xml:
schema:
$ref: '#/components/schemas/400_vd02_missing_or_invalid_ship_identifier'
examples:
Missing or invalid ship identifier:
summary: Missing or invalid ship identifier
value: "\n\n \n \n \n"
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/429_too_many_requests'
application/xml:
schema:
$ref: '#/components/schemas/429_too_many_requests'
examples:
Area out of bound:
summary: Too Many Requests
value: "\n\n \n \n \n"
components:
parameters:
timespan_VD02:
name: timespan
in: query
description: The timespan parameter defines the period of time, during which we want to receive the change in a vessel's details The maximum value can be either 5 when the interval parameter is set to days or 2880 when the interval is set to minutes
required: false
schema:
type: integer
mmsi_VD02:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track (single or comma separated values) You can instead use imo or shipid
required: true
schema:
type: integer
page_VD02:
name: page
in: query
description: Page number of the results to be returned
required: false
schema:
type: integer
default: 1
msgtype_VD02:
name: msgtype
in: query
description: "Resolution of the response. Available values: "
required: false
schema:
type: string
default: simple
shipid_VD02:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel (single or comma separated values)
required: false
schema:
type: integer
api_key:
name: api_key
in: path
description: 'API key: 40-character hexadecimal number'
required: true
schema:
type: string
protocol:
name: protocol
in: query
description: "Response type. Use one of the following: \n - xml
\n - csv
\n - json
\n - jsono
"
required: false
schema:
type: string
default: xml
v_VD02:
name: v
in: query
description: Version of the service to be executed. Use version 5 to get the latest
required: true
schema:
type: integer
default: 1
interval_VD02:
name: interval
in: query
description: The interval parameter can be either minutes or days
required: false
schema:
type: string
default: minutes
imo_VD02:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track (single or comma separated values)
required: false
schema:
type: integer
shipid_VD01:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel
required: false
schema:
type: integer
vessel_id_VD01:
name: vessel_id
in: query
description: The Maritime Mobile Service Identity (MMSI) or the IMO number of the vessel You can instead use shipid
required: true
schema:
type: integer
schemas:
200_vd02_default:
title: Simple
type: array
items:
type: object
properties:
MMSI:
type: string
description: Maritime Mobile Service Identity - a nine-digit number sent in digital form over a radio frequency that identifies the vessel's transmitter station
IMO:
type: string
description: International Maritime Organisation number - a seven-digit number that uniquely identifies vessels
ENI:
type: string
description: European Number of Identification - a unique eight-digit registration number for vessels capable of navigating on inland European waters
NAME:
type: string
description: The Name of the subject vessel
BUILDER:
type: string
description: The Builder of the subject vessel
PLACE_OF_BUILD:
type: string
description: The place the subject vessel was built at
BUILD:
type: string
description: The year that the subject vessel was built
YARD_NUMBER:
type: string
description: The number assigned to the subject vessel from the Shipyard (prior to her commercial name)
BREADTH_EXTREME:
type: string
description: The extreme breadth (in metres) of the subject vessel
BREADTH_MOULDED:
type: string
description: The Moulded Breadth (in meters) of the subject vessel
DEPTH:
type: string
description: The Extreme Depth (in meters) of the subject vessel
SUMMER_DWT:
type: string
description: Deadweight - a measure (in metric tons) of how much weight a vessel can safely carry (excluding the vessel's own weight)
DISPLACEMENT_SUMMER:
type: string
description: Displacement - a measure of the vessel's weight
CALLSIGN:
type: string
description: A uniquely designated identifier for the vessel's transmitter station
FLAG:
type: string
description: The flag of the subject vessel according to AIS transmissions - more
DRAUGHT:
type: string
description: The Maximum Draught (in metres) of the subject vessel
LENGHT_OVERALL:
type: string
description: The Overall Length (in metres) of the subject vessel
LENGTH_B_W_PERPENDICULARS:
type: string
description: The Length (in meters) measured between perpendiculars for the subject vessel
FUEL_CONSUMPTION:
type: string
description: The Fuel Consumption of the subject vessel
SPEED_MAX:
type: string
description: The Maximum Operational Speed of the subject vessel
SPEED_SERVICE:
type: string
description: The Speed that the vessel is designed to sail under certain conditions
TEU:
type: string
description: The Capacity of a containership measured in twenty-foot equivalent units (TEU)
GROSS_TONNAGE:
type: string
description: The Gross Tonnage of the subject vessel
NET_TONNAGE:
type: string
description: The Net Tonnage of the subject vessel
LIQUID_OIL:
type: string
description: The Capacity (in cubic metres) of the wet cargo the vessel can carry
LIQUID_GAS:
type: string
description: The Capacity (in cubic metres) of the gas cargo the vessel can carry
GRAIN:
type: string
description: The Capacity (in cubic metres) of the grain cargo the vessel can carry
OWNER:
type: string
description: The Owning Company of the subject vessel
MANAGER:
type: string
description: The Managing Company of the subject vessel
FINANCIAL_OWNER:
type: string
description: The Financial Owner of the subject vessel
TECHNICAL_MANAGER:
type: string
description: The Technical Manager of the subject vessel
INSURER:
type: string
description: The Insurer of the subject vessel
VESSEL_TYPE:
type: string
description: The specific type of the subject vessel
example:
- MMSI: '440389000'
IMO: '9360283'
ENI: null
NAME: DONGJIN AUBE
BUILDER: HAKATA SHIPBUILDING
PLACE_OF_BUILD: MATSUYAMA JAPAN
BUILD: '2005'
YARD_NUMBER: HN. 670
BREADTH_EXTREME: '25'
BREADTH_MOULDED: '25'
DEPTH: '13.7'
SUMMER_DWT: '15220'
DISPLACEMENT_SUMMER: null
CALLSIGN: D7OT
FLAG: KR
DRAUGHT: '8.97'
LENGTH_OVERALL: '147'
LENGTH_B_W_PERPENDICULARS: '135'
FUEL_CONSUMPTION: 36 t/day at 17.50 kn
SPEED_MAX: null
SPEED_SERVICE: '18'
TEU: '1060'
GROSS_TONNAGE: '12679'
NET_TONNAGE: '5614'
LIQUID_OIL: null
LIQUID_GAS: null
GRAIN: null
OWNER: DONG JIN SHIPPING CO LTD
MANAGER: DONG JIN SHIPPING CO LTD
FINANCIAL_OWNER: DONG JIN SHIPPING CO LTD
TECHNICAL_MANAGER: null
INSURER: JAPAN SHIP OWNERS P & I ASSOCIATION
VESSEL_TYPE: CONTAINER SHIP
200_vd02_extended:
title: Extended
type: array
items:
type: object
properties:
MMSI:
type: string
description: Maritime Mobile Service Identity - a nine-digit number sent in digital form over a radio frequency that identifies the vessel's transmitter station
IMO:
type: string
description: International Maritime Organisation number - a seven-digit number that uniquely identifies vessels
ENI:
type: string
description: European Number of Identification - a unique eight-digit registration number for vessels capable of navigating on inland European waters
NAME:
type: string
description: The Name of the subject vessel
BUILDER:
type: string
description: The Builder of the subject vessel
PLACE_OF_BUILD:
type: string
description: The place the subject vessel was built at
BUILD:
type: string
description: The year that the subject vessel was built
YARD_NUMBER:
type: string
description: The number assigned to the subject vessel from the Shipyard (prior to her commercial name)
BREADTH_EXTREME:
type: string
description: The extreme breadth (in metres) of the subject vessel
BREADTH_MOULDED:
type: string
description: The Moulded Breadth (in meters) of the subject vessel
DEPTH:
type: string
description: The Extreme Depth (in meters) of the subject vessel
SUMMER_DWT:
type: string
description: Deadweight - a measure (in metric tons) of how much weight a vessel can safely carry (excluding the vessel's own weight)
DISPLACEMENT_SUMMER:
type: string
description: Displacement - a measure of the vessel's weight
CALLSIGN:
type: string
description: A uniquely designated identifier for the vessel's transmitter station
FLAG:
type: string
description: The flag of the subject vessel according to AIS transmissions - more
DRAUGHT:
type: string
description: The Maximum Draught (in metres) of the subject vessel
LENGHT_OVERALL:
type: string
description: The Overall Length (in metres) of the subject vessel
LENGTH_B_W_PERPENDICULARS:
type: string
description: The Length (in meters) measured between perpendiculars for the subject vessel
FUEL_CONSUMPTION:
type: string
description: The Fuel Consumption of the subject vessel
SPEED_MAX:
type: string
description: The Maximum Operational Speed of the subject vessel
SPEED_SERVICE:
type: string
description: The Speed that the vessel is designed to sail under certain conditions
TEU:
type: string
description: The Capacity of a containership measured in twenty-foot equivalent units (TEU)
GROSS_TONNAGE:
type: string
description: The Gross Tonnage of the subject vessel
NET_TONNAGE:
type: string
description: The Net Tonnage of the subject vessel
LIQUID_OIL:
type: string
description: The Capacity (in cubic metres) of the wet cargo the vessel can carry
LIQUID_GAS:
type: string
description: The Capacity (in cubic metres) of the gas cargo the vessel can carry
GRAIN:
type: string
description: The Capacity (in cubic metres) of the grain cargo the vessel can carry
OWNER:
type: string
description: The Owning Company of the subject vessel
MANAGER:
type: string
description: The Managing Company of the subject vessel
FINANCIAL_OWNER:
type: string
description: The Financial Owner of the subject vessel
TECHNICAL_MANAGER:
type: string
description: The Technical Manager of the subject vessel
INSURER:
type: string
description: The Insurer of the subject vessel
VESSEL_TYPE:
type: string
description: The specific type of the subject vessel
MANAGER_COUNTRY:
type: string
description: The Managing Company's Country
MANAGER_TOWN:
type: string
description: The Managing Company's Town
MANAGER_WEBSITE:
type: string
description: The Managing Company's Website
OWNER_COUNTRY:
type: string
description: The Owning Company's Country
OWNER_TOWN:
type: string
description: The Owning Company's Town
OWNER_WEBSITE:
type: string
description: The Owning Company's Website
ENGINE_BUILDER:
type: string
description: The builder of the main engine
ENGINE_CYLINDERS:
type: string
description: The number of main engine cylinders
ENGINE_POWER:
type: string
description: Power of main engine in kW
ENGINE_STROKE:
type: string
description: The space the piston travels from top to bottom in mm
ENGINE_NUMBER:
type: string
description: Number of main engines
ENGINE_TYPE:
type: string
description: The type of the main engine
ENGINE_RPM:
type: string
description: Revolutions per minute
CLASS_SOCIETY:
type: string
description: The Classification Society the vessel is registered in
HULL_MATERIAL:
type: string
description: The material the ship is made of
HULL_TYPE:
type: string
description: Defines whether a vessel is double, single hull etc.
DECKS_NUMBER:
type: string
description: Number of decks
PROPELLER:
type: string
description: Number of propellers
L_FORE:
type: string
description: The relative distance from the AIS station of the vessel to the foremost of it (front / bow). Contains no decimals, always rounded.
W_LEFT:
type: string
description: The relative distance from the AIS station of the vessel to the leftmost of it (left side / port). Contains no decimals, always rounded.
FINANCIAL_OWNER_COUNTRY:
type: string
description: The Financial Owner's country
TECHNICAL_MANAGER_COUNTRY:
type: string
description: The Technical Manager's country
example:
- MMSI: '440389000'
IMO: '9360283'
ENI: null
NAME: DONGJIN AUBE
BUILDER: HAKATA SHIPBUILDING
PLACE_OF_BUILD: MATSUYAMA JAPAN
BUILD: '2005'
YARD_NUMBER: HN. 670
BREADTH_EXTREME: '25'
BREADTH_MOULDED: '25'
DEPTH: '13.7'
SUMMER_DWT: '15220'
DISPLACEMENT_SUMMER: null
CALLSIGN: D7OT
FLAG: KR
DRAUGHT: '8.97'
LENGTH_OVERALL: '147'
LENGTH_B_W_PERPENDICULARS: '135'
FUEL_CONSUMPTION: 36 t/day at 17.50 kn
SPEED_MAX: null
SPEED_SERVICE: '18'
TEU: '1060'
GROSS_TONNAGE: '12679'
NET_TONNAGE: '5614'
LIQUID_OIL: null
LIQUID_GAS: null
GRAIN: null
OWNER: DONG JIN SHIPPING CO LTD
MANAGER: DONG JIN SHIPPING CO LTD
FINANCIAL_OWNER: DONG JIN SHIPPING CO LTD
TECHNICAL_MANAGER: null
INSURER: JAPAN SHIP OWNERS P & I ASSOCIATION
VESSEL_TYPE: CONTAINER SHIP
MANAGER_COUNTRY: SWITZERLAND
MANAGER_TOWN: null
MANAGER_WEBSITE: http://www.mscgva.ch
OWNER_COUNTRY: SWITZERLAND
OWNER_TOWN: null
OWNER_WEBSITE: http://www.mscgva.ch
ENGINE_BUILDER: MITSUI TAMANO ENGINEERING & SHIPBUILDING
ENGINE_CYLINDERS: '7'
ENGINE_POWER: '9988'
ENGINE_STROKE: '1910'
ENGINE_NUMBER: '1'
ENGINE_TYPE: DIESEL
ENGINE_RPM: '127'
CLASS_SOCIETY: KOREAN REGISTER OF SHIPPING
HULL_MATERIAL: STEEL
HULL_TYPE: SINGLE HULL
DECKS_NUMBER: '616'
PROPELLER: 1 FIXED PITCH
L_FORE: '132'
W_LEFT: '25'
FINANCIAL_OWNER_COUNTRY: null,
TECHNICAL_MANAGER_COUNTRY: CYPRUS
429_too_many_requests:
title: Too many requests
type: object
properties:
errors:
type: array
items:
type: object
properties:
code:
type: string
description: Error code
detail:
type: string
description: Error message
example:
errors:
- code: 1r
detail: TOO MANY REQUESTS
200_vd01_default:
title: Simple
type: array
items:
type: object
properties:
URL:
type: string
description: The URL of the photo.
example:
- URL: https://photos.marinetraffic.com/ais/showphoto.aspx?photoid=534918
400_vd01_missing_or_invalid_ship_identifier:
title: Missing or invalid ship identifier
type: object
properties:
errors:
type: array
items:
type: object
properties:
code:
type: string
description: Error code
detail:
type: string
description: Error message
example:
errors:
- code: '2'
detail: VESSEL MMSI OR IMO OR SHIPID MISSING
400_vd02_missing_or_invalid_ship_identifier:
title: Missing or invalid ship identifier
type: object
properties:
errors:
type: array
items:
type: object
properties:
code:
type: string
description: Error code
detail:
type: string
description: Error message
example:
errors:
- code: '2'
detail: VESSEL MMSI OR IMO OR SHIPID MISSING