openapi: 3.0.2 info: title: MarineTraffic Vessels Data API version: 1.0.0 description: Vessel master data, photographs, and ship search by identifier (IMO / MMSI / Call Sign) or by name. contact: name: MarineTraffic url: https://www.marinetraffic.com/ servers: - url: https://services.marinetraffic.com/api tags: - name: Vessel Information - name: Search Vessel paths: /exportvesselphoto/{api_key}: get: tags: - Vessel Information summary: Vessel Photo description: "Retrieve the most popular photo of a vessel.

Notes " 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 " 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" /shipsearch/{api_key}: get: tags: - Search Vessel summary: Search Vessel by Identifier description: "Search for a vessel by unique identifier.

Notes " operationId: shipsearch parameters: - $ref: '#/components/parameters/api_key' - $ref: '#/components/parameters/shipid_VD03' - $ref: '#/components/parameters/mmsi_VD03' - $ref: '#/components/parameters/imo_VD03' - $ref: '#/components/parameters/shiptype_VD03' - $ref: '#/components/parameters/type_name_id_VD03' - $ref: '#/components/parameters/protocol' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/200_vd03_default' application/xml: schema: $ref: '#/components/schemas/200_vd03_default' examples: Default: summary: Simple value: "\n\n \n" '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/400_vd03_missing_search_identifier' application/xml: schema: $ref: '#/components/schemas/400_vd03_missing_search_identifier' examples: Missing search identifier: summary: Missing search 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" '/shipsearch/{api_key} ': get: tags: - Search Vessel summary: Search Vessel by Name description: "Search for vessels by vessel name.

Notes
In case of multiple results:\n \n
\n " operationId: shipsearch_ parameters: - $ref: '#/components/parameters/api_key' - $ref: '#/components/parameters/shipname_VD03' - $ref: '#/components/parameters/shiptype_VD03' - $ref: '#/components/parameters/type_name_id_VD03' - $ref: '#/components/parameters/protocol' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/200_vd03_default' application/xml: schema: $ref: '#/components/schemas/200_vd03_default' examples: Default: summary: Simple value: "\n \n \n \n \ \ \n \n \n \n \n \ \ " '400': description: Bad Request content: application/json: schema: oneOf: - $ref: '#/components/schemas/400_vd03_invalid_search_string_length' - $ref: '#/components/schemas/400_vd03_missing_search_term' application/xml: schema: oneOf: - $ref: '#/components/schemas/400_vd03_invalid_search_string_length' - $ref: '#/components/schemas/400_vd03_missing_search_term' examples: Invalid search string length: summary: Invalid search string length value: "\n\n \n \ \ \n \n" Missing search term: summary: Missing search term 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: 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: