openapi: 3.0.2 info: title: MarineTraffic Voyage Information API version: 1.0.0 description: Voyage forecasts, predictive destination areas, and vessel ETA to port — combining live AIS positions with machine-learning–driven predictive intelligence. contact: name: MarineTraffic url: https://www.marinetraffic.com/ servers: - url: https://services.marinetraffic.com/api tags: - name: Voyage Information paths: '/voyageforecast/{api_key} ': get: tags: - Voyage Information summary: Single Vessel Voyage Forecast description: "Get voyage information for a single vessel.

Notes " operationId: voyageforecast_ parameters: - $ref: '#/components/parameters/api_key' - $ref: '#/components/parameters/v_VI01' - $ref: '#/components/parameters/mmsi_VI01' - $ref: '#/components/parameters/imo_VI01' - $ref: '#/components/parameters/shipid_VI01' - $ref: '#/components/parameters/msgtype_VI01' - $ref: '#/components/parameters/protocol_new' responses: '200': description: Successful Response content: application/json: schema: oneOf: - $ref: '#/components/schemas/200_vi01_default' - $ref: '#/components/schemas/200_vi01_extended' application/xml: schema: oneOf: - $ref: '#/components/schemas/200_vi01_default' - $ref: '#/components/schemas/200_vi01_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_vi01_missing_or_invalid_ship_identifier' application/xml: schema: $ref: '#/components/schemas/400_vi01_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" /voyageforecast/{api_key}: get: tags: - Voyage Information summary: Fleet Voyage Forecast description: "Get voyage information for one for your MarineTraffic Fleets.

Notes " operationId: voyageforecast parameters: - $ref: '#/components/parameters/api_key' - $ref: '#/components/parameters/v_VI01' - $ref: '#/components/parameters/fleet_id_VI01' - $ref: '#/components/parameters/msgtype_VI01' - $ref: '#/components/parameters/protocol_new' responses: '200': description: Successful Response content: application/json: schema: oneOf: - $ref: '#/components/schemas/200_vi01_default' - $ref: '#/components/schemas/200_vi01_extended' application/xml: schema: oneOf: - $ref: '#/components/schemas/200_vi01_default' - $ref: '#/components/schemas/200_vi01_extended' examples: Default: summary: Simple value: "\n\n \n" Extended: summary: Extended value: "\n\n \n" '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/404_vi01_invalid_fleet_identifier' application/xml: schema: $ref: '#/components/schemas/404_vi01_invalid_fleet_identifier' examples: Invalid fleet identifier: summary: Invalid fleet 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" /predictive-destination-areas/{api_key}: get: tags: - Voyage Information summary: Single Vessel Predictive Destinations description: "Receive a prediction of the likely destination of a single vessel.

Notes " operationId: predictive-destination-areas parameters: - $ref: '#/components/parameters/api_key' - $ref: '#/components/parameters/mmsi_VI04' - $ref: '#/components/parameters/imo_VI04' - $ref: '#/components/parameters/shipid_VI04' - $ref: '#/components/parameters/fromportid_VI04' - $ref: '#/components/parameters/protocol' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/200_vi04_default' application/xml: schema: $ref: '#/components/schemas/200_vi04_default' examples: Default: summary: Simple value: "\n\n \ \ \n\ " '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/400_vi04_missing_or_invalid_ship_identifier' application/xml: schema: $ref: '#/components/schemas/400_vi04_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" '/predictive-destination-areas/{api_key} ': get: tags: - Voyage Information summary: Fleet Predictive Destinations description: "Receive a prediction of the likely destination for one of your MarineTraffic fleets.

Notes\ \ " operationId: predictive-destination-areas_ parameters: - $ref: '#/components/parameters/api_key' - $ref: '#/components/parameters/fleet_id_VI04' - $ref: '#/components/parameters/fromportid_VI04' - $ref: '#/components/parameters/protocol' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/200_vi04_default' application/xml: schema: $ref: '#/components/schemas/200_vi04_default' examples: Default: summary: Simple value: "\n\n \ \ \n\ " '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/400_vi04_invalid_fleet_identifier' application/xml: schema: $ref: '#/components/schemas/400_vi04_invalid_fleet_identifier' examples: Invalid fleet identifier: summary: Invalid fleet 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" /etatoport/{api_key}: get: tags: - Voyage Information summary: Vessel ETA to Port description: "Get ETA and voyage information for a vessel of your choice, to any port you define.

Notes\ \ " operationId: etatoport parameters: - $ref: '#/components/parameters/api_key' - $ref: '#/components/parameters/v_VI07' - $ref: '#/components/parameters/portid_VI07' - $ref: '#/components/parameters/unlocode_VI07' - $ref: '#/components/parameters/mmsi_VI07' - $ref: '#/components/parameters/imo_VI07' - $ref: '#/components/parameters/shipid_VI07' - $ref: '#/components/parameters/speed_calc_VI07' - $ref: '#/components/parameters/msgtype_VI07' - $ref: '#/components/parameters/protocol' responses: '200': description: Successful Response content: application/json: schema: oneOf: - $ref: '#/components/schemas/200_vi07_default' - $ref: '#/components/schemas/200_vi07_extended' application/xml: schema: oneOf: - $ref: '#/components/schemas/200_vi07_default' - $ref: '#/components/schemas/200_vi07_extended' examples: Default: summary: Simple value: "\n\n \n" Extended: summary: Extended value: "\n\n \n" '400': description: Bad Request content: application/json: schema: oneOf: - $ref: '#/components/schemas/400_vi07_missing_or_invalid_port_identifier' - $ref: '#/components/schemas/400_vi07_missing_or_invalid_ship_identifier' application/xml: schema: oneOf: - $ref: '#/components/schemas/400_vi07_missing_or_invalid_port_identifier' - $ref: '#/components/schemas/400_vi07_missing_or_invalid_ship_identifier' examples: Missing or invalid port identifier: summary: Missing or invalid port identifier value: "\n\n \n \ \ \n \n" 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: 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: