Discover/MarineTraffic API
live

MarineTraffic APImarinetraffic.com

Track ships in real-time via the MarineTraffic API. Search by name, MMSI, or IMO. Get positions, technical specs, voyage data, and vessel photos.

Endpoint health
verified 13h ago
get_sailboat_underway_data
search_vessels
get_vessel_details
get_vessel_current_position
get_vessels_by_type
6/6 passing latest checkself-healing
Endpoints
6
Updated
22d ago

What is the MarineTraffic API?

The MarineTraffic API gives access to 6 endpoints covering vessel search, live positions, technical specifications, voyage data, and photos. Use search_vessels to find any ship by name, MMSI, or IMO number, then pull full details including current latitude/longitude, speed, navigational status, and dimensional specs. All endpoints return structured JSON, making it straightforward to integrate maritime data into shipping, logistics, or fleet monitoring applications.

Try it
Search keyword (vessel name, MMSI, or IMO number)
api.parse.bot/scraper/8d823e7b-f08f-4f5f-b29c-38f21908e19d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/8d823e7b-f08f-4f5f-b29c-38f21908e19d/search_vessels?query=MSC' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace marinetraffic-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: MarineTraffic vessel tracking — search, detail, position, photos."""
from parse_apis.marinetraffic_vessel_tracking_api import (
    MarineTraffic, VesselType, VesselNotFound
)

client = MarineTraffic()

# Search for vessels by name — limit caps total items fetched.
for vessel in client.vessels.search(query="MSC", limit=3):
    print(vessel.name, vessel.description)

# Filter vessels by type using the VesselType enum.
container = client.vessels.by_type(vessel_type=VesselType.CONTAINER_SHIP, limit=1).first()
if container:
    print(container.name, container.id)

    # Drill into full details via the vesseldetails collection.
    detail = client.vesseldetails.get(ship_id=str(container.id))
    print(detail.name, detail.mmsi, detail.imo, detail.flag, detail.length)

    # Get live position for the same vessel.
    pos = client.positions.get(ship_id=str(container.id))
    print(pos.lat, pos.lon, pos.speed, pos.status)

    # Browse the vessel's photos sub-resource.
    for photo in container.photos.list(limit=3):
        print(photo.url, photo.photographer, photo.place)

# Typed error handling: catch VesselNotFound on a bad ship_id.
try:
    client.vesseldetails.get(ship_id="9999999999")
except VesselNotFound as exc:
    print(f"vessel not found: {exc.ship_id}")

print("exercised: vessels.search / vessels.by_type / vesseldetails.get / positions.get / photos.list")
All endpoints · 6 totalmissing one? ·

Search for vessels by name, MMSI, or IMO number. Returns up to 12 matching vessels with basic metadata including ship ID, name, type description, and flag. The search is global and matches partial names.

Input
ParamTypeDescription
queryrequiredstringSearch keyword (vessel name, MMSI, or IMO number)
Response
{
  "type": "object",
  "fields": {
    "total": "integer count of matching vessels",
    "vessels": "array of vessel objects with id, value (name), desc (type and flag), url"
  },
  "sample": {
    "data": {
      "total": 12,
      "vessels": [
        {
          "id": 1252401,
          "url": "/en/ais/details/ships/shipid:1252401",
          "desc": "Passenger Ship [PA]",
          "flag": null,
          "meta": {
            "typeColorId": 6
          },
          "type": "Vessel",
          "value": "MSC MAGNIFICA",
          "typeId": 1,
          "userId": null,
          "inFleet": 0,
          "extendedInfo": null
        }
      ]
    },
    "status": "success"
  }
}

About the MarineTraffic API

Vessel Search and Identification

search_vessels accepts a query string — vessel name, MMSI, or IMO number — and returns a list of matching vessels, each with an id, display name (value), a desc field combining vessel type and flag, and a direct URL to the MarineTraffic profile. The id from these results is the ship_id used by every other endpoint, so search is typically the entry point for any lookup flow. get_vessels_by_type works the same way but filters by type name (e.g. 'LNG Tanker', 'Container Ship'), letting you enumerate fleets by category.

Position and Navigational Status

get_vessel_current_position returns the latest known lat, lon, speed (knots), course (degrees), status (navigational status string), and a last_received Unix timestamp. get_vessel_details returns a superset: the same position object plus technical specs (length, width in meters), IMO and MMSI numbers, vessel type, and a voyage object with destination, departure_port, and arrival_port. For monitoring multiple vessels simultaneously, get_sailboat_underway_data accepts a comma-separated list of ship_ids and returns name, timestamp, lat, lon, and status for each vessel found — vessels not currently locatable are silently excluded from the response array.

Photos

