openapi: 3.0.2
info:
title: MarineTraffic Power User API
version: 1.0.0
description: Fleet management (create, modify, list, clear), account credit balance, and passage plan import endpoints reserved
for power-user accounts.
contact:
name: MarineTraffic
url: https://www.marinetraffic.com/
servers:
- url: https://services.marinetraffic.com/api
tags:
- name: Fleets
- name: Balances
- name: Passage Plans
paths:
/setfleet/{api_key}:
get:
tags:
- Fleets
summary: Modify Fleet
description: "Manage your MarineTraffic fleet. </br></br> To **create a new item** in a fleet, use the active parameter.\
\ If the item already exists, it will **update** item's status. </br></br> The active parameter can have values of\
\ 0, 1, 2 which corresponds to the three states of the fleet items (inactive, active, sat enabled) </br></br> The\
\ **delete** parameter must have a value of 1 and it **removes** the entry from the fleet. </br></br> If MMSI, IMO\
\ and SHIP ID are passed, the MMSI takes precedence and the IMO and SHIP ID will be ignored. </br></br> When you add\
\ vessels to a Fleet of Interest using the setfleet API endpoint: \n<ul>\n <li>If you provide an IMO or MMSI that\
\ matches multiple vessels in the MarineTraffic database, the system will automatically select the vessel with the\
\ most recent AIS timestamp and add it to your fleet.</li>\n <li>If you provide a shipid, the system will add that\
\ exact vessel — no duplicate resolution is performed.</li>\n <li>To avoid any ambiguity, we recommend using shipid\
\ when you want precise control over which vessel is added.</li>\n</ul> \nResponse is always an XML structure indicating\
\ success or failure with failure description message.</br></br> <b>Notes</b> <ul>\n <li>The <b>frequency of allowed\
\ API calls</b> 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”. </br>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.</li>\n\
</ul>"
operationId: setfleet
parameters:
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/mmsi_PU01'
- $ref: '#/components/parameters/imo_PU01'
- $ref: '#/components/parameters/shipid_PU01'
- $ref: '#/components/parameters/fleet_id_PU01'
- $ref: '#/components/parameters/active_PU01'
- $ref: '#/components/parameters/delete_PU01'
responses:
'200':
description: Successful Response
content:
application/xml:
schema:
$ref: '#/components/schemas/200_pu01_update'
examples:
Update fleet:
summary: Update fleet
value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n <STATUS>\n \
\ <SUCCESS CODE=\"7\" DESCRIPTION=\"FLEET ITEM UPDATED\" />\n </STATUS>\n</RESPONSE>"
'400':
description: Bad Request
content:
application/xml:
schema:
oneOf:
- $ref: '#/components/schemas/400_pu01_invalid_ship_identifier'
- $ref: '#/components/schemas/400_pu01_missing_ship_identifier'
examples:
Invalid ship identifier:
summary: Invalid ship identifier
value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n <STATUS>\n \
\ <ERROR CODE=\"1\" DESCRIPTION=\"INCORRECT CALL-CHECK PARAMETERS\"/>\n </STATUS>\n</RESPONSE>"
Missing ship identifier:
summary: Missing ship identifier
value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n <STATUS>\n \
\ <ERROR CODE=\"2\" DESCRIPTION=\"VESSEL MMSI OR IMO OR SHIPID MISSING\"/>\n </STATUS>\n</RESPONSE>"
'404':
description: Not Found
content:
application/xml:
schema:
oneOf:
- $ref: '#/components/schemas/404_pu01_invalid_fleet_identifier'
examples:
Invalid fleet identifier:
summary: Invalid fleet identifier
value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n <STATUS>\n \
\ <ERROR CODE=\"6b\" DESCRIPTION=\"FLEET NOT FOUND\"/>\n </STATUS>\n</RESPONSE>"
'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: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n <STATUS>\n \
\ <ERROR CODE=\"1r\" DESCRIPTION=\"TOO MANY REQUESTS\"/>\n </STATUS>\n</RESPONSE>"
/getfleet/{api_key}:
get:
tags:
- Fleets
summary: Vessels in Fleet
description: "Get a detailed listing of vessels included in one of your MarineTraffic fleets.</br></br> <b>Notes</b>\
\ <ul>\n <li>The <b>frequency of allowed API calls</b> 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”. </br>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.</li>\n</ul>"
operationId: getfleet
parameters:
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/v_PU02'
- $ref: '#/components/parameters/fleet_id_PU02'
- $ref: '#/components/parameters/page_PU02'
- $ref: '#/components/parameters/protocol'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/200_pu02_default'
application/xml:
schema:
$ref: '#/components/schemas/200_pu02_default'
examples:
Default:
summary: Simple
value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<FLEET INACTIVE=\"0\" TERRESTRIAL=\"\
4\" SATELLITE=\"0\">\n <VESSEL SHIP_ID=\"211325\" MMSI=\"239710000\" IMO=\"9197105\" SHIPNAME=\"BLUE\
\ STAR 1\" ACTIVE=\"1\"/>\n <VESSEL SHIP_ID=\"212537\" MMSI=\"240389000\" IMO=\"9208679\" SHIPNAME=\"\
BLUE STAR MYCONOS\" ACTIVE=\"1\"/>\n <VESSEL SHIP_ID=\"214617\" MMSI=\"241159000\" IMO=\"9565041\"\
\ SHIPNAME=\"BLUE STAR PATMOS\" ACTIVE=\"1\"/>\n <VESSEL SHIP_ID=\"371681\" MMSI=\"310627000\" IMO=\"\
9241061\" SHIPNAME=\"QUEEN MARY 2\" ACTIVE=\"1\"/>\n</FLEET>"
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/400_pu02_empty_fleet'
application/xml:
schema:
$ref: '#/components/schemas/400_pu02_empty_fleet'
examples:
Empty fleet:
summary: Empty fleet
value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?><RESPONSE>\n <STATUS>\n <ERROR\
\ CODE=\"7\" DESCRIPTION=\"FLEET IS EMPTY\"/>\n </STATUS>\n</RESPONSE>"
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/403_pu02_invalid_fleet_identifier'
application/xml:
schema:
$ref: '#/components/schemas/403_pu02_invalid_fleet_identifier'
examples:
Invalid fleet identifier:
summary: Invalid fleet identifier
value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n <STATUS>\n \
\ <ERROR CODE=\"6a\" DESCRIPTION=\"USER DOES NOT OWN FLEET\"/>\n </STATUS>\n</RESPONSE>"
'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: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n <STATUS>\n \
\ <ERROR CODE=\"1r\" DESCRIPTION=\"TOO MANY REQUESTS\"/>\n </STATUS>\n</RESPONSE>"
/getfleets/{api_key}:
get:
tags:
- Fleets
summary: List Fleets
description: "Get an overview list of all your MarineTraffic fleets.</br></br> <b>Notes</b> <ul>\n <li>The <b>frequency\
\ of allowed API calls</b> 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”. </br>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.</li>\n</ul>"
operationId: getfleets
parameters:
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/protocol'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/200_pu03_default'
application/xml:
schema:
$ref: '#/components/schemas/200_pu03_default'
examples:
Default:
summary: Default
value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<FLEETS>\n <FLEET ID=\"1696822\"\
\ NAME=\"Demo fleet\" ACTIVE=\"1\" CREATED=\"2020-09-22 06:51:00\" DEFAULT=\"1\"/>\n</FLEETS>"
'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: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n <STATUS>\n \
\ <ERROR CODE=\"1r\" DESCRIPTION=\"TOO MANY REQUESTS\"/>\n </STATUS>\n</RESPONSE>"
/clearfleet/{api_key}:
get:
tags:
- Fleets
summary: Clear Fleet
description: "Clear your MarineTraffic fleet from all vessels.</br></br> <b>Notes</b> <ul>\n <li>The <b>frequency\
\ of allowed API calls</b> 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”. </br>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.</li>\n</ul>"
operationId: clearfleet
parameters:
- $ref: '#/components/parameters/api_key'
- $ref: '#/components/parameters/fleet_id_PU05'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/200_pu05_default'
application/xml:
schema:
$ref: '#/components/schemas/200_pu05_default'
examples:
Default:
summary: Default
value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<FLEETS>\n <FLEET FLEET_ID=\"1716163\"\
\ DELETE=\"1\"/>\n</FLEETS>"
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/404_pu05_missing_or_invalid_fleet_identifier'
application/xml:
schema:
$ref: '#/components/schemas/404_pu05_missing_or_invalid_fleet_identifier'
examples:
Missing or invalid fleet identifier:
summary: Missing or invalid fleet identifier
value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n <STATUS>\n \
\ <ERROR CODE=\"6b\" DESCRIPTION=\"FLEET NOT FOUND\"/>\n </STATUS>\n</RESPONSE>"
'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: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n <STATUS>\n \
\ <ERROR CODE=\"1r\" DESCRIPTION=\"TOO MANY REQUESTS\"/>\n </STATUS>\n</RESPONSE>"
/exportcredits/{api_key}:
get:
tags:
- Balances
summary: Credits Balance
description: "Get a snapshot of your current credits balance.</br></br> <b>Notes</b> <ul>\n <li>The <b>frequency\
\ of allowed API calls</b> 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”. </br>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.</li>\n</ul>"
operationId: exportcredits
parameters:
- $ref: '#/components/parameters/api_key'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/200_pu04_default'
application/xml:
schema:
$ref: '#/components/schemas/200_pu04_default'
examples:
Default:
summary: Default
value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<ROW>\n <CREDITS USER_ID=\"13541873\"\
\ CREDIT_BALANCE=\"1542\" LAST_CHARGED=\"2017-01-17T12:23:24\"/>\n</ROW>"
'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: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n <STATUS>\n \
\ <ERROR CODE=\"1r\" DESCRIPTION=\"TOO MANY REQUESTS\"/>\n </STATUS>\n</RESPONSE>"
/import-passage-plan/{api_key}:
post:
tags:
- Passage Plans
summary: Import Passage Plan
description: "Import a passage plan for one of your managed vessels. </br></br> <b>Notes</b> <ul>\n <li>Passage plans\
\ can only be imported for vessels that belong to user's managed vessels (see <a href=\"https://www.marinetraffic.com/en/online-services/plans/fleet-ops\"\
>Fleet Operations</a> solution for more info)</li>\n <li>Accepted file formats are CSV, RTZ or RT3</li>\n <li>Maximum\
\ file size supported is 20MB</li>\n <li>File should contain at least 2 waypoints</li>\n <li>Imported passage\
\ plans overwrite previously imported ones for the provided api_key and IMO combination</li>\n <li>The <b>frequency\
\ of allowed API calls</b> 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”. </br>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.</li>\n</ul>"
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:
parameters:
api_key:
name: api_key
in: path
description: 'API key: 40-character hexadecimal number'
required: true
schema:
type: string
cursor:
name: cursor
in: query
description: The pagination cursor provided in the metadata section of the previous response
required: false
schema:
type: string
limit:
name: limit
in: query
description: The limit of vessels per page (min=1000, max=5000)
required: false
schema:
type: integer
default: 2000
protocol_mandatory:
name: protocol
in: query
description: "Response type. Use one of the following: <ul>\n <li>jsono</li>\n <li>csv</li>"
required: false
schema:
type: string
default: jsono
protocol_new:
name: protocol
in: query
description: "Response type. Use one of the following: <ul>\n <li>xml</li>\n <li>csv</li>\n <li>jsono</li>"
required: false
schema:
type: string
default: xml
v_PS01:
name: v
in: query
description: Version of the service to be executed. Use version 3 to get the latest
schema:
type: integer
default: 1
shipid_PS01:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel </br></br> You can <b>instead</b> use imo
or mmsi
required: true
schema:
type: integer
mmsi_PS01:
name: mmsi
in: query
description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track
required: false
schema:
type: integer
imo_PS01:
name: imo
in: query
description: The International Maritime Organization (IMO) number of the vessel you wish to track
required: false
schema:
type: integer
days_PS01:
name: days
in: query
description: The number of days, starting from the time of request and going backwards, for which the response should
look for position data </br></br> Maximum value is 190 (days)
required: true
schema:
type: integer
fromdate_PS01:
name: fromdate
in: query
description: Use with todate <b>instead</b> of days to get data for a date period
required: false
schema:
type: string
format: date-time
todate_PS01:
name: todate
in: query
description: Use with fromdate <b>instead</b> of days to get data for a date period
required: false
schema:
type: string
format: date-time
period_PS01:
name: period
in: query
description: "Limit position per vessel. Omit to get all the available positions </br></br> Values are: <ul>\n <li>hourly:\
\ get one position per hour</li>\n <li>daily: get one position per day</li>\n</ul>"
required: false
schema:
type: string
msgtype_PS01:
name: msgtype
in: query
description: "Resolution of the response. Available values: <ul>\n <li>simple</li>\n <li>extended</li>\n</ul> If used\
\ with the value <b>extended</b>, the response includes also weather data"
required: false
schema:
type: string
default: simple
protocol:
name: protocol
in: query
description: "Response type. Use one of the following: <ul>\n <li>xml</li>\n <li>csv</li>\n <li>json</li>\n <li>jsono</li>"
required: false
schema:
type: string
default: xml
MINLAT_PS01:
name: MINLAT
in: query
description: Use with MAXLAT, MINLON, MAXLON to define an area for which you wish to either get all the historical vessels'
positions or historical positions for a specific vessel </br></br> The absolute value of MAXLAT - MINLAT + MAXLON
- MINLON has to be equal to or less than <b>2</b> </br></br> If you do not define a vessel, the maximum period for
which you can look back has a maximum period of one day
required: true
schema:
type: number
MAXLAT_PS01:
name: MAXLAT
in: query
description: Use with MINLAT, MINLON, MAXLON to define an area for which you wish to either get all the historical vessels'
positions or historical positions for a specific vessel </br></br> The absolute value of MAXLAT - MINLAT + MAXLON
- MINLON has to be equal to or less than <b>2</b> </br></br> If you do not define a vessel, the maximum period for
which you can look back has a maximum period of one day
required: true
schema:
type: number
MINLON_PS01:
name: MINLON
in: query
description: Use with MINLAT, MAXLAT, MAXLON to define an area for which you wish to either get all the historical vessels'
positions or historical positions for a specific vessel </br></br> The absolute value of MAXLAT - MINLAT + MAXLON
- MINLON has to be equal to or less than <b>2</b> </br></br> If you do not define a vessel, the maximum period for
which you can look back has a maximum period of one day
required: true
schema:
type: number
MAXLON_PS01:
name: MAXLON
in: query
description: Use with MINLAT, MAXLAT, MINLON to define an area for which you wish to either get all the historical vessels'
positions or historical positions for a specific vessel </br></br> The absolute value of MAXLAT - MINLAT + MAXLON
- MINLON has to be equal to or less than <b>2</b> </br></br> If you do not define a vessel, the maximum period for
which you can look back has a maximum period of one day
required: true
schema:
type: number
shipid_PS01_2:
name: shipid
in: query
description: A uniquely assigned ID by MarineTraffic for the subject vessel </br></br> You can <b>instead</b> use imo
or mmsi
required: false
schema:
type: integer
v_PS02:
name: v
in: query
description: Version of the service to be executed. Use version 8 to get the latest
required: true
schema:
type: integer
default: 1
timespan_PS02:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions. </br></br> Maximum value for terrestrial coverage
is 60. Maximum value for satellite coverage is 180
required: false
schema:
type: integer
default: 5
shiptype_PS02:
name: shiptype
in: query
description: "Filter data by vessel type: <ul>\n <li>2: Fishing</li>\n <li>4: High Speed Craf</li>\n <li>6: Passenger</li>\n\
\ <li>7: Cargo</li>\n <li>8: Tanker</li>"
required: false
schema:
type: integer
msgtype_PS02:
name: msgtype
in: query
description: "Resolution of the response. Available values: <ul>\n <li>simple</li>\n <li>extended</li>\n <li>full</li>\n\
</ul> If used with the value <b>extended</b> or <b>full</b>, the response includes scheduled static and voyage related\
\ vessel data report (AIS Message 5). In this case your request frequency might be limited (depending on your service\
\ terms) </br></br> If omitted, the returned records include only position reports (AIS Messages 1, 2, 3/ 18, 19)"
required: false
schema:
type: string
default: simple
v_PS03:
name: v
in: query
description: Version of the service to be executed. Use version 8 to get the latest
required: true
schema:
type: integer
default: 1
vessel_type:
name: vesseltypeid
in: query
description: Filter vessels based on vessel types, comma separated ids supported </br></br><a href="https://support.marinetraffic.com/en/articles/9552888-what-is-the-significance-of-the-marinetraffic-ship-types"
target='_blank'>more</a>
required: false
schema:
type: integer
timespan_PS03:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions </br></br> Maximum value for terrestrial coverage
is 60. Maximum value for satellite coverage is 180
required: false
schema:
type: integer
default: 5
shiptype_PS03:
name: shiptype
in: query
description: "Filter data by vessel type: <ul>\n <li>2: Fishing</li>\n <li>4: High Speed Craf</li>\n <li>6: Passenger</li>\n\
\ <li>7: Cargo</li>\n <li>8: Tanker</li>"
required: false
schema:
type: integer
msgtype_PS03:
name: msgtype
in: query
description: "Resolution of the response. Available values: <ul>\n <li>simple</li>\n <li>extended</li>\n <li>full</li>\n\
</ul> If used with the value <b>extended</b> or <b>full</b>, the response includes scheduled static and voyage related\
\ vessel data report (AIS Message 5). In this case your request frequency might be limited (depending on your service\
\ terms) </br></br> If omitted, the returned records include only position reports (AIS Messages 1, 2, 3/ 18, 19)"
required: false
schema:
type: string
default: simple
v_PS04:
name: v
in: query
description: Version of the service to be executed. Use version 8 to get the latest
required: true
schema:
type: integer
default: 1
timespan_PS04:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions </br></br> Maximum value for terrestrial coverage
is 60. Maximum value for satellite coverage is 180
required: false
schema:
type: integer
default: 5
shiptype_PS04:
name: shiptype
in: query
description: "Filter data by vessel type: <ul>\n <li>2: Fishing</li>\n <li>4: High Speed Craf</li>\n <li>6: Passenger</li>\n\
\ <li>7: Cargo</li>\n <li>8: Tanker</li>"
required: false
schema:
type: integer
msgtype_PS04:
name: msgtype
in: query
description: "Resolution of the response. Available values: <ul>\n <li>simple</li>\n <li>extended</li>\n <li>full</li>\n\
</ul> If used with the value <b>extended</b> or <b>full</b>, the response includes scheduled static and voyage related\
\ vessel data report (AIS Message 5). In this case your request frequency might be limited (depending on your service\
\ terms) </br></br> If omitted, the returned records include only position reports (AIS Messages 1, 2, 3/ 18, 19)"
required: false
schema:
type: string
default: simple
v_PS05:
name: v
in: query
description: Version of the service to be executed. Use version 8 to get the latest
required: true
schema:
type: integer
default: 1
timespan_PS05:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions </br></br> Maximum value for terrestrial coverage
is 60. Maximum value for satellite coverage is 180
required: false
schema:
type: integer
default: 5
shiptype_PS05:
name: shiptype
in: query
description: "Filter data by vessel type: <ul>\n <li>2: Fishing</li>\n <li>4: High Speed Craf</li>\n <li>6: Passenger</li>\n\
\ <li>7: Cargo</li>\n <li>8: Tanker</li>"
required: false
schema:
type: integer
msgtype_PS05:
name: msgtype
in: query
description: "Resolution of the response. Available values: <ul>\n <li>simple</li>\n <li>extended</li>\n <li> full</li>\n\
</ul> If used with the value <b>extended</b> or <b>full</b>, the response includes scheduled static and voyage related\
\ vessel data report (AIS Message 5). In this case your request frequency might be limited (depending on your service\
\ terms) </br></br> If omitted, the returned records include only position reports (AIS Messages 1, 2, 3/ 18, 19)"
required: false
schema:
type: string
default: simple
v_PS06:
name: v
in: query
description: Version of the service to be executed. Use version 8 to get the latest
required: true
schema:
type: integer
default: 1
v_MTA030AD_1:
name: v
in: query
description: Use latest version **9**
required: true
schema:
type: integer
v_MTA030AD_2:
name: v
in: query
description: Use latest version **2**
required: true
schema:
type: integer
v_MTA030AD_3:
name: v
in: query
description: Use latest version **6**
required: true
schema:
type: integer
timespan_PS06:
name: timespan
in: query
description: The maximum age, in minutes, of the returned positions. Maximum value is 2880
required: false
schema:
type: integer
default: 5
shiptype_PS06:
name: shiptype
in: query
description: "Filter data by vessel type: <ul>\n <li>2: Fishing</li>\n <li>4: High Speed Craf</li>\n <li>6: Passenger</li>\n\
\ <li>7: Cargo</li>\n <li>8: Tanker</li>"
required: false
schema:
type: integer
MAXLAT_PS06:
name: MAXLAT
in: query
description: Use with MINLAT, MINL
# --- truncated at 32 KB (85 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/marine-traffic/refs/heads/main/openapi/marine-traffic-power-user-openapi.yml