POST /api/marinetraffic/vessels
Price: 1 credit
Get a MarineTraffic vessel with identity, live AIS position and current voyage by IMO or ship ID
Get a full MarineTraffic vessel record by IMO number (7 digits) or MarineTraffic ship ID. Returns identity (IMO, MMSI, name, callsign, flag, ship type, market segment, size class, length, beam, AIS transponder class), a photo and photo count, the latest AIS position (latitude, longitude, speed, course, true heading, rate of turn, draught, navigational status, current area and report time), and the current voyage (reported destination, ETA, progress, departure and arrival port IDs, times and labels — the label marks whether each time is actual (ATD/ATA) or estimated (ETD/ETA)). Also lists maritime businesses at the arrival location. Timestamps (eta, position_received_at, departure_at, arrival_at) are unix seconds.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)vessel string required — Vessel IMO number (7 digits) or MarineTraffic ship ID (examples: "9321483", "159196"; minLength: 1)@type string (default: "MarinetrafficVessel")id integer requiredname string requiredais_name string nullableimo integer nullableeni integer nullablemmsi integer nullablecallsign string nullableflag string nullableflag_code string nullableship_type string nullableais_type string nullablemarket string nullablesize_class string nullablelength_overall number nullablebeam number nullableais_transponder_class string nullableimage string nullablephoto_count integer nullableurl string requiredlatitude number nullablelongitude number nullablespeed number nullablecourse number nullabletrue_heading integer nullablerate_of_turn number nullabledraught number nullablenavigation_status string nullableposition_received_at integer nullablearea_name string nullableis_in_range boolean (default: false)reported_destination string nullableeta integer nullableprogress number nullabledeparture_port_id integer nullabledeparture_at integer nullabledeparture_label string nullablearrival_port_id integer nullablearrival_at integer nullablearrival_label string nullablebusinesses array (default: [])@type string (default: "MarinetrafficVesselBusiness")id string requiredname string nullableactivity string nullablecountry_code string nullableimage string nullableport_id integer nullable422 — The request body did not validate Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — Vessel not found Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.