MarineTraffic website screenshot

MarineTraffic

MarineTraffic is the leading maritime intelligence and AIS ship-tracking platform — now part of Kpler. The MarineTraffic AIS Data API exposes the same live + historical vessel positions, port calls, berth calls, vessel master data, voyage forecasts, predictive arrivals, port-congestion analytics, sea-lane routing, reverse geocoding, and fleet management endpoints that power the public marinetraffic.com map and the Kpler maritime data services. Data is sourced from 13,000+ terrestrial AIS receivers plus satellite AIS, served as REST/JSON (with CSV / XML / JSONO alternatives), authenticated via a per-key prepaid credit balance, and metered in credits per response row with per-service refresh-interval caching.

8 APIs 20 Features
AISMaritimeVessel TrackingShippingPortsVoyage ForecastingGeospatialKpler

APIs

MarineTraffic Vessel Positions API

Real-time and historical AIS vessel positions sourced from 13,000+ terrestrial AIS receivers and satellite AIS feeds. Query by single vessel (MMSI / IMO / SHIP_ID), by fleet, by...

MarineTraffic Events API

Port calls, berth calls, and event timelines — surfaces every arrival, departure, and berth touch detected by the MarineTraffic AIS network. Scope by vessel (`/portcalls`, `/ves...

MarineTraffic Vessels Data API

Vessel master data (`/vesselmasterdata`), vessel photographs (`/exportvesselphoto`), and the ship-database search surface (`/shipsearch` by identifier or by name). Returns the f...

MarineTraffic Voyage Information API

Machine-learning–powered voyage intelligence: voyage forecast (`/voyageforecast`), predictive destination areas (`/predictive-destination-areas`), and ETA-to-port (`/etatoport`)...

MarineTraffic Ports Information API

Port-centric analytics: expected port arrivals (`/expectedarrivals`), predictive arrivals using MarineTraffic's destination model (`/predictive-arrivals`), and port-congestion i...

MarineTraffic Routing Information API

Maritime route generation and distance calculation across global sea lanes via `/exportroutes`. Compute the great-circle or sea-lane-aware route from a vessel's current position...

MarineTraffic Reverse Geocoding API

Maritime-aware reverse geocoding (`/reversegeocode`) — resolves a single coordinate pair to the nearest port, anchorage, terminal, berth, or standard / custom area within a conf...

MarineTraffic Power User API

Power-user administration surface: fleet CRUD (`/setfleet`, `/getfleet`, `/getfleets`, `/clearfleet`), API credit-balance inspection (`/exportcredits` — free), and passage-plan ...

Collections

Pricing Plans

Rate Limits

Marine Traffic Rate Limits

0 limits

RATE LIMITS

FinOps

Features

AIS vessel positions (live + delayed)

Vessel positions sourced from 13,000+ terrestrial AIS receivers and satellite AIS, accessible by single vessel, fleet, area of interest, port, or bounding box. Default delay 1 hour; real-time access via enterprise contract.

Vessel historical track

Replay a vessel's AIS track over a defined date / day window.

Port calls and berth calls

Provider-detected arrival, departure, and berth-touch events per vessel and per port, with voyage duration and time-in-port.

Vessel master data

Static AIS plus MarineTraffic-enriched fields — owner, manager, builder, class, build year, dimensions, deadweight, gross tonnage.

Vessel photographs

Ship-photo retrieval via VD01.

Vessel search

Search the ship database by identifier (IMO / MMSI / SHIP_ID / call sign) or by name.

Voyage forecasts

Predictive destination, ETA, and route distance for a single vessel or a whole fleet (VI01).

Predictive destination areas

Probability-ranked candidate destination ports for a vessel or fleet (VI04).

ETA to port

Predictive ETA to a specific destination port (VI07).

Expected and predictive port arrivals

Per-port arrival forecasts (VI02 / VI05) filtered by market, ship class, draught, and time window.

Port congestion analytics

Anchorage time, in-port time, vessel and call counts per port / market / ship-class / ISO week (VI06).

Maritime routing

Sea-lane-aware route + distance computation between origin and destination (VI03).

Reverse geocoding

Coordinate-to-maritime-location resolution (port, anchorage, berth, terminal, custom area) (GI01).

Fleet management

CRUD on power-user fleets — set, get, list, clear (PU01–PU05).

Account credit balance

Live balance inspection via /exportcredits (free).

Passage plan import

POST /import-passage-plan to ingest voyage plans for power-user fleets.

Multiple response protocols

Per-call response format — json (default), jsono, xml, csv — via the protocol query parameter.

13,000+ terrestrial AIS receivers + satellite AIS

Hybrid global coverage operated by Kpler / MarineTraffic.

Live NMEA streams (enterprise)

Direct NMEA AIS streams available as an enterprise data product alongside the REST API.

Cloud database / bulk delivery (enterprise)

Hosted cloud-database access and bulk CSV deliveries for high-volume customers.

Use Cases

Commodity trading and freight intelligence

Power voyage analytics, tonnage tracking, and supply forecasting for commodity desks.

Port operations and logistics

Anticipate berth demand, optimize pilotage and tug allocation, and reduce dwell.

Vessel tracking dashboards

Build fleet dashboards and customer-facing tracking pages using PS04 + VI07.

Compliance and sanctions monitoring

Detect dark fleet behavior, AIS gaps, port-call patterns, and sanctioned vessel touches.

Marine insurance underwriting

Underwrite hull / P&I and route insurance with verified call histories and port-congestion data.

Government and coast guard situational awareness

Feed maritime domain awareness systems with AIS, port-call, and routing context.

Carbon and ESG reporting

Compute voyage-level CO2 estimates by combining VI03 routing + VD02 master data + AIS speed.

Integrations

Kpler

MarineTraffic is part of the Kpler maritime intelligence platform; AIS APIs sit alongside Kpler trade flow data.

Postman / API clients

Standard REST + JSON; works directly in Postman, Insomnia, or any HTTP client.

GIS / mapping

Output is lat/lon-tagged — integrates with QGIS, Mapbox, Leaflet, and Esri.

NMEA-compatible bridge systems

Enterprise NMEA streams integrate with ECDIS, fleet-management software, and bridge electronics.

AIS density-map toolbox

MarineTraffic publishes mt-ais-toolbox on GitHub for density-map generation from AIS data.

Solutions

Self-serve REST API

Public REST APIs metered against a prepaid credit balance — what this catalog covers.

NMEA live AIS streams

Raw NMEA AIS for bridge-side and processing-pipeline customers (enterprise).

Cloud database access

Hosted MarineTraffic database for SQL / analytics workloads (enterprise).

Custom data extracts

Bespoke CSV / JSON delivery against custom queries (enterprise).

Semantic Vocabularies

Marine Traffic Context

0 classes · 7 properties

JSON-LD

API Governance Rules

MarineTraffic API Rules

7 rules · 2 errors 4 warnings 1 info

SPECTRAL

Example Payloads

Resources

🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
APIReference
APIReference
🌐
Portal
Portal
💬
Support
Support
💻
ErrorCodes
ErrorCodes
🔗
Documentation
Documentation
💬
Support
Support
🔗
Sandbox
Sandbox
👥
GitHubOrganization
GitHubOrganization
🔧
Tools
Tools
🔗
LinkedIn
LinkedIn
🔗
Twitter
Twitter
🔗
OpenAPI
OpenAPI
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
JSONLD
JSONLD
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: MarineTraffic AIS Data API
  version: 1.0.0
items:
- info:
    name: Vessel Historical Track
    type: folder
  items:
  - info:
      name: Single Vessel Historical Positions
      type: http
    http:
      method: GET
      url: https://services.marinetraffic.com/api/exportvesseltrack/:api_key
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Version of the service to be executed. Use version 3 to get the latest
      - name: shipid
        value: ''
        type: query
        description: A uniquely assigned ID by MarineTraffic for the subject vessel </br></br> You can <b>instead</b> use
          imo or mmsi
      - name: mmsi
        value: ''
        type: query
        description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track
      - name: imo
        value: ''
        type: query
        description: The International Maritime Organization (IMO) number of the vessel you wish to track
      - name: days
        value: ''
        type: 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)
      - name: fromdate
        value: ''
        type: query
        description: Use with todate <b>instead</b> of days to get data for a date period
      - name: todate
        value: ''
        type: query
        description: Use with fromdate <b>instead</b> of days to get data for a date period
      - name: period
        value: ''
        type: 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>"
      - name: msgtype
        value: ''
        type: 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"
      - name: protocol
        value: ''
        type: 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>"
    docs: "Get all historical positions of a single vessel for a specific period of time. </br></br> <b>Notes</b> <ul>\n \
      \   <li>Default resolution for returned positions is up to 2 minutes. Use \"period\" parameter to limit the frequency\
      \ of positions</li>\n    <li>Weather data is returned once within each hour's results</li>\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** speed "
  - info:
      name: Vessel Historical Positions in an Area
      type: http
    http:
      method: GET
      url: 'https://services.marinetraffic.com/api/exportvesseltrack/:api_key '
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Version of the service to be executed. Use version 3 to get the latest
      - name: days
        value: ''
        type: 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)
      - name: fromdate
        value: ''
        type: query
        description: Use with todate <b>instead</b> of days to get data for a date period
      - name: todate
        value: ''
        type: query
        description: Use with fromdate <b>instead</b> of days to get data for a date period
      - name: MINLAT
        value: ''
        type: 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
      - name: MAXLAT
        value: ''
        type: 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
      - name: MINLON
        value: ''
        type: 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
      - name: MAXLON
        value: ''
        type: 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
      - name: shipid
        value: ''
        type: query
        description: A uniquely assigned ID by MarineTraffic for the subject vessel </br></br> You can <b>instead</b> use
          imo or mmsi
      - name: mmsi
        value: ''
        type: query
        description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track
      - name: imo
        value: ''
        type: query
        description: The International Maritime Organization (IMO) number of the vessel you wish to track
      - name: period
        value: ''
        type: 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>"
      - name: msgtype
        value: ''
        type: 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"
      - name: protocol
        value: ''
        type: 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>"
    docs: "Get vessel historical positions for a single or for all vessels inside an area of your preference for a specific\
      \ period of time.\n    </br></br>\n<b>Notes</b> <ul>\n    <li>Default resolution for returned positions is up to 2 minutes.\
      \ Use \"period\" parameter to limit the frequency of positions</li>\n    <li>Weather data is returned once within each\
      \ hour's results</li>\n    <li>Information about <a href=\"https://support.marinetraffic.com/en/articles/9552860-what-kind-of-information-is-ais-transmitted\"\
      >"
- info:
    name: Vessel Positions (Legacy API)
    type: folder
  items:
  - info:
      name: Vessel Positions of a Static Fleet
      type: http
    http:
      method: GET
      url: https://services.marinetraffic.com/api/exportvessels/:api_key
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Version of the service to be executed. Use version 8 to get the latest
      - name: timespan
        value: ''
        type: 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
      - name: shiptype
        value: ''
        type: 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>"
      - name: msgtype
        value: ''
        type: 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)"
      - name: protocol
        value: ''
        type: 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>"
    docs: "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    <"
  - info:
      name: Vessel Positions of a Dynamic Fleet
      type: http
    http:
      method: GET
      url: 'https://services.marinetraffic.com/api/exportvessels/:api_key '
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Version of the service to be executed. Use version 8 to get the latest
      - name: timespan
        value: ''
        type: 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
      - name: shiptype
        value: ''
        type: 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>"
      - name: msgtype
        value: ''
        type: 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)"
      - name: protocol
        value: ''
        type: 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>"
    docs: "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**"
  - info:
      name: Vessel Positions Within a Port
      type: http
    http:
      method: GET
      url: 'https://services.marinetraffic.com/api/exportvessels/:api_key  '
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Version of the service to be executed. Use version 8 to get the latest
      - name: timespan
        value: ''
        type: 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
      - name: shiptype
        value: ''
        type: 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>"
      - name: msgtype
        value: ''
        type: 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)"
      - name: protocol
        value: ''
        type: 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>"
    docs: "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>**S"
  - info:
      name: Vessel Positions in a Predefined Bounding Box
      type: http
    http:
      method: GET
      url: 'https://services.marinetraffic.com/api/exportvessels/:api_key   '
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Version of the service to be executed. Use version 8 to get the latest
      - name: timespan
        value: ''
        type: 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
      - name: shiptype
        value: ''
        type: 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>"
      - name: msgtype
        value: ''
        type: 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)"
      - name: protocol
        value: ''
        type: 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>"
    docs: "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"
  - info:
      name: Vessel Positions in a Dynamic Bounding Box
      type: http
    http:
      method: GET
      url: 'https://services.marinetraffic.com/api/exportvessels/:api_key    '
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Version of the service to be executed. Use version 8 to get the latest
      - name: timespan
        value: ''
        type: query
        description: The maximum age, in minutes, of the returned positions. Maximum value is 2880
      - name: shiptype
        value: ''
        type: 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>"
      - name: MAXLAT
        value: ''
        type: query
        description: Use with MINLAT, MINLON, MAXLON to define an area and retrieve positional information of vessels sailing
          in it
      - name: MINLON
        value: ''
        type: query
        description: Use with MINLAT, MAXLAT, MAXLON to define an area and retrieve positional information of vessels sailing
          in it
      - name: MAXLON
        value: ''
        type: query
        description: Use with MINLAT, MINLON, MAXLAT to define an area and retrieve positional information of vessels sailing
          in it
      - name: MINLAT
        value: ''
        type: query
        description: Use with MAXLAT, MINLON, MAXLON to define an area and retrieve positional information of vessels sailing
          in it
      - name: protocol
        value: ''
        type: 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>"
      - name: msgtype
        value: ''
        type: 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)"
    docs: "Retrieve positions for vessels sailing in an area that you define each time you call the service. </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\
      \ ind"
  - info:
      name: Single Vessel Positions
      type: http
    http:
      method: GET
      url: https://services.marinetraffic.com/api/exportvessel/:api_key
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Version of the service to be executed. Use version 5 to get the latest
      - name: shipid
        value: ''
        type: query
        description: A uniquely assigned ID by MarineTraffic for the subject vessel </br></br> You can <b>instead</b> use
          imo or mmsi
      - name: imo
        value: ''
        type: query
        description: The International Maritime Organization (IMO) number of the vessel you wish to track
      - name: mmsi
        value: ''
        type: query
        description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track
      - name: timespan
        value: ''
        type: query
        description: The maximum age, in minutes, of the returned positions. Maximum value is 2880
      - name: msgtype
        value: ''
        type: 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 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)"
      - name: protocol
        value: ''
        type: 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>"
    docs: "Get the latest available position and voyage information for a particular vessel. </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</"
  - info:
      name: Vessel Positions in a Custom Area
      type: http
    http:
      method: GET
      url: https://services.marinetraffic.com/api/exportvessels-custom-area/:api_key
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Version of the service to be executed. Use version 1 to get the latest
      - name: timespan
        value: ''
        type: query
        description: The maximum age, in minutes, of the returned positions. Maximum value is 2880
      - name: shiptype_generic
        value: ''
        type: query
        description: Filter vessels based on generic vessel types, comma separated values supported </br></br> Vessel type
          ID should be used and not vessel type name (2=Fishing / 4=High Speed Craft / 6=Passenger / 7=Cargo / 8=Tanker) </br></br>
          Should not be combined with shiptype_detailed filter
      - name: shiptype_detailed
        value: ''
        type: query
        description: Filter vessels based on detailed vessel types, comma separated values supported </br></br> Vessel type
          ID should be used and not vessel type name - <a href="https://support.marinetraffic.com/en/articles/9552888-what-is-the-significance-of-the-marinetraffic-ship-types"                                 target='_blank'>more</a>
          </br></br> Should not be combined with shiptype_generic filter
      - name: msgtype
        value: ''
        type: 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)"
      - name: protocol
        value: ''
        type: 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>"
    docs: "Monitor vessel activity in a Custom 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"
- info:
    name: AIS API
    type: folder
  items:
  - info:
      name: Vessel Positions
      type: http
    http:
      method: GET
      url: 'https://services.marinetraffic.com/api/exportvessels/:api_key     '
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Use latest version **9**
      - name: timespan
        value: ''
        type: query
        description: Overrides the default timespan
      - name: vesseltypeid
        value: ''
        type: 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>
      - name: cursor
        value: ''
        type: query
        description: The pagination cursor provided in the metadata section of the previous response
      - name: limit
        value: ''
        type: query
        description: The limit of vessels per page (min=1000, max=5000)
      - name: protocol
        value: ''
        type: query
        description: "Response type. Use one of the following: <ul>\n  <li>jsono</li>\n  <li>csv</li>"
    docs: "<strong>The latest version of this API endpoint, including significant improvements, is available <a href=\"https://developers.kpler.com/spec/dfdcdd47-ed9d-4fe1-bcc1-1f736a0a0266\"\
      \ target=\"_blank\" rel=\"noopener noreferrer\">here</a>.</br></br>Please contact your Customer Success Manager to request\
      \ access to the new endpoint.</strong></br></br></br></br>\nTrack vessels of interest anywhere in the world.</br></br><b>Notes</b><ul>\n\
      \    <li>Information about <a href=\"https://support.marinetraffic.com/en/"
  - info:
      name: Vessel Positions in an Area of Interest
      type: http
    http:
      method: GET
      url: 'https://services.marinetraffic.com/api/exportvessels-custom-area/:api_key '
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Use latest version **2**
      - name: timespan
        value: ''
        type: query
        description: Overrides the default timespan
      - name: vesseltypeid
        value: ''
        type: 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>
      - name: cursor
        value: ''
        type: query
        description: The pagination cursor provided in the metadata section of the previous response
      - name: limit
        value: ''
        type: query
        description: The limit of vessels per page (min=1000, max=5000)
      - name: protocol
        value: ''
        type: query
        description: "Response type. Use one of the following: <ul>\n  <li>jsono</li>\n  <li>csv</li>"
    docs: "<strong>The latest version of this API endpoint, including significant improvements, is available <a href=\"https://developers.kpler.com/spec/dfdcdd47-ed9d-4fe1-bcc1-1f736a0a0266\"\
      \ target=\"_blank\" rel=\"noopener noreferrer\">here</a>.</br></br>Please contact your Customer Success Manager to request\
      \ access to the new endpoint.</strong></br></br></br></br>\nTrack Vessels of interest in a predefined area of interest.</br></br><b>Notes</b><ul>\n\
      \    <li>Information about <a href=\"https://support.marinetraf"
  - info:
      name: Single Vessel Positions
      type: http
    http:
      method: GET
      url: 'https://services.marinetraffic.com/api/exportvessel/:api_key '
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Use latest version **6**
      - name: shipid
        value: ''
        type: query
        description: A uniquely assigned ID by MarineTraffic for the subject vessel </br></br> You can <b>instead</b> use
          imo or mmsi
      - name: imo
        value: ''
        type: query
        description: The International Maritime Organization (IMO) number of the vessel you wish to track
      - name: mmsi
        value: ''
        type: query
        description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track
      - name: timespan
        value: ''
        type: query
        description: Overrides the default timespan
      - name: protocol
        value: ''
        type: query
        description: "Response type. Use one of the following: <ul>\n  <li>jsono</li>\n  <li>csv</li>"
    docs: "<strong>The latest version of this API endpoint, including significant improvements, is available <a href=\"https://developers.kpler.com/spec/dfdcdd47-ed9d-4fe1-bcc1-1f736a0a0266\"\
      \ target=\"_blank\" rel=\"noopener noreferrer\">here</a>.</br></br>Please contact your Customer Success Manager to request\
      \ access to the new endpoint.</strong></br></br></br></br>\nGet the latest available position and voyage information\
      \ for a single vessel.</br></br><b>Notes</b><ul>\n    <li>Information about <a href=\"https://"
- info:
    name: Single Vessel Events
    type: folder
  items:
  - info:
      name: Single Vessel Port Calls
      type: http
    http:
      method: GET
      url: https://services.marinetraffic.com/api/portcalls/:api_key
      params:
      - name: api_key
        value: ''
        type: path
        description: 'API key: 40-character hexadecimal number'
      - name: v
        value: ''
        type: query
        description: Version of the service to be executed. Use version 6 to get the latest
      - name: shipid
        value: ''
        type: query
        description: A uniquely assigned ID by MarineTraffic for the subject vessel </br></br> You can <b>instead</b> use
          imo or mmsi
      - name: mmsi
        value: ''
        type: query
        description: The Maritime Mobile Service Identity (MMSI) of the vessel you wish to track
      - name: imo
        value: ''
        type: query
        description: The International Maritime Organization (IMO) number of the vessel you wish to track
      - name: timespan
        value: ''
        type: query
        description: The maximum age, in minutes, of the returned port calls. Maximum value is 2880
      - name: movetype
        value: ''
        type: query
        description: Use 0 to only receive arrivals or 1 to only receive departures. If not used, the response will include
          both
      - name: exclude_intransit
        value: ''
        type: query
        description: Use 1 to exclude vessels in transit
      - name: fromdate
        value: ''
        type: query
        description: 'Portcalls between fromdate and todate. Maximum period requested 190 days </br></br> Date format: YYYY-MM-DD
          HH:MM'
      - name: todate
        value: ''
        type: query
        description: 'Portcal

# --- truncated at 32 KB (100 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/marine-traffic/refs/heads/main/apis.yml