get_vessel_photos returns up to 20 photo records per vessel, each with a url, photographer credit, place where the photo was taken, and upload date. The total field indicates how many photos were returned. This is useful for vessel verification workflows or visual fleet databases.

Notes on Coverage

Position freshness depends on AIS reporting frequency and varies by vessel activity and region. The last_received timestamp in position responses indicates when the most recent AIS update was logged. Dimensional fields like width may be null for vessels with incomplete registry data.

Reliability & maintenanceVerified

The MarineTraffic API is a managed, monitored endpoint for marinetraffic.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when marinetraffic.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official marinetraffic.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
13h ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor a fleet's real-time positions using get_vessel_current_position with known ship IDs
  • Build a vessel directory by searching IMO numbers via search_vessels and enriching records with get_vessel_details
  • Track voyage routing by reading departure_port, destination, and arrival_port from get_vessel_details
  • Enumerate all Container Ships or LNG Tankers in the database using get_vessels_by_type
  • Populate a ship photo gallery with verified photographer credits from get_vessel_photos
  • Run multi-vessel dashboards by batching ship_ids into get_sailboat_underway_data
  • Verify vessel dimensions and registry data by cross-referencing length, width, imo, and mmsi from get_vessel_details
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does MarineTraffic have an official developer API?+
Yes. MarineTraffic offers a commercial API at marinetraffic.com/en/ais-api-services. It uses a credit-based pricing model with different tiers for position data, voyage data, and vessel particulars. The Parse API provides access to the same underlying data through a single consistent interface without requiring a separate MarineTraffic API agreement.
What does `get_vessel_details` return that `get_vessel_current_position` does not?+
get_vessel_details includes technical specifications (length, width), registry identifiers (imo, mmsi), vessel type, and a full voyage object containing destination, departure_port, and arrival_port. get_vessel_current_position returns only the position subset: lat, lon, speed, course, status, and last_received. Use the position endpoint when you only need location data and want a lighter response.
How current is the position data returned by these endpoints?+
Each position response includes a last_received Unix timestamp indicating when the vessel's AIS signal was last logged. Vessels in busy shipping lanes typically update frequently; vessels in remote areas or at anchor may have older timestamps. There is no guaranteed refresh interval — the data reflects the most recent AIS report available for each ship.
Does the API return historical position tracks or port call records?+
Not currently. The API covers current positions, basic voyage destination data, and technical specifications. It does not expose historical AIS track logs or port call history. You can fork the API on Parse and revise it to add an endpoint targeting historical movement or port call data.
Can I look up a vessel's registered owner or management company?+
Not currently. The get_vessel_details response covers technical specs, position, IMO/MMSI, and voyage data, but does not include ownership, operator, or management company fields. You can fork the API on Parse and revise it to surface ownership information if that data is available on a vessel's MarineTraffic profile page.
Page content last updated . Spec covers 6 endpoints from marinetraffic.com.
Related APIs in Maps GeoSee all →
portofrotterdam.com API
Track live vessel movements and monitor port performance metrics including container throughput and anchorage statistics for the Port of Rotterdam. Access nautical notices and search detailed port information to stay updated on shipping operations and port conditions.
maersk.com API
Track your Maersk shipping containers in real-time, monitor vessel schedules and locations, and discover available routes between ports and countries. Access comprehensive port data, search for specific locations, and view detailed shipping route information to plan your logistics more effectively.
boats.com API
Search millions of yacht and boat listings by your preferred criteria, then view detailed specifications, pricing, and direct seller contact information for any boat that interests you. Find your perfect vessel with comprehensive boat data all in one place.
maritime-executive.com API
Search and access maritime news articles, industry insights, and directory listings from The Maritime Executive, with the ability to browse by category, listen to podcasts, and read magazine editions. Find the latest maritime industry information, company directories, and multimedia content all in one place.
yachtworld.com API
Search and browse thousands of boat listings on YachtWorld by make, class, type, condition, location, and price range. Retrieve detailed specifications, propulsion data, media assets, and broker contact information for any listing.
yachtbuyer.com API
Search and browse thousands of used and new yachts, boats, and tenders with detailed listings and specifications. Stay informed with the latest maritime news and intelligence while discovering top-rated vessels in the market.
yachtauctions.com API
Browse and search National Liquidators' inventory of boats, yachts, and other vessels available for auction, with access to detailed listings, live auctions, featured items, and recently listed vessels. Filter by vessel makes and types to find your next acquisition.
cma-cgm.com API
Track shipping routes and vessel schedules across CMA CGM's 280+ shipping lines, including detailed port-to-port rotations, fleet information, and service specifics. Search for specific routes or browse complete shipping schedules to plan logistics and monitor maritime transportation options.