MarineTraffic Live Ship Tracker avatar

MarineTraffic Live Ship Tracker

Pricing

from $30.00 / 1,000 results

Go to Apify Store
MarineTraffic Live Ship Tracker

MarineTraffic Live Ship Tracker

Get live ship positions from MarineTraffic for any area (center + zoom) — position, speed, course, type, size, destination — plus optional ship details (MMSI, IMO, tonnage, TEU, year built) and voyage info.

Pricing

from $30.00 / 1,000 results

Rating

0.0

(0)

Developer

Farhan Febrian Nauval

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Get live ship positions from MarineTraffic for any area of sea — position, speed, course, heading, ship type, size, and destination — with optional full ship details (MMSI, IMO, tonnage, TEU, year built, home port) and voyage info (destination, ETA, ports). No account or login required.

Why use this actor

  • Live AIS positions for any area — give a center point and a zoom level.
  • Optional MMSI & IMO — the unique vessel identifiers, plus call sign, ship type, gross tonnage, deadweight, TEU, year built, and home port.
  • Optional voyage info — reported destination, ETA, departure/arrival ports, draught, and progress.
  • Wide-area coverage — a grid radius collects many map tiles around your center and de-duplicates ships.
  • Clear last-seen time — each ship includes a lastSeenUtc timestamp.
  • Stable JSON output — ready for dashboards, alerts, or analysis.

How it works

  1. Give a center latitude/longitude and a zoom level (how big an area each tile covers).
  2. Optionally set a grid radius to cover more area, and turn on ship details / voyage info.
  3. The actor collects every ship in the area, de-duplicates them, and (optionally) looks up each ship's details.
  4. Each ship becomes one row — downloadable as JSON, CSV, or Excel.

Zoom levels — what area each covers

MarineTraffic's zoom controls how much sea one map tile covers (smaller number = bigger area). Approximate width of a single tile:

ZoomTile widthGood for
4~45° (~5000 km)ocean / continent
6~11° (~1250 km)large sea region
7~5.6° (~620 km)sea / gulf
8~2.8° (~310 km)coastline stretch
9~1.4° (~155 km)port / bay (default)
10~0.7° (~78 km)harbour approach
11–12~0.35°–0.18° (~39–19 km)single port / anchorage

Use grid radius to widen coverage: radius 1 = a 3×3 block of tiles around the center, radius 2 = 5×5, and so on.

Use cases

  • Port & terminal monitoring — which ships are at/approaching a port right now.
  • Fleet / vessel tracking — positions and ETAs for an area of interest.
  • Maritime analytics — traffic density, ship types, and flows in a region.
  • Alerting — detect arrivals/departures in a watched area.

Input

{
"lat": "10.1",
"lon": "107.7",
"zoom": 9,
"gridRadius": 1,
"fetchDetails": true,
"includeVoyage": true,
"maxDetails": 200,
"maxItems": 0,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
FieldTypeDescription
lat / lonstringCenter of the area (decimal degrees).
zoomintegerArea size per tile (see table above). Default 9.
gridRadiusintegerExtra tiles around the center. 0 = center only, 1 = 3×3, 2 = 5×5. Default 2.
shipTypesarrayKeep only these categories: Cargo, Tanker, Passenger, Fishing, Tug & Special Craft, High-Speed Craft, Pleasure Craft, Navigation Aid, Unspecified. Empty = all.
fetchDetailsbooleanAdd MMSI, IMO, ship type, tonnage, TEU, year built, home port (one lookup per ship). Default false.
includeVoyagebooleanAlso add destination, ETA, ports, draught (with fetchDetails). Default false.
maxDetailsintegerCap how many ships get detail lookups. 0 = all. Default 200.
maxItemsintegerOverall cap on ships. 0 = all.
proxyConfigurationobjectResidential proxy recommended.

Output

One record per ship. Base fields come from the live map; the rest appear when fetchDetails / includeVoyage are on.

{
"_input": "lat:10.1|lon:107.7|zoom:9",
"_scrapedAt": "2026-06-17T17:11:00Z",
"recordType": "VESSEL",
"shipId": "9583316",
"shipName": "COSCO CARNATION",
"lat": 10.510422, "lon": 107.0091,
"speed": 4.0, "course": 130.0, "heading": 191.0,
"elapsedMinutes": 1,
"lastSeenUtc": "2026-06-17T17:10:18Z",
"destinationUnlocode": "VNCMP",
"flag": "HK",
"shipTypeId": "7", "shipTypeName": "Cargo", "gtShipType": "11",
"lengthM": 366.0, "widthM": 51.0, "dwt": 163651.0,
"tile": { "z": 9, "x": 204, "y": 120 },
"url": "https://www.marinetraffic.com/en/ais/details/ships/shipid:9583316",
"mmsi": 477145900, "imo": 9945904, "callsign": "VRWW7",
"vesselType": "Cargo", "vesselTypeSpecific": "Container Ship",
"grossTonnage": 157741, "deadweight": 163651, "teu": 16180,
"yearBuilt": 2025, "status": "Active", "homePort": "HONG KONG", "countryCode": "HK",
"reportedDestination": "VNCMP",
"etaReported": 1781708400, "etaReportedUtc": "2026-06-17T15:00:00Z",
"departurePort": { "name": "KAOHSIUNG", "code": "KHH", "timestampLabel": "ATD" },
"arrivalPort": { "name": "CAI MEP", "code": "CMT", "timestampLabel": "ATA" },
"draughtReported": 11.1, "progress": 100
}
FieldTypeDescription
shipIdstringMarineTraffic ship ID (stable; used for the detail lookups and URL).
shipNamestringShip name (AIS).
lat / lonnumberCurrent position.
speed / course / headingnumberSpeed (knots), course, heading.
elapsedMinutesnumberMinutes since the last position report.
lastSeenUtcstringLast position time (UTC), derived from the elapsed minutes.
destinationUnlocodestringReported destination (UN/LOCODE).
flag / lengthM / widthM / dwtmixedFlag, dimensions, deadweight.
mmsi / imo / callsignnumber/stringIdentifiers (with fetchDetails).
vesselType / vesselTypeSpecific / grossTonnage / teu / yearBuilt / homePortmixedShip details.
reportedDestination / etaReportedUtc / departurePort / arrivalPortmixedVoyage info (with includeVoyage).
_rawobjectThe exact raw map fields, untouched.

Notes

  • lastSeenUtc precision: the live map reports freshness in whole minutes (elapsedMinutes), so lastSeenUtc is accurate to the minute. A finer position timestamp isn't published on the public map.
  • MMSI / IMO are only available with fetchDetails on (the live map omits them). Use maxDetails to balance completeness vs run time.
  • Higher zoom = smaller area but more individual (un-clustered) ships; widen coverage with gridRadius.