MarineTraffic Vessel Positions (Legacy API) API

The Vessel Positions (Legacy API) API from MarineTraffic — 7 operation(s) for vessel positions (legacy api).

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

marine-traffic-vessel-positions-legacy-api-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: MarineTraffic Events AIS API Vessel Positions (Legacy API) 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 Positions (Legacy API)
paths:
  /exportvessels/{api_key}:
    get:
      tags:
      - Vessel Positions (Legacy API)
      summary: Vessel Positions of a Static Fleet
      description: "Keep a close eye on the vessel or group of vessels of your interest. </br></br> <b>Notes</b> <ul>\n    <li>Information about <a href=\"https://support.marinetraffic.com/en/articles/9552860-what-kind-of-information-is-ais-transmitted\">AIS-transmitted data</a></li>\n    <li>**SPEED** returned in (knots x10) and **TIMESTAMP** in UTC</li>\n    <li>**HEADING** for SAR Aircrafts contains the Altitude of the aircraft (“STATUS” = 97)</li>\n    <li>**HEADING** values -1 or 511 indicate lack of data</li>\n    <li>**SPEED** and **COURSE** values for base stations are represented by zero (0)</li>\n    <li>More information about response parameters: <a href=\"https://support.marinetraffic.com/en/articles/9552866-what-is-the-significance-of-the-ais-shiptype-number\">STATUS</a>, <a href=\"https://support.marinetraffic.com/en/articles/9552866-what-is-the-significance-of-the-ais-shiptype-number\">SHIPTYPE</a></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: exportvessels
      parameters:
      - $ref: '#/components/parameters/api_key'
      - $ref: '#/components/parameters/v_PS02'
      - $ref: '#/components/parameters/timespan_PS02'
      - $ref: '#/components/parameters/shiptype_PS02'
      - $ref: '#/components/parameters/msgtype_PS02'
      - $ref: '#/components/parameters/protocol'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/200_ps02_default'
                - $ref: '#/components/schemas/200_ps02_extended'
                - $ref: '#/components/schemas/200_ps02_full'
            application/xml:
              schema:
                oneOf:
                - $ref: '#/components/schemas/200_ps02_default'
                - $ref: '#/components/schemas/200_ps02_extended'
                - $ref: '#/components/schemas/200_ps02_full'
              examples:
                Default:
                  summary: Simple
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<POS>\n    <row MMSI=\"240389000\" IMO=\"9208679\" SHIP_ID=\"212537\" LAT=\"37.512420\" LON=\"24.913050\" SPEED=\"229\" HEADING=\"294\" COURSE=\"295\" STATUS=\"0\" TIMESTAMP=\"2020-10-13T07:49:57\" DSRC=\"TER\" UTC_SECONDS=\"55\"/>\n    <row MMSI=\"310627000\" IMO=\"9241061\" SHIP_ID=\"371681\" LAT=\"50.510430\" LON=\"-3.453147\" SPEED=\"4\" HEADING=\"276\" COURSE=\"236\" STATUS=\"1\" TIMESTAMP=\"2020-10-13T07:48:16\" DSRC=\"TER\" UTC_SECONDS=\"16\"/>\n</POS>"
                Extended:
                  summary: Extended
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<POS>\n    <row MMSI=\"240389000\" IMO=\"9208679\" SHIP_ID=\"212537\" LAT=\"37.659450\" LON=\"26.497440\" SPEED=\"222\" HEADING=\"205\" COURSE=\"208\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T11:47:03\" DSRC=\"TER\" UTC_SECONDS=\"0\" SHIPNAME=\"BLUE STAR MYCONOS\" SHIPTYPE=\"60\" CALLSIGN=\"SYJZ\" FLAG=\"GR\" LENGTH=\"141\" WIDTH=\"21\" GRT=\"8129\" DWT=\"2651\" DRAUGHT=\"52\" YEAR_BUILT=\"2005\" ROT=\"0\" TYPE_NAME=\"Ro-Ro/Passenger Ship\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"S-T-M-E-K-V\" ETA=\"2020-10-15T11:35:00\"/>\n    <row MMSI=\"310627000\" IMO=\"9241061\" SHIP_ID=\"371681\" LAT=\"50.495310\" LON=\"-3.182992\" SPEED=\"111\" HEADING=\"280\" COURSE=\"274\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T11:47:17\" DSRC=\"TER\" UTC_SECONDS=\"16\" SHIPNAME=\"QUEEN MARY 2\" SHIPTYPE=\"60\" CALLSIGN=\"ZCEF6\" FLAG=\"BM\" LENGTH=\"345.03\" WIDTH=\"48.7\" GRT=\"149215\" DWT=\"19189\" DRAUGHT=\"101\" YEAR_BUILT=\"2003\" ROT=\"0\" TYPE_NAME=\"Passenger Ship\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"TORQUAY\" ETA=\"2020-10-14T13:00:00\"/>\n</POS>"
                Full:
                  summary: Full
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<POS>\n    <row MMSI=\"240389000\" IMO=\"9208679\" SHIP_ID=\"212537\" LAT=\"37.646880\" LON=\"26.488940\" SPEED=\"223\" HEADING=\"205\" COURSE=\"208\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T11:49:22\" DSRC=\"TER\" UTC_SECONDS=\"18\" SHIPNAME=\"BLUE STAR MYCONOS\" SHIPTYPE=\"60\" CALLSIGN=\"SYJZ\" FLAG=\"GR\" LENGTH=\"141\" WIDTH=\"21\" GRT=\"8129\" DWT=\"2651\" DRAUGHT=\"52\" YEAR_BUILT=\"2005\" ROT=\"0\" TYPE_NAME=\"Ro-Ro/Passenger Ship\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"S-T-M-E-K-V\" ETA=\"2020-10-15T11:35:00\" CURRENT_PORT=\"\" LAST_PORT=\"KARLOVASI\" LAST_PORT_TIME=\"2020-10-15T11:14:00\" CURRENT_PORT_ID=\"\" CURRENT_PORT_UNLOCODE=\"\" CURRENT_PORT_COUNTRY=\"\" LAST_PORT_ID=\"44\" LAST_PORT_UNLOCODE=\"GRKAR\" LAST_PORT_COUNTRY=\"GR\" NEXT_PORT_ID=\"17305\" NEXT_PORT_UNLOCODE=\"\" NEXT_PORT_NAME=\"FOURNI\" NEXT_PORT_COUNTRY=\"GR\" ETA_CALC=\"2020-10-15T12:04:00\" ETA_UPDATED=\"2020-10-15T11:42:00\" DISTANCE_TO_GO=\"7\" DISTANCE_TRAVELLED=\"11\" AVG_SPEED=\"22.6\" MAX_SPEED=\"23.1\"/>\n    <row MMSI=\"310627000\" IMO=\"9241061\" SHIP_ID=\"371681\" LAT=\"50.495970\" LON=\"-3.195012\" SPEED=\"110\" HEADING=\"280\" COURSE=\"275\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T11:49:48\" DSRC=\"TER\" UTC_SECONDS=\"47\" SHIPNAME=\"QUEEN MARY 2\" SHIPTYPE=\"60\" CALLSIGN=\"ZCEF6\" FLAG=\"BM\" LENGTH=\"345.03\" WIDTH=\"48.7\" GRT=\"149215\" DWT=\"19189\" DRAUGHT=\"101\" YEAR_BUILT=\"2003\" ROT=\"0\" TYPE_NAME=\"Passenger Ship\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"TORQUAY\" ETA=\"2020-10-14T13:00:00\" CURRENT_PORT=\"\" LAST_PORT=\"SOUTHAMPTON\" LAST_PORT_TIME=\"2020-10-14T17:00:00\" CURRENT_PORT_ID=\"\" CURRENT_PORT_UNLOCODE=\"\" CURRENT_PORT_COUNTRY=\"\" LAST_PORT_ID=\"106\" LAST_PORT_UNLOCODE=\"GBSOU\" LAST_PORT_COUNTRY=\"GB\" NEXT_PORT_ID=\"10379\" NEXT_PORT_UNLOCODE=\"GBTOR\" NEXT_PORT_NAME=\"TORQUAY\" NEXT_PORT_COUNTRY=\"GB\" ETA_CALC=\"2020-10-15T13:10:00\" ETA_UPDATED=\"2020-10-15T10:48:00\" DISTANCE_TO_GO=\"17\" DISTANCE_TRAVELLED=\"190\" AVG_SPEED=\"10.6\" MAX_SPEED=\"15.4\"/>\n</POS>"
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/403_ps02_infinite_timespan'
            application/xml:
              schema:
                $ref: '#/components/schemas/403_ps02_infinite_timespan'
              examples:
                Infinite timespan:
                  summary: Infinite timespan
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<RESPONSE>\n    <STATUS>\n        <ERROR CODE=\"1d\" DESCRIPTION=\"TIME-UNLIMITED POLLING NOT ALLOWED\"/>\n    </STATUS>\n</RESPONSE>"
  '/exportvessels/{api_key} ':
    get:
      tags:
      - Vessel Positions (Legacy API)
      summary: Vessel Positions of a Dynamic Fleet
      description: "Monitor vessel activity for your MarineTraffic fleet(s). </br></br> <b>Notes</b> <ul>\n    <li>Information about <a href=\"https://support.marinetraffic.com/en/articles/9552860-what-kind-of-information-is-ais-transmitted\">AIS-transmitted data</a></li>\n    <li>**SPEED** returned in (knots x10) and **TIMESTAMP** in UTC</li>\n    <li>**HEADING** for SAR Aircrafts contains the Altitude of the aircraft (“STATUS” = 97)</li>\n    <li>**HEADING** values -1 or 511 indicate lack of data</li>\n    <li>**SPEED** and **COURSE** values for base stations are represented by zero (0)</li>\n    <li>More information about response parameters: <a href=\"https://support.marinetraffic.com/en/articles/9552867-what-is-the-significance-of-the-ais-navigational-status-values\">STATUS</a>, <a href=\"https://support.marinetraffic.com/en/articles/9552866-what-is-the-significance-of-the-ais-shiptype-number\">SHIPTYPE</a></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: exportvessels__
      parameters:
      - $ref: '#/components/parameters/api_key'
      - $ref: '#/components/parameters/v_PS03'
      - $ref: '#/components/parameters/timespan_PS03'
      - $ref: '#/components/parameters/shiptype_PS03'
      - $ref: '#/components/parameters/msgtype_PS03'
      - $ref: '#/components/parameters/protocol'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/200_ps03_default'
                - $ref: '#/components/schemas/200_ps03_extended'
                - $ref: '#/components/schemas/200_ps03_full'
            application/xml:
              schema:
                oneOf:
                - $ref: '#/components/schemas/200_ps03_default'
                - $ref: '#/components/schemas/200_ps03_extended'
                - $ref: '#/components/schemas/200_ps03_full'
              examples:
                Default:
                  summary: Simple
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<POS>\n    <row MMSI=\"240389000\" IMO=\"9208679\" SHIP_ID=\"212537\" LAT=\"37.515440\" LON=\"24.904090\" SPEED=\"229\" HEADING=\"290\" COURSE=\"292\" STATUS=\"0\" TIMESTAMP=\"2020-10-13T07:51:09\" DSRC=\"TER\" UTC_SECONDS=\"7\"/>\n    <row MMSI=\"241159000\" IMO=\"9565041\" SHIP_ID=\"214617\" LAT=\"37.941010\" LON=\"23.624440\" SPEED=\"1\" HEADING=\"154\" COURSE=\"154\" STATUS=\"0\" TIMESTAMP=\"2020-10-13T07:46:32\" DSRC=\"TER\" UTC_SECONDS=\"30\"/>\n    <row MMSI=\"310627000\" IMO=\"9241061\" SHIP_ID=\"371681\" LAT=\"50.510350\" LON=\"-3.453522\" SPEED=\"1\" HEADING=\"285\" COURSE=\"245\" STATUS=\"1\" TIMESTAMP=\"2020-10-13T07:51:17\" DSRC=\"TER\" UTC_SECONDS=\"16\"/>\n</POS>"
                Extended:
                  summary: Extended
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<POS>\n    <row MMSI=\"240389000\" IMO=\"9208679\" SHIP_ID=\"212537\" LAT=\"37.659450\" LON=\"26.497440\" SPEED=\"222\" HEADING=\"205\" COURSE=\"208\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T11:47:03\" DSRC=\"TER\" UTC_SECONDS=\"0\" SHIPNAME=\"BLUE STAR MYCONOS\" SHIPTYPE=\"60\" CALLSIGN=\"SYJZ\" FLAG=\"GR\" LENGTH=\"141\" WIDTH=\"21\" GRT=\"8129\" DWT=\"2651\" DRAUGHT=\"52\" YEAR_BUILT=\"2005\" ROT=\"0\" TYPE_NAME=\"Ro-Ro/Passenger Ship\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"S-T-M-E-K-V\" ETA=\"2020-10-15T11:35:00\"/>\n    <row MMSI=\"310627000\" IMO=\"9241061\" SHIP_ID=\"371681\" LAT=\"50.495310\" LON=\"-3.182992\" SPEED=\"111\" HEADING=\"280\" COURSE=\"274\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T11:47:17\" DSRC=\"TER\" UTC_SECONDS=\"16\" SHIPNAME=\"QUEEN MARY 2\" SHIPTYPE=\"60\" CALLSIGN=\"ZCEF6\" FLAG=\"BM\" LENGTH=\"345.03\" WIDTH=\"48.7\" GRT=\"149215\" DWT=\"19189\" DRAUGHT=\"101\" YEAR_BUILT=\"2003\" ROT=\"0\" TYPE_NAME=\"Passenger Ship\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"TORQUAY\" ETA=\"2020-10-14T13:00:00\"/>\n</POS>"
                Full:
                  summary: Full
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<POS>\n    <row MMSI=\"240389000\" IMO=\"9208679\" SHIP_ID=\"212537\" LAT=\"37.646880\" LON=\"26.488940\" SPEED=\"223\" HEADING=\"205\" COURSE=\"208\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T11:49:22\" DSRC=\"TER\" UTC_SECONDS=\"18\" SHIPNAME=\"BLUE STAR MYCONOS\" SHIPTYPE=\"60\" CALLSIGN=\"SYJZ\" FLAG=\"GR\" LENGTH=\"141\" WIDTH=\"21\" GRT=\"8129\" DWT=\"2651\" DRAUGHT=\"52\" YEAR_BUILT=\"2005\" ROT=\"0\" TYPE_NAME=\"Ro-Ro/Passenger Ship\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"S-T-M-E-K-V\" ETA=\"2020-10-15T11:35:00\" CURRENT_PORT=\"\" LAST_PORT=\"KARLOVASI\" LAST_PORT_TIME=\"2020-10-15T11:14:00\" CURRENT_PORT_ID=\"\" CURRENT_PORT_UNLOCODE=\"\" CURRENT_PORT_COUNTRY=\"\" LAST_PORT_ID=\"44\" LAST_PORT_UNLOCODE=\"GRKAR\" LAST_PORT_COUNTRY=\"GR\" NEXT_PORT_ID=\"17305\" NEXT_PORT_UNLOCODE=\"\" NEXT_PORT_NAME=\"FOURNI\" NEXT_PORT_COUNTRY=\"GR\" ETA_CALC=\"2020-10-15T12:04:00\" ETA_UPDATED=\"2020-10-15T11:42:00\" DISTANCE_TO_GO=\"7\" DISTANCE_TRAVELLED=\"11\" AVG_SPEED=\"22.6\" MAX_SPEED=\"23.1\"/>\n    <row MMSI=\"310627000\" IMO=\"9241061\" SHIP_ID=\"371681\" LAT=\"50.495970\" LON=\"-3.195012\" SPEED=\"110\" HEADING=\"280\" COURSE=\"275\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T11:49:48\" DSRC=\"TER\" UTC_SECONDS=\"47\" SHIPNAME=\"QUEEN MARY 2\" SHIPTYPE=\"60\" CALLSIGN=\"ZCEF6\" FLAG=\"BM\" LENGTH=\"345.03\" WIDTH=\"48.7\" GRT=\"149215\" DWT=\"19189\" DRAUGHT=\"101\" YEAR_BUILT=\"2003\" ROT=\"0\" TYPE_NAME=\"Passenger Ship\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"TORQUAY\" ETA=\"2020-10-14T13:00:00\" CURRENT_PORT=\"\" LAST_PORT=\"SOUTHAMPTON\" LAST_PORT_TIME=\"2020-10-14T17:00:00\" CURRENT_PORT_ID=\"\" CURRENT_PORT_UNLOCODE=\"\" CURRENT_PORT_COUNTRY=\"\" LAST_PORT_ID=\"106\" LAST_PORT_UNLOCODE=\"GBSOU\" LAST_PORT_COUNTRY=\"GB\" NEXT_PORT_ID=\"10379\" NEXT_PORT_UNLOCODE=\"GBTOR\" NEXT_PORT_NAME=\"TORQUAY\" NEXT_PORT_COUNTRY=\"GB\" ETA_CALC=\"2020-10-15T13:10:00\" ETA_UPDATED=\"2020-10-15T10:48:00\" DISTANCE_TO_GO=\"17\" DISTANCE_TRAVELLED=\"190\" AVG_SPEED=\"10.6\" MAX_SPEED=\"15.4\"/>\n</POS>"
        '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>"
  '/exportvessels/{api_key}  ':
    get:
      tags:
      - Vessel Positions (Legacy API)
      summary: Vessel Positions Within a Port
      description: "Monitor vessel activity in one or more ports of your interest. </br></br> <b>Notes</b> <ul>\n    <li>Information about <a href=\"https://support.marinetraffic.com/en/articles/9552860-what-kind-of-information-is-ais-transmitted\">AIS-transmitted data</a></li>\n    <li>**SPEED** returned in (knots x10) and **TIMESTAMP** in UTC</li>\n    <li>**HEADING** for SAR Aircrafts contains the Altitude of the aircraft (“STATUS” = 97)</li>\n    <li>**HEADING** values -1 or 511 indicate lack of data</li>\n    <li>**SPEED** and **COURSE** values for base stations are represented by zero (0)</li>\n    <li>More information about response parameters: <a href=\"https://support.marinetraffic.com/en/articles/9552867-what-is-the-significance-of-the-ais-navigational-status-values\">STATUS</a>, <a href=\"https://support.marinetraffic.com/en/articles/9552866-what-is-the-significance-of-the-ais-shiptype-number\">SHIPTYPE</a></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: exportvessels___
      parameters:
      - $ref: '#/components/parameters/api_key'
      - $ref: '#/components/parameters/v_PS04'
      - $ref: '#/components/parameters/timespan_PS04'
      - $ref: '#/components/parameters/shiptype_PS04'
      - $ref: '#/components/parameters/msgtype_PS04'
      - $ref: '#/components/parameters/protocol'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/200_ps04_default'
                - $ref: '#/components/schemas/200_ps04_extended'
                - $ref: '#/components/schemas/200_ps04_full'
            application/xml:
              schema:
                oneOf:
                - $ref: '#/components/schemas/200_ps04_default'
                - $ref: '#/components/schemas/200_ps04_extended'
                - $ref: '#/components/schemas/200_ps04_full'
              examples:
                Default:
                  summary: Simple
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<POS>\n    <row MMSI=\"244830406\" IMO=\"0\" SHIP_ID=\"253535\" LAT=\"52.371040\" LON=\"4.888482\" SPEED=\"0\" HEADING=\"511\" COURSE=\"0\" STATUS=\"5\" TIMESTAMP=\"2020-10-13T07:49:59\" DSRC=\"TER\" UTC_SECONDS=\"59\"/>\n    <row MMSI=\"244780352\" IMO=\"0\" SHIP_ID=\"250936\" LAT=\"52.377110\" LON=\"4.900798\" SPEED=\"2\" HEADING=\"511\" COURSE=\"16\" STATUS=\"7\" TIMESTAMP=\"2020-10-13T07:49:59\" DSRC=\"TER\" UTC_SECONDS=\"59\"/>\n    <row MMSI=\"244184646\" IMO=\"0\" SHIP_ID=\"5791081\" LAT=\"52.386230\" LON=\"4.891230\" SPEED=\"0\" HEADING=\"511\" COURSE=\"0\" STATUS=\"5\" TIMESTAMP=\"2020-10-13T07:49:26\" DSRC=\"TER\" UTC_SECONDS=\"26\"/>\n    <row MMSI=\"244260499\" IMO=\"0\" SHIP_ID=\"227195\" LAT=\"52.375680\" LON=\"4.897190\" SPEED=\"0\" HEADING=\"511\" COURSE=\"0\" STATUS=\"15\" TIMESTAMP=\"2020-10-13T07:49:59\" DSRC=\"TER\" UTC_SECONDS=\"59\"/>\n    <row MMSI=\"244013483\" IMO=\"0\" SHIP_ID=\"5868662\" LAT=\"52.367170\" LON=\"4.895307\" SPEED=\"0\" HEADING=\"511\" COURSE=\"0\" STATUS=\"0\" TIMESTAMP=\"2020-10-13T07:49:55\" DSRC=\"TER\" UTC_SECONDS=\"55\"/>\n</POS>"
                Extended:
                  summary: Extended
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<POS>\n    <row MMSI=\"244750688\" IMO=\"0\" SHIP_ID=\"1496\" LAT=\"52.392240\" LON=\"4.886143\" SPEED=\"0\" HEADING=\"511\" COURSE=\"244\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T12:12:20\" DSRC=\"TER\" UTC_SECONDS=\"21\" SHIPNAME=\"IJVEER 52\" SHIPTYPE=\"60\" CALLSIGN=\"PH2792\" FLAG=\"NL\" LENGTH=\"28.6\" WIDTH=\"9\" GRT=\"\" DWT=\"\" DRAUGHT=\"24\" YEAR_BUILT=\"\" ROT=\"0\" TYPE_NAME=\"Inland, Ferry\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"\" ETA=\"\"/>\n    <row MMSI=\"244750690\" IMO=\"0\" SHIP_ID=\"1498\" LAT=\"52.400910\" LON=\"4.891057\" SPEED=\"0\" HEADING=\"511\" COURSE=\"7\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T12:12:31\" DSRC=\"TER\" UTC_SECONDS=\"22\" SHIPNAME=\"IJVEER 56\" SHIPTYPE=\"60\" CALLSIGN=\"PB7406\" FLAG=\"NL\" LENGTH=\"28.6\" WIDTH=\"9\" GRT=\"\" DWT=\"\" DRAUGHT=\"24\" YEAR_BUILT=\"\" ROT=\"0\" TYPE_NAME=\"Inland, Ferry\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"\" ETA=\"\"/>\n    <row MMSI=\"244750692\" IMO=\"0\" SHIP_ID=\"1500\" LAT=\"52.380720\" LON=\"4.905505\" SPEED=\"69\" HEADING=\"511\" COURSE=\"273\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T12:13:31\" DSRC=\"TER\" UTC_SECONDS=\"31\" SHIPNAME=\"IJVEER 55\" SHIPTYPE=\"60\" CALLSIGN=\"PB7405\" FLAG=\"NL\" LENGTH=\"28.6\" WIDTH=\"9\" GRT=\"\" DWT=\"\" DRAUGHT=\"24\" YEAR_BUILT=\"\" ROT=\"0\" TYPE_NAME=\"Inland, Ferry\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"HEEN EN TERUG\" ETA=\"\"/>\n    <row MMSI=\"229080000\" IMO=\"9583794\" SHIP_ID=\"1706\" LAT=\"52.395670\" LON=\"4.127333\" SPEED=\"34\" HEADING=\"141\" COURSE=\"135\" STATUS=\"3\" TIMESTAMP=\"2020-10-15T12:13:18\" DSRC=\"TER\" UTC_SECONDS=\"17\" SHIPNAME=\"BOLD TERN\" SHIPTYPE=\"80\" CALLSIGN=\"9HA3053\" FLAG=\"MT\" LENGTH=\"131.73\" WIDTH=\"39\" GRT=\"15328\" DWT=\"9033\" DRAUGHT=\"66\" YEAR_BUILT=\"2013\" ROT=\"0\" TYPE_NAME=\"Offshore Construction Jack Up\" AIS_TYPE_SUMMARY=\"Special Craft\" DESTINATION=\"LUCHTERDUINEN OWF\" ETA=\"2020-10-15T10:30:00\"/>\n    <row MMSI=\"355407000\" IMO=\"9165695\" SHIP_ID=\"2805\" LAT=\"37.877570\" LON=\"23.551210\" SPEED=\"1\" HEADING=\"164\" COURSE=\"289\" STATUS=\"1\" TIMESTAMP=\"2020-10-15T12:13:25\" DSRC=\"TER\" UTC_SECONDS=\"24\" SHIPNAME=\"SEXTA\" SHIPTYPE=\"70\" CALLSIGN=\"HOOK\" FLAG=\"PA\" LENGTH=\"144.75\" WIDTH=\"24\" GRT=\"11376\" DWT=\"18367\" DRAUGHT=\"50\" YEAR_BUILT=\"2000\" ROT=\"0\" TYPE_NAME=\"Bulk Carrier\" AIS_TYPE_SUMMARY=\"Cargo\" DESTINATION=\"PIRAEUS\" ETA=\"2020-08-19T20:00:00\"/>\n</POS>"
                Full:
                  summary: Full
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<POS>\n    <row MMSI=\"244740307\" IMO=\"0\" SHIP_ID=\"538\" LAT=\"52.392770\" LON=\"4.823317\" SPEED=\"0\" HEADING=\"511\" COURSE=\"306\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T12:14:45\" DSRC=\"TER\" UTC_SECONDS=\"45\" SHIPNAME=\"WABO\" SHIPTYPE=\"70\" CALLSIGN=\"PE6642\" FLAG=\"NL\" LENGTH=\"46\" WIDTH=\"6\" GRT=\"\" DWT=\"\" DRAUGHT=\"26\" YEAR_BUILT=\"\" ROT=\"0\" TYPE_NAME=\"Inland, Bunkership\" AIS_TYPE_SUMMARY=\"Tanker\" DESTINATION=\"AMSTERDAM\" ETA=\"2021-02-09T00:00:00\" CURRENT_PORT=\"AMSTERDAM\" LAST_PORT=\"ZAANDAM\" LAST_PORT_TIME=\"2020-08-09T10:27:00\" CURRENT_PORT_ID=\"1766\" CURRENT_PORT_UNLOCODE=\"NLAMS\" CURRENT_PORT_COUNTRY=\"NL\" LAST_PORT_ID=\"2141\" LAST_PORT_UNLOCODE=\"NLZAA\" LAST_PORT_COUNTRY=\"NL\" NEXT_PORT_ID=\"1766\" NEXT_PORT_UNLOCODE=\"NLAMS\" NEXT_PORT_NAME=\"AMSTERDAM\" NEXT_PORT_COUNTRY=\"NL\" ETA_CALC=\"\" ETA_UPDATED=\"\" DISTANCE_TO_GO=\"0\" DISTANCE_TRAVELLED=\"54\" AVG_SPEED=\"6.4\" MAX_SPEED=\"6.8\"/>\n    <row MMSI=\"229001000\" IMO=\"7827213\" SHIP_ID=\"1448\" LAT=\"37.938670\" LON=\"23.634450\" SPEED=\"0\" HEADING=\"511\" COURSE=\"320\" STATUS=\"5\" TIMESTAMP=\"2020-10-15T12:17:20\" DSRC=\"TER\" UTC_SECONDS=\"20\" SHIPNAME=\"CELESTYAL CRYSTAL\" SHIPTYPE=\"36\" CALLSIGN=\"9HA2978\" FLAG=\"MT\" LENGTH=\"162\" WIDTH=\"24\" GRT=\"25611\" DWT=\"1703\" DRAUGHT=\"61\" YEAR_BUILT=\"1980\" ROT=\"0\" TYPE_NAME=\"Passenger Ship\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"PIRAEUS\" ETA=\"2021-03-14T05:40:00\" CURRENT_PORT=\"PIRAEUS\" LAST_PORT=\"KUSADASI\" LAST_PORT_TIME=\"2020-03-13T17:38:00\" CURRENT_PORT_ID=\"1\" CURRENT_PORT_UNLOCODE=\"GRPIR\" CURRENT_PORT_COUNTRY=\"GR\" LAST_PORT_ID=\"17208\" LAST_PORT_UNLOCODE=\"TRKUS\" LAST_PORT_COUNTRY=\"TR\" NEXT_PORT_ID=\"1\" NEXT_PORT_UNLOCODE=\"GRPIR\" NEXT_PORT_NAME=\"PIRAEUS\" NEXT_PORT_COUNTRY=\"GR\" ETA_CALC=\"\" ETA_UPDATED=\"\" DISTANCE_TO_GO=\"0\" DISTANCE_TRAVELLED=\"194\" AVG_SPEED=\"14.6\" MAX_SPEED=\"16.7\"/>\n    <row MMSI=\"244750688\" IMO=\"0\" SHIP_ID=\"1496\" LAT=\"52.398150\" LON=\"4.889037\" SPEED=\"86\" HEADING=\"511\" COURSE=\"0\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T12:18:05\" DSRC=\"TER\" UTC_SECONDS=\"1\" SHIPNAME=\"IJVEER 52\" SHIPTYPE=\"60\" CALLSIGN=\"PH2792\" FLAG=\"NL\" LENGTH=\"28.6\" WIDTH=\"9\" GRT=\"\" DWT=\"\" DRAUGHT=\"24\" YEAR_BUILT=\"\" ROT=\"0\" TYPE_NAME=\"Inland, Ferry\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"\" ETA=\"\" CURRENT_PORT=\"AMSTERDAM\" LAST_PORT=\"AMSTERDAM\" LAST_PORT_TIME=\"2020-05-31T04:49:00\" CURRENT_PORT_ID=\"1766\" CURRENT_PORT_UNLOCODE=\"NLAMS\" CURRENT_PORT_COUNTRY=\"NL\" LAST_PORT_ID=\"1766\" LAST_PORT_UNLOCODE=\"NLAMS\" LAST_PORT_COUNTRY=\"NL\" NEXT_PORT_ID=\"1766\" NEXT_PORT_UNLOCODE=\"NLAMS\" NEXT_PORT_NAME=\"AMSTERDAM\" NEXT_PORT_COUNTRY=\"NL\" ETA_CALC=\"\" ETA_UPDATED=\"\" DISTANCE_TO_GO=\"0\" DISTANCE_TRAVELLED=\"7022\" AVG_SPEED=\"7.6\" MAX_SPEED=\"9.1\"/>\n    <row MMSI=\"244750690\" IMO=\"0\" SHIP_ID=\"1498\" LAT=\"52.396910\" LON=\"4.890042\" SPEED=\"89\" HEADING=\"511\" COURSE=\"170\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T12:17:31\" DSRC=\"TER\" UTC_SECONDS=\"32\" SHIPNAME=\"IJVEER 56\" SHIPTYPE=\"60\" CALLSIGN=\"PB7406\" FLAG=\"NL\" LENGTH=\"28.6\" WIDTH=\"9\" GRT=\"\" DWT=\"\" DRAUGHT=\"24\" YEAR_BUILT=\"\" ROT=\"0\" TYPE_NAME=\"Inland, Ferry\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"\" ETA=\"\" CURRENT_PORT=\"AMSTERDAM\" LAST_PORT=\"AMSTERDAM\" LAST_PORT_TIME=\"2020-07-20T08:32:00\" CURRENT_PORT_ID=\"1766\" CURRENT_PORT_UNLOCODE=\"NLAMS\" CURRENT_PORT_COUNTRY=\"NL\" LAST_PORT_ID=\"1766\" LAST_PORT_UNLOCODE=\"NLAMS\" LAST_PORT_COUNTRY=\"NL\" NEXT_PORT_ID=\"\" NEXT_PORT_UNLOCODE=\"\" NEXT_PORT_NAME=\"\" NEXT_PORT_COUNTRY=\"\" ETA_CALC=\"\" ETA_UPDATED=\"\" DISTANCE_TO_GO=\"0\" DISTANCE_TRAVELLED=\"4643\" AVG_SPEED=\"7.6\" MAX_SPEED=\"9.3\"/>\n    <row MMSI=\"244750692\" IMO=\"0\" SHIP_ID=\"1500\" LAT=\"52.379590\" LON=\"4.902380\" SPEED=\"0\" HEADING=\"511\" COURSE=\"161\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T12:16:50\" DSRC=\"TER\" UTC_SECONDS=\"50\" SHIPNAME=\"IJVEER 55\" SHIPTYPE=\"60\" CALLSIGN=\"PB7405\" FLAG=\"NL\" LENGTH=\"28.6\" WIDTH=\"9\" GRT=\"\" DWT=\"\" DRAUGHT=\"24\" YEAR_BUILT=\"\" ROT=\"0\" TYPE_NAME=\"Inland, Ferry\" AIS_TYPE_SUMMARY=\"Passenger\" DESTINATION=\"HEEN EN TERUG\" ETA=\"\" CURRENT_PORT=\"AMSTERDAM\" LAST_PORT=\"ZAANDAM\" LAST_PORT_TIME=\"2020-08-14T12:34:00\" CURRENT_PORT_ID=\"1766\" CURRENT_PORT_UNLOCODE=\"NLAMS\" CURRENT_PORT_COUNTRY=\"NL\" LAST_PORT_ID=\"2141\" LAST_PORT_UNLOCODE=\"NLZAA\" LAST_PORT_COUNTRY=\"NL\" NEXT_PORT_ID=\"\" NEXT_PORT_UNLOCODE=\"\" NEXT_PORT_NAME=\"\" NEXT_PORT_COUNTRY=\"\" ETA_CALC=\"\" ETA_UPDATED=\"\" DISTANCE_TO_GO=\"0\" DISTANCE_TRAVELLED=\"3397\" AVG_SPEED=\"6.6\" MAX_SPEED=\"9.1\"/>\n</POS>"
        '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>"
  '/exportvessels/{api_key}   ':
    get:
      tags:
      - Vessel Positions (Legacy API)
      summary: Vessel Positions in a Predefined Bounding Box
      description: "Monitor vessel activity in an area of your interest. </br></br> <b>Notes</b> <ul>\n    <li>Information about <a href=\"https://support.marinetraffic.com/en/articles/9552860-what-kind-of-information-is-ais-transmitted\">AIS-transmitted data</a></li>\n    <li>**SPEED** returned in (knots x10) and **TIMESTAMP** in UTC</li>\n    <li>**HEADING** for SAR Aircrafts contains the Altitude of the aircraft (“STATUS” = 97)</li>\n    <li>**HEADING** values -1 or 511 indicate lack of data</li>\n    <li>**SPEED** and **COURSE** values for base stations are represented by zero (0)</li>\n    <li>More information about response parameters: <a href=\"https://support.marinetraffic.com/en/articles/9552867-what-is-the-significance-of-the-ais-navigational-status-values\">STATUS</a>, <a href=\"https://support.marinetraffic.com/en/articles/9552866-what-is-the-significance-of-the-ais-shiptype-number\">SHIPTYPE</a></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: exportvessels____
      parameters:
      - $ref: '#/components/parameters/api_key'
      - $ref: '#/components/parameters/v_PS05'
      - $ref: '#/components/parameters/timespan_PS05'
      - $ref: '#/components/parameters/shiptype_PS05'
      - $ref: '#/components/parameters/msgtype_PS05'
      - $ref: '#/components/parameters/protocol'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/200_ps05_default'
                - $ref: '#/components/schemas/200_ps05_extended'
                - $ref: '#/components/schemas/200_ps05_full'
            application/xml:
              schema:
                oneOf:
                - $ref: '#/components/schemas/200_ps05_default'
                - $ref: '#/components/schemas/200_ps05_extended'
                - $ref: '#/components/schemas/200_ps05_full'
              examples:
                Default:
                  summary: Simple
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<POS>\n    <row MMSI=\"538003913\" IMO=\"9470959\" SHIP_ID=\"713139\" LAT=\"37.388430\" LON=\"23.871230\" SPEED=\"6\" HEADING=\"104\" COURSE=\"41\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T12:21:44\" DSRC=\"TER\" UTC_SECONDS=\"45\"/>\n    <row MMSI=\"239885200\" IMO=\"0\" SHIP_ID=\"3463456\" LAT=\"37.390210\" LON=\"24.396990\" SPEED=\"1\" HEADING=\"511\" COURSE=\"0\" STATUS=\"99\" TIMESTAMP=\"2020-10-15T12:21:29\" DSRC=\"TER\" UTC_SECONDS=\"29\"/>\n    <row MMSI=\"354520000\" IMO=\"9478573\" SHIP_ID=\"414629\" LAT=\"37.404170\" LON=\"24.025500\" SPEED=\"137\" HEADING=\"211\" COURSE=\"210\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T12:21:23\" DSRC=\"TER\" UTC_SECONDS=\"18\"/>\n    <row MMSI=\"205400630\" IMO=\"0\" SHIP_ID=\"6168837\" LAT=\"37.418280\" LON=\"24.595280\" SPEED=\"59\" HEADING=\"511\" COURSE=\"256\" STATUS=\"99\" TIMESTAMP=\"2020-10-15T12:21:30\" DSRC=\"TER\" UTC_SECONDS=\"30\"/>\n    <row MMSI=\"240250700\" IMO=\"0\" SHIP_ID=\"6308251\" LAT=\"37.431110\" LON=\"23.544720\" SPEED=\"56\" HEADING=\"511\" COURSE=\"25\" STATUS=\"99\" TIMESTAMP=\"2020-10-15T12:21:08\" DSRC=\"TER\" UTC_SECONDS=\"7\"/>\n</POS>"
                Extended:
                  summary: Extended
                  value: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n<POS>\n    <row MMSI=\"538003913\" IMO=\"9470959\" SHIP_ID=\"713139\" LAT=\"37.388430\" LON=\"23.871230\" SPEED=\"6\" HEADING=\"104\" COURSE=\"41\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T12:21:44\" DSRC=\"TER\" UTC_SECONDS=\"45\" SHIPNAME=\"SUNNY STAR\" SHIPTYPE=\"89\" CALLSIGN=\"V7TZ6\" FLAG=\"MH\" LENGTH=\"184\" WIDTH=\"27.43\" GRT=\"23313\" DWT=\"37857\" DRAUGHT=\"95\" YEAR_BUILT=\"2010\" ROT=\"0\" TYPE_NAME=\"Oil/Chemical Tanker\" AIS_TYPE_SUMMARY=\"Tanker\" DESTINATION=\"FOR ORDERS\" ETA=\"2020-10-14T12:00:00\"/>\n    <row MMSI=\"239885200\" IMO=\"0\" SHIP_ID=\"3463456\" LAT=\"37.390210\" LON=\"24.396990\" SPEED=\"1\" HEADING=\"511\" COURSE=\"0\" STATUS=\"99\" TIMESTAMP=\"2020-10-15T12:21:29\" DSRC=\"TER\" UTC_SECONDS=\"29\" SHIPNAME=\"ACHILLES\" SHIPTYPE=\"37\" CALLSIGN=\"SVA6160\" FLAG=\"GR\" LENGTH=\"15\" WIDTH=\"5\" GRT=\"\" DWT=\"\" DRAUGHT=\"0\" YEAR_BUILT=\"\" ROT=\"0\" TYPE_NAME=\"Pleasure Craft\" AIS_TYPE_SUMMARY=\"Pleasure Craft\" DESTINATION=\"CLASS B\" ETA=\"\"/>\n    <row MMSI=\"354520000\" IMO=\"9478573\" SHIP_ID=\"414629\" LAT=\"37.404170\" LON=\"24.025500\" SPEED=\"137\" HEADING=\"211\" COURSE=\"210\" STATUS=\"0\" TIMESTAMP=\"2020-10-15T12:21:23\" DSRC=\"TER\" UTC_SECONDS=\"18\" SHIPNAME=\"TTM PHOENIX\" SHIPTYPE=\"70\" CALLSIGN=\"3EUB2\" FLAG=\"PA\" LENGTH=\"190\" WIDTH=\"32.26\" GRT=\"31532\" DWT=\"55947\" DRAUGHT=\"121\" YEAR_BUILT=\"2010\" ROT=\"0\" TYPE_NAME=\"Bulk Carrier\" AIS_TYPE_SUMMARY=\"Cargo\" DESTINATION=\"MT MLA\" ETA=\"2020-10-17T02:30:00\"/>\n    <row MMSI=\"205400630\" IMO=\"0\" SHIP_ID=\"6168837\" LAT=\"37.418280\" LON=\"24.595280\" SPEED=\"59\" HEADING=\"511\" COURSE=\"256\" STATUS=\"99\" TIMESTAMP=\"2020-10-15T12:21:30\" DSRC=\"TER\" UTC_SECONDS=\"30\" SHIPNAME=\"QUATRAILE\" SHIPTYPE=\"36\" CALLSIGN=\"OP4006\" FLAG=\"BE\" LENGTH=\"14\" WIDTH=\"4\" GRT=\"\" DWT=\"\" DRAUGHT=\"0\" YEAR_BUILT=\"\" ROT=\"0\" TYPE_NAME=\"Sailing Vessel\" AIS_TYPE_SUMMARY=\"Sailing Vessel\" DESTINATION=\"CLASS B\" ETA=\"\"/>\n    <row MMSI=\"240250700\" IMO=\"0\" SHIP_ID=\"6308251\" LAT=\"37.431110\" LON=\"23.544720\" SPEED=\"56\" HEADING=\"511\" COURSE=\"25\" STATUS=\"99\" TIMESTAMP=\"2020-10-15T12:21:08\" DSRC=

# --- truncated at 32 KB (195 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/marine-traffic/refs/heads/main/openapi/marine-traffic-vessel-positions-legacy-api-api-openapi.yml