{"status":200,"success":true,"message":"IMO Code 9702510 is valid","data":{"imo_number":"9702510","vessel_name":"ZJ ATLANTIC","ship_type":"Bulk Carrier","flag":"Liberia","gross_tonnage":"36332","summer_deadweight_t":null,"length_overall_m":"199.90","beam_m":"32.26","year_of_built":null}}
curl --location --request GET 'https://zylalabs.com/api/4080/voyage+data+api/4918/vessel+information?imoCode=9702510' --header 'Authorization: Bearer YOUR_API_KEY'
{"status":200,"success":true,"message":"IMO Code 9702510 is valid","data":{"departure_port":"Port Klang Anch., Malaysia","departure_atd":"ATD: May 17, 00:45 UTC (13 days ago)","flag":null,"length_beam":"200 \/ 32 m","imo_mmsi":"9702510 \/ 636024893","navigation_status":"-","current_draught":"11.8 m","course_speed":"\u00a0","arrival_port":"Mtwara, Tanzania","arrival_atd":"ETA: Jun 1, 12:00","latest_port_calls":[{"port_name":"Port Klang Anch., Malaysia","arrival_utc":"2026-05-16T11:11:00.000000Z","departure_utc":"2026-05-17T00:45:00.000000Z","time_in_port":"13 hours, 34 minutes"},{"port_name":"locked, ","arrival_utc":"2026-04-29T08:30:00.000000Z","departure_utc":"2026-05-07T00:38:00.000000Z","time_in_port":"7 days, 16 hours, 8 minutes"},{"port_name":"locked, ","arrival_utc":"2026-04-27T07:12:00.000000Z","departure_utc":"2026-04-29T02:38:00.000000Z","time_in_port":"1 days, 19 hours, 26 minutes"},{"port_name":"locked, ","arrival_utc":"2026-04-23T07:06:00.000000Z","departure_utc":"2026-04-26T23:28:00.000000Z","time_in_port":"3 days, 16 hours, 22 minutes"},{"port_name":"locked, ","arrival_utc":"2026-04-17T08:12:00.000000Z","departure_utc":"2026-04-20T20:02:00.000000Z","time_in_port":"3 days, 11 hours, 50 minutes"}]}}
curl --location --request GET 'https://zylalabs.com/api/4080/voyage+data+api/4919/get+route?imoCode=9702510' --header 'Authorization: Bearer YOUR_API_KEY'
{"status":200,"success":true,"message":"MMSI Code 258785000 is valid","data":{"position_received":"2017-01-24 04:07","vessel_local_time":"-","area":"North Sea","current_port":"EMDEN","latitude_longitude":"--- \/ ---","navigational_status":"Moored","speed_course":"","ais_source":"-","last_port_calls":[]}}
curl --location --request GET 'https://zylalabs.com/api/4080/voyage+data+api/6119/get+latest+ports+by+mmsi+code?mmsiCode=258785000' --header 'Authorization: Bearer YOUR_API_KEY'
| Header | Description |
|---|---|
Authorization
|
[Required] Should be Bearer access_key. See "Your API Access Key" above when you are subscribed. |
No long-term commitment. Upgrade, downgrade, or cancel anytime. Free Trial includes up to 50 requests.
The Voyage Data API is a service that allows developers to access real-time ship information and track the routes of ships using their unique IMO numbers. It provides comprehensive data about ship positions, speeds, headings, destinations, and more.
The API provides extensive ship data, including speed, heading, destination, ETA (estimated time of arrival), and historical route information. This allows for real-time tracking of ship movements and in-depth analysis of past voyages, supporting efficient maritime operations and planning.
The Voyage Position API strives to provide accurate and up-to-date ship tracking data. However, please note that ship positions and other data are subject to various factors such as ship reporting frequency, reception quality, and data source reliability.
The API itself does not provide native alert or notification functionality. However, developers can leverage the data retrieved from the API to implement custom alert systems within their applications, triggering notifications based on specific ship criteria or events.
Integration is straightforward. The API offers well-documented endpoints and provides developers with clear instructions on how to make requests and retrieve ship information. Detailed documentation and code examples facilitate easy integration.
Each endpoint returns specific vessel-related data. For example, the "GET Vessel Information" endpoint provides details like IMO number, vessel name, and ship type, while the "GET Current Position" endpoint returns real-time location data, including latitude, longitude, speed, and navigational status.
Key fields vary by endpoint. For "GET Vessel Information," important fields include "vessel_name," "gross_tonnage," and "year_of_built." In "GET Current Position," key fields include "latitude," "longitude," "current_port," and "navigational_status."
The response data is structured in JSON format, containing a "status," "success," "message," and a "data" object with relevant vessel information. For example, a successful response from "GET Vessel Information" includes vessel attributes nested within the "data" object.
Each endpoint requires specific parameters. For instance, "GET Vessel Information" requires the vessel's IMO number, while "GET Get Position by MMSI" needs the MMSI code. Users can customize requests by providing these unique identifiers.
The API sources its data from AIS (Automatic Identification System) signals, which can be terrestrial or satellite-based. This dual-source approach enhances coverage and accuracy, allowing for reliable vessel tracking across various regions.
Typical use cases include real-time vessel tracking for logistics optimization, monitoring port arrivals and departures, and analyzing historical vessel movements for operational planning. This data supports maritime safety and efficiency in port operations.
Users can leverage the returned data to monitor vessel movements, assess port traffic, and plan logistics. For example, by analyzing "latest_port_calls," users can determine a vessel's recent activity and optimize scheduling based on its arrival times.
Data accuracy is maintained through regular updates from AIS signals and quality checks on the received data. The API aims to provide the most current information, but users should be aware of potential discrepancies due to reporting frequency and signal quality.
To obtain your API key, you first need to sign in to your account and subscribe to the API you want to use. Once subscribed, go to your Profile, open the Subscription section, and select the specific API. Your API key will be available there and can be used to authenticate your requests.
You can’t switch APIs during the free trial. If you subscribe to a different API, your trial will end and the new subscription will start as a paid plan.
If you don’t cancel before the 7th day, your free trial will end automatically and your subscription will switch to a paid plan under the same plan you originally subscribed to, meaning you will be charged and gain access to the API calls included in that plan.
The free trial ends when you reach 50 API requests or after 7 days, whichever comes first.
No, the free trial is available only once, so we recommend using it on the API that interests you the most. Most of our APIs offer a free trial, but some may not include this option.
Yes, we offer a 7-day free trial that allows you to make up to 50 API calls at no cost, so you can test our APIs without any commitment.
Zyla API Hub is like a big store for APIs, where you can find thousands of them all in one place. We also offer dedicated support and real-time monitoring of all APIs. Once you sign up, you can pick and choose which APIs you want to use. Just remember, each API needs its own subscription. But if you subscribe to multiple ones, you'll use the same key for all of them, making things easier for you.
Please have a look at our Refund Policy: https://zylalabs.com/terms#refund
Service Level:
100%
Response Time:
2,104ms
Service Level:
100%
Response Time:
362ms
Service Level:
100%
Response Time:
95ms
Service Level:
100%
Response Time:
372ms
Service Level:
100%
Response Time:
11,584ms
Service Level:
100%
Response Time:
3,967ms
Service Level:
100%
Response Time:
1,197ms
Service Level:
100%
Response Time:
16ms
Service Level:
100%
Response Time:
467ms
Service Level:
100%
Response Time:
9,757ms
Service Level:
100%
Response Time:
840ms
Service Level:
100%
Response Time:
1,963ms
Service Level:
100%
Response Time:
8,360ms
Service Level:
100%
Response Time:
196ms
Service Level:
100%
Response Time:
4,251ms
Service Level:
100%
Response Time:
425ms
Service Level:
100%
Response Time:
538ms
Service Level:
100%
Response Time:
52ms
Service Level:
100%
Response Time:
756ms
Service Level:
100%
Response Time:
476ms