openapi: 3.0.2 info: title: MarineTraffic Events AIS API Ports 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: Ports Information paths: /expectedarrivals/{api_key}: get: tags: - Ports Information summary: Expected Port Arrivals description: "Get expected arrivals to a specific port.

Notes " operationId: expectedarrivals parameters: - $ref: '#/components/parameters/api_key' - $ref: '#/components/parameters/v_VI02' - $ref: '#/components/parameters/portid_VI02' - $ref: '#/components/parameters/timespan_VI02' - $ref: '#/components/parameters/days_last_signal_VI02' - $ref: '#/components/parameters/fromdate_VI02' - $ref: '#/components/parameters/todate_VI02' - $ref: '#/components/parameters/fromportid_VI02' - $ref: '#/components/parameters/shiptype_VI02' - $ref: '#/components/parameters/dwt_min_VI02' - $ref: '#/components/parameters/dwt_max_VI02' - $ref: '#/components/parameters/gt_min_VI02' - $ref: '#/components/parameters/gt_max_VI02' - $ref: '#/components/parameters/msgtype_VI02' - $ref: '#/components/parameters/protocol_new' responses: '200': description: Successful Response content: application/json: schema: oneOf: - $ref: '#/components/schemas/200_vi02_default' - $ref: '#/components/schemas/200_vi02_extended' application/xml: schema: oneOf: - $ref: '#/components/schemas/200_vi02_default' - $ref: '#/components/schemas/200_vi02_extended' examples: Default: summary: Simple value: "\n\n \n \n \n \n \n" Extended: summary: Extended value: "\n\n \n \n \n \n \n" '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/400_vi02_missing_or_invalid_port_identifier' application/xml: schema: $ref: '#/components/schemas/400_vi02_missing_or_invalid_port_identifier' examples: Missing or invalid port identifier: summary: Missing or invalid port 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" '/expectedarrivals/{api_key} ': get: tags: - Ports Information summary: Expected Country Arrivals description: "Get expected arrivals to a specific country.

Notes " operationId: expectedarrivals_ parameters: - $ref: '#/components/parameters/api_key' - $ref: '#/components/parameters/v_VI02' - $ref: '#/components/parameters/country_VI02' - $ref: '#/components/parameters/timespan_VI02' - $ref: '#/components/parameters/days_last_signal_VI02' - $ref: '#/components/parameters/fromdate_VI02' - $ref: '#/components/parameters/todate_VI02' - $ref: '#/components/parameters/fromportid_VI02' - $ref: '#/components/parameters/shiptype_VI02' - $ref: '#/components/parameters/dwt_min_VI02' - $ref: '#/components/parameters/dwt_max_VI02' - $ref: '#/components/parameters/gt_min_VI02' - $ref: '#/components/parameters/gt_max_VI02' - $ref: '#/components/parameters/msgtype_VI02' - $ref: '#/components/parameters/protocol_new' responses: '200': description: Successful Response content: application/json: schema: oneOf: - $ref: '#/components/schemas/200_vi02_default' - $ref: '#/components/schemas/200_vi02_extended' application/xml: schema: oneOf: - $ref: '#/components/schemas/200_vi02_default' - $ref: '#/components/schemas/200_vi02_extended' examples: Default: summary: Simple value: "\n\n \n \n \n \n \n" Extended: summary: Extended value: "\n\n \n \n \n \n \n" '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/400_vi02_missing_or_invalid_port_identifier' application/xml: schema: $ref: '#/components/schemas/400_vi02_missing_or_invalid_port_identifier' examples: Missing or invalid port identifier: summary: Missing or invalid port 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-arrivals/{api_key}: get: tags: - Ports Information summary: Predictive Port Arrivals description: "Receive a prediction of the vessels likely to arrive to a specific port.

Notes " operationId: predictive-arrivals parameters: - $ref: '#/components/parameters/api_key' - $ref: '#/components/parameters/portid_VI05' - $ref: '#/components/parameters/market_VI05' - $ref: '#/components/parameters/shipclass_VI05' - $ref: '#/components/parameters/probability_VI05' - $ref: '#/components/parameters/protocol' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/200_vi05_default' application/xml: schema: $ref: '#/components/schemas/200_vi05_default' examples: Default: summary: Simple value: "\n\n \n \n \n \n \n" '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/400_vi05_missing_or_invalid_port_identifier' application/xml: schema: $ref: '#/components/schemas/400_vi05_missing_or_invalid_port_identifier' examples: Missing or invalid port identifier: summary: Missing or invalid port 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" /port-congestion/{api_key}: get: tags: - Ports Information summary: Port Congestion description: "Receive the Port Congestion for a specific period of time.

Notes " operationId: port-congestion parameters: - $ref: '#/components/parameters/api_key' - $ref: '#/components/parameters/portid_VI06' - $ref: '#/components/parameters/year_VI06' - $ref: '#/components/parameters/week_VI06' - $ref: '#/components/parameters/market_VI06' - $ref: '#/components/parameters/shipclass_VI06' - $ref: '#/components/parameters/agg_port_VI06' - $ref: '#/components/parameters/agg_market_VI06' - $ref: '#/components/parameters/agg_shipclass_VI06' - $ref: '#/components/parameters/time_anch_VI06' - $ref: '#/components/parameters/time_port_VI06' - $ref: '#/components/parameters/vessels_VI06' - $ref: '#/components/parameters/calls_VI06' - $ref: '#/components/parameters/time_anch_stdev_VI06' - $ref: '#/components/parameters/time_anch_diff_VI06' - $ref: '#/components/parameters/time_anch_diff_perc_VI06' - $ref: '#/components/parameters/time_port_stdev_VI06' - $ref: '#/components/parameters/time_port_diff_VI06' - $ref: '#/components/parameters/time_port_diff_perc_VI06' - $ref: '#/components/parameters/protocol' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/200_vi06_default' application/xml: schema: $ref: '#/components/schemas/200_vi06_default' examples: Default: summary: Simple value: "\n\n \n" '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/400_vi06_mandatory_field_missing' application/xml: schema: $ref: '#/components/schemas/400_vi06_mandatory_field_missing' examples: Mandatory field missing: summary: Mandatory field missing 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: gt_min_VI02: name: gt_min in: query description: 'Data filter: minimum GT

Applicable to IMO-having vessels. If used, then you should also define the gt_max parameter' required: false schema: type: integer market_VI05: name: market in: query description: "Define market for which you would like to receive probable visits - more " required: false schema: type: integer shipclass_VI05: name: shipclass in: query description: Define ship class of interest - more required: false schema: type: integer week_VI06: name: week in: query description: Week of Year that is of interest (e.g. for week 18/2018 input 18). For range of weeks use comma e.g. for weeks 30 to 35 (30,35) required: true schema: type: integer time_anch_VI06: name: time_anch in: query description: 'The median number of days spent at anchorage by the selected market/shipclass. Values indicate in between set to be returned

Comma separated float numbers (one decimal)

Available only if extended version of the API is used' required: false schema: type: string shiptype_VI02: name: shiptype in: query description: "Filter data by vessel type: