{"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, first sign in to your account and navigate to the API you want to use. From the API's Pricing section, choose a plan and complete the subscription process. Once subscribed, return to the API page and you will see your API Access Key displayed at the top of the documentation page. You can use this key 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.
The free trial lasts for 7 days and allows you to make up to 50 API requests.
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. If the API offers a free trial, you will see a "Free 7-Day Trial" option in its Pricing section. The trial lasts for 7 days and allows up to 50 API requests, enabling you to evaluate the API before subscribing to a paid plan.
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.
You can monitor your API usage through the response headers included with every request:
x-zyla-api-calls-monthly-used: Shows the total number of API requests you have used during the current billing period.
x-zyla-api-calls-monthly-remaining: Shows the number of API requests you have remaining for the current billing period.
Yes, you can cancel your subscription at any time. Simply go to the Pricing section of the API you're subscribed to and click the "Unsubscribe" button.
Please note that upgrades, downgrades, and cancellations take effect immediately. Once your subscription is canceled, access to the service will end immediately, regardless of any remaining API calls in your quota.
Please have a look at our Refund Policy: https://zylalabs.com/terms#refund
Service Level:
100%
Response Time:
2,113ms
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:
2,443ms
Service Level:
100%
Response Time:
1,197ms
Service Level:
100%
Response Time:
16ms
Service Level:
100%
Response Time:
9,757ms
Service Level:
100%
Response Time:
1,627ms