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
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...
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...
Vessel master data (`/vesselmasterdata`), vessel photographs (`/exportvesselphoto`), and the ship-database search surface (`/shipsearch` by identifier or by name). Returns the f...
Machine-learning–powered voyage intelligence: voyage forecast (`/voyageforecast`), predictive destination areas (`/predictive-destination-areas`), and ETA-to-port (`/etatoport`)...
Port-centric analytics: expected port arrivals (`/expectedarrivals`), predictive arrivals using MarineTraffic's destination model (`/predictive-arrivals`), and port-congestion i...
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...
Maritime-aware reverse geocoding (`/reversegeocode`) — resolves a single coordinate pair to the nearest port, anchorage, terminal, berth, or standard / custom area within a conf...
Power-user administration surface: fleet CRUD (`/setfleet`, `/getfleet`, `/getfleets`, `/clearfleet`), API credit-balance inspection (`/exportcredits` — free), and passage-plan ...
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.
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.
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.
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