In the fast-paced world of maritime logistics, having access to real-time data is crucial for making informed decisions. Whether you are a fleet manager, a logistics startup, or a port operator, the ability to track vessels, analyze their performance, and understand port conditions can significantly enhance operational efficiency. This is where the Vessels API comes into play, offering a comprehensive suite of endpoints designed to provide developers with instant access to global maritime vessel tracking data powered by AIS (Automatic Identification System).
Why Choose Vessels API?
The Vessels API stands out in the maritime data landscape for several reasons:
- 18 REST endpoints covering vessel search, live tracking, fleet operations, port intelligence, and IMO CII emissions scoring.
- One API key and one base URL, eliminating the complexity of OAuth and per-endpoint authentication differences.
- Consistent JSON envelope on every response, ensuring a uniform experience:
{status, success, message, data}. - Global AIS coverage with near real-time refresh rates, providing timely and accurate data.
- A 7-day free trial on all plans, allowing users to explore the API's capabilities without commitment.
In this blog post, we will delve into the key features of the Vessels API, focusing on the most relevant endpoints for cruise ship tracking and how they can be leveraged to solve real-world business challenges.
Vessel Intelligence Endpoints
1. Vessel Search
The GET /vessels/search endpoint allows you to find any vessel by name, IMO, or MMSI. This is particularly useful for logistics teams needing to quickly identify vessels in their fleet or track specific ships.
Example Request:
curl -H "X-API-Key: YOUR_API_KEY" "https://vessels-api.com/api/V1/vessels/search?query=atlantic&flag=Panama"
Example Response:
{
"data": {
"vessels": [
{
"imo": "1234567",
"mmsi": "123456789",
"name": "Atlantic Voyager",
"flag": "Panama",
"vessel_type": "Cruise",
"gross_tonnage": 50000,
"deadweight_tonnage": 20000,
"year_built": 2010,
"length_m": 300,
"width_m": 40
}
],
"pagination": {
"current_page": 1,
"per_page": 1,
"total": 1,
"last_page": 1
}
}
}
This endpoint returns a list of vessels matching the search criteria, along with pagination details. Key fields include:
- imo: International Maritime Organization number, a unique identifier for the vessel.
- mmsi: Maritime Mobile Service Identity, used for AIS tracking.
- name: The name of the vessel.
- flag: The country under which the vessel is registered.
- vessel_type: The type of vessel (e.g., cruise, cargo).
2. Live Vessel Tracking
The GET /vessels/track endpoint provides live position data, including up to 168 hours of position history, active routes, predicted ETAs, and weather conditions. This is essential for fleet managers who need to monitor vessel movements in real-time.
Example Request:
curl -H "X-API-Key: YOUR_API_KEY" "https://vessels-api.com/api/V1/vessels/track?mmsi=258785000&hours=48"
Example Response:
{
"data": {
"vessel": {
"imo": "1234567",
"mmsi": "258785000",
"name": "Atlantic Voyager"
},
"current_position": {
"latitude": 34.0522,
"longitude": -118.2437,
"speed_knots": 15,
"course_degrees": 90,
"heading_degrees": 90,
"navigational_status": "Underway",
"timestamp_utc": "2023-10-01T12:00:00Z",
"destination": "Los Angeles",
"eta": "2023-10-02T08:00:00Z"
},
"position_history": [...],
"route": {
"departure_port": "San Francisco",
"departure_time": "2023-10-01T08:00:00Z",
"destination_port": "Los Angeles",
"eta": "2023-10-02T08:00:00Z",
"distance_nm": 300,
"avg_speed_knots": 15
},
"last_port_visits": [...]
}
}
This response provides a wealth of information, including:
- current_position: The vessel's current latitude and longitude, speed, course, and navigational status.
- route: Details about the vessel's current route, including departure and destination ports, ETA, and distance remaining.
3. Nearby Vessels
The GET /vessels/nearby endpoint allows you to find all vessels within a specified radius of a given latitude and longitude. This is particularly useful for port operators who need to monitor vessel traffic in their vicinity.
Example Request:
curl -H "X-API-Key: YOUR_API_KEY" "https://vessels-api.com/api/V1/vessels/nearby?latitude=-34.60&longitude=-58.38&radius=30"
Example Response:
{
"data": {
"center": {
"latitude": -34.60,
"longitude": -58.38
},
"radius_nm": 30,
"total": 5,
"vessels": [
{
"imo": "1234567",
"mmsi": "258785000",
"name": "Atlantic Voyager",
"ship_type": "Cruise",
"position": {
"latitude": -34.60,
"longitude": -58.38,
"timestamp_utc": "2023-10-01T12:00:00Z"
},
"distance_nm": 10,
"speed_knots": 12,
"course_degrees": 180,
"navigational_status": "At Anchor"
}
]
}
}
This endpoint returns a list of vessels within the specified radius, including their current positions and navigational statuses. Key fields include:
- distance_nm: The distance from the specified point to the vessel.
- navigational_status: Indicates whether the vessel is underway, at anchor, or in port.
4. Vessel Analytics
The GET /vessels/analytics endpoint provides aggregated voyage statistics, allowing users to analyze performance over different periods. This is invaluable for fleet managers looking to optimize operations and improve efficiency.
Example Request:
curl -H "X-API-Key: YOUR_API_KEY" "https://vessels-api.com/api/V1/vessels/analytics?type=vessel&mmsi=258785000&period=7d"
Example Response:
{
"data": {
"type": "vessel",
"mmsi": "258785000",
"imo": "1234567",
"name": "Atlantic Voyager",
"period": "7d",
"statistics": {
"total_distance_nm": 500,
"avg_speed_knots": 12,
"max_speed_knots": 20,
"port_calls_count": 3,
"total_time_in_port_hours": 24,
"ports_visited": ["San Francisco", "Los Angeles"]
}
}
}
This response provides insights into the vessel's performance, including:
- total_distance_nm: The total distance traveled over the specified period.
- avg_speed_knots: The average speed of the vessel during the period.
- port_calls_count: The number of port calls made.
Fleet Operations Endpoints
5. Fleet Management
The POST /vessels/fleet endpoint allows you to batch request positions, routes, and statistics for multiple vessels in one go. This is particularly useful for fleet managers who need to monitor several vessels simultaneously.
Example Request:
curl -X POST -H "X-API-Key: YOUR_API_KEY" -H "Content-Type: application/json" -d '{"vessels":[{"imo":"9122556"},{"mmsi":"309374000"}],"include_positions":true}' "https://vessels-api.com/api/V1/vessels/fleet"
Example Response:
{
"data": {
"fleet": {
"total_vessels": 2,
"vessels_at_sea": 1,
"vessels_in_port": 1
},
"vessels": [
{
"imo": "9122556",
"mmsi": "309374000",
"name": "Atlantic Voyager",
"position": {
"latitude": 34.0522,
"longitude": -118.2437
},
"route": {
"departure_port": "San Francisco",
"destination_port": "Los Angeles"
}
}
]
}
}
This endpoint provides a comprehensive overview of the fleet's status, including:
- total_vessels: The total number of vessels in the fleet.
- vessels_at_sea: The number of vessels currently underway.
- vessels_in_port: The number of vessels currently docked.
Port Intelligence Endpoints
6. Port Congestion
The GET /ports/congestion endpoint provides real-time congestion snapshots and wait-time statistics for a specific port. This is crucial for port operators and logistics teams to manage vessel arrivals and optimize berth assignments.
Example Request:
curl -H "X-API-Key: YOUR_API_KEY" "https://vessels-api.com/api/V1/ports/congestion?port_id=ARBUE&period=7d"
Example Response:
{
"data": {
"port_id": "ARBUE",
"port_name": "Port of Buenos Aires",
"period": "7d",
"snapshot": {
"vessels_in_anchorage": 5,
"vessels_at_berth": 3
},
"statistics": {
"avg_wait_time_hours_last_7d": 2,
"max_wait_time_hours_last_7d": 5,
"avg_berth_time_hours_last_7d": 3,
"port_calls_count": 20
}
}
}
This response provides valuable insights into port operations, including:
- vessels_in_anchorage: The number of vessels currently waiting at anchor.
- avg_wait_time_hours_last_7d: The average wait time for vessels over the past week.
7. Expected Arrivals
The GET /port/expected-arrivals endpoint lists vessels expected to arrive at a specific port, including their ETA and origin. This is essential for planning and resource allocation at ports.
Example Request:
curl -H "X-API-Key: YOUR_API_KEY" "https://vessels-api.com/api/V1/port/expected-arrivals?port=ARBUE"
Example Response:
{
"data": {
"port_id": "ARBUE",
"port_name": "Port of Buenos Aires",
"expected_arrivals": [
{
"mmsi": "258785000",
"imo": "1234567",
"name": "Atlantic Voyager",
"vessel_type": "Cruise",
"eta": "2023-10-02T08:00:00Z",
"departure_port": "San Francisco"
}
],
"total": 1
}
}
This endpoint provides critical information for port operations, including:
- expected_arrivals: A list of vessels expected to arrive, including their ETA and departure ports.
Conclusion
The Vessels API offers a powerful suite of tools for developers and maritime professionals looking to leverage real-time data for vessel tracking, fleet management, and port operations. With its comprehensive endpoints, consistent response structure, and global AIS coverage, it is the go-to solution for maritime data needs.
Whether you are building a fleet dashboard, optimizing logistics ETAs, or ensuring compliance with ESG reporting, the Vessels API provides the data and insights necessary to drive efficiency and improve decision-making.
Ready to get started? Try Vessels API for free and unlock the potential of real-time maritime data today!




