marinetraffic.com 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.
curl -X GET 'https://api.parse.bot/scraper/8d823e7b-f08f-4f5f-b29c-38f21908e19d/search_vessels?query=EVER+GIVEN' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for vessels by name, MMSI, or IMO. Returns a list of matching vessels with basic metadata.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search keyword (vessel name, MMSI, or IMO number) |
{
"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": 1,
"vessels": [
{
"id": 5630138,
"url": "/en/ais/details/ships/shipid:5630138",
"desc": "Container Ship [PA]",
"flag": null,
"meta": {
"typeColorId": 7
},
"type": "Vessel",
"value": "EVER GIVEN",
"typeId": 1,
"userId": null,
"inFleet": 0,
"extendedInfo": null
}
]
},
"status": "success"
}
}About the marinetraffic.com 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.
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.
- Monitor a fleet's real-time positions using
get_vessel_current_positionwith known ship IDs - Build a vessel directory by searching IMO numbers via
search_vesselsand enriching records withget_vessel_details - Track voyage routing by reading
departure_port,destination, andarrival_portfromget_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_idsintoget_sailboat_underway_data - Verify vessel dimensions and registry data by cross-referencing
length,width,imo, andmmsifromget_vessel_details
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does MarineTraffic have an official developer API?+
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?+
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?+
Can I look up a vessel's registered owner or management company?+
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.