In the maritime industry, real-time data and analytics are crucial for effective fleet management, operational efficiency, and compliance with environmental regulations. The Vessels API provides a comprehensive solution for developers, startups, and enterprise teams looking to access global maritime vessel tracking data powered by AIS (Automatic Identification System). With 17 REST endpoints, the Vessels API covers vessel search, live tracking, fleet operations, port intelligence, and IMO CII emissions scoring, making it the go-to maritime data API.
Why Choose Vessels API?
The Vessels API stands out for several reasons:
- 18 REST endpoints covering a wide range of maritime data.
- One API key and one base URL for simplified access.
- Consistent JSON envelope on every response: {status, success, message, data}.
- Global AIS coverage with near real-time refresh rates.
- 7-day free trial on all plans, making it accessible for indie developers and enterprise fleets alike.
In this blog post, we will explore the capabilities of the Vessels API, focusing on its endpoints relevant to pilot boat tracking, and how developers can leverage this data for various applications.
Vessel Intelligence Endpoints
1. Vessel Search
The GET /vessels/search endpoint allows users to find any vessel by name, IMO, or MMSI. This is particularly useful for logistics companies and fleet managers who need to quickly locate vessels in their operations.
Example Request:
curl -H "X-API-Key: YOUR_API_KEY" "https://vessels-api.com/api/V1/vessels/search?query=atlantic&flag=Panama"
Example Response:
{
"status": 200,
"success": true,
"message": "Vessels found",
"data": {
"vessels": [
{
"imo": "1234567",
"mmsi": "123456789",
"name": "Atlantic Voyager",
"flag": "Panama",
"vessel_type": "Cargo",
"gross_tonnage": 50000,
"deadweight_tonnage": 30000,
"year_built": 2010,
"length_m": 250,
"width_m": 40
}
],
"pagination": {
"current_page": 1,
"per_page": 10,
"total": 1,
"last_page": 1
}
}
}
Key Fields Explained:
- imo: International Maritime Organization number, a unique identifier for vessels.
- mmsi: Maritime Mobile Service Identity, used for radio communication.
- name: The name of the vessel.
- flag: The country under which the vessel is registered.
- vessel_type: The type of vessel (e.g., cargo, tanker).
- gross_tonnage: The total internal volume of the vessel.
- deadweight_tonnage: The maximum weight a vessel can safely carry.
- year_built: The year the vessel was constructed.
- length_m: The length of the vessel in meters.
- width_m: The width of the vessel in meters.
2. Live Vessel Tracking
The GET /vessels/track endpoint provides live position data, including up to 168 hours of position history, active routes, predicted ETA, 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:
{
"status": 200,
"success": true,
"message": "Vessel tracking data retrieved",
"data": {
"vessel": {
"imo": "1234567",
"mmsi": "258785000",
"name": "Atlantic Voyager"
},
"current_position": {
"latitude": 34.0522,
"longitude": -118.2437,
"speed_knots": 12,
"course_degrees": 90,
"heading_degrees": 90,
"navigational_status": "Under way using engine",
"timestamp_utc": "2023-10-13T10:36:00Z",
"destination": "Los Angeles",
"eta": "2023-10-15T12:00:00Z"
},
"position_history": [
{
"timestamp": "2023-10-12T10:36:00Z",
"latitude": 34.0522,
"longitude": -118.2437
}
],
"route": {
"departure_port": "San Francisco",
"departure_time": "2023-10-12T10:00:00Z",
"destination_port": "Los Angeles",
"eta": "2023-10-15T12:00:00Z",
"distance_nm": 300,
"avg_speed_knots": 12
},
"last_port_visits": [
{
"port_name": "San Francisco",
"arrival_time": "2023-10-12T10:00:00Z",
"departure_time": "2023-10-12T10:00:00Z"
}
]
}
}
Key Fields Explained:
- current_position: Contains the vessel's current latitude, longitude, speed, course, heading, navigational status, timestamp, destination, and ETA.
- position_history: An array of historical positions with timestamps.
- route: Details about the vessel's route, including departure and destination ports, ETA, distance, and average speed.
- last_port_visits: Information about the vessel's recent port visits.
3. Nearby Vessels
The GET /vessels/nearby endpoint allows users to retrieve all vessels within a specified radius of a given latitude and longitude. This is particularly useful for port operators and logistics teams who need to monitor vessel traffic in specific areas.
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:
{
"status": 200,
"success": true,
"message": "Nearby vessels retrieved",
"data": {
"center": {
"latitude": -34.60,
"longitude": -58.38
},
"radius_nm": 30,
"total": 5,
"vessels": [
{
"imo": "1234567",
"mmsi": "258785000",
"name": "Atlantic Voyager",
"ship_type": "Cargo",
"position": {
"latitude": -34.60,
"longitude": -58.38,
"timestamp_utc": "2023-10-13T10:36:00Z"
},
"distance_nm": 10,
"speed_knots": 12,
"course_degrees": 90,
"navigational_status": "Under way using engine"
}
]
}
}
Key Fields Explained:
- center: The latitude and longitude of the center point for the search.
- radius_nm: The radius in nautical miles for the search.
- total: The total number of vessels found within the specified radius.
- vessels: An array of vessels found, including their current positions and navigational status.
4. Vessel Analytics
The GET /vessels/analytics endpoint provides aggregated voyage statistics for vessels, ports, or fleets. This is invaluable for fleet managers and logistics teams looking to analyze performance metrics over specific periods.
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:
{
"status": 200,
"success": true,
"message": "Analytics data retrieved",
"data": {
"type": "vessel",
"mmsi": "258785000",
"imo": "1234567",
"name": "Atlantic Voyager",
"period": "7d",
"statistics": {
"total_distance_nm": 300,
"avg_speed_knots": 12,
"max_speed_knots": 15,
"port_calls_count": 5,
"total_time_in_port_hours": 20,
"ports_visited": ["San Francisco", "Los Angeles"]
}
}
}
Key Fields Explained:
- statistics: Contains aggregated data such as total distance traveled, average speed, maximum speed, number of port calls, total time spent in port, and a list of ports visited.
Fleet Operations Endpoints
5. Fleet Management
The POST /vessels/fleet endpoint allows users to batch request positions, routes, and statistics for multiple vessels in one request. 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,"include_routes":true}' "https://vessels-api.com/api/V1/vessels/fleet"
Example Response:
{
"status": 200,
"success": true,
"message": "Fleet data retrieved",
"data": {
"fleet": {
"total_vessels": 2,
"vessels_at_sea": 1,
"vessels_in_port": 1
},
"vessels": [
{
"imo": "9122556",
"mmsi": "309374000",
"name": "Atlantic Voyager",
"position": {
"latitude": -34.60,
"longitude": -58.38
},
"route": {
"departure_port": "San Francisco",
"destination_port": "Los Angeles"
}
}
]
}
}
Key Fields Explained:
- fleet: Contains summary data about the fleet, including total vessels, vessels at sea, and vessels in port.
- vessels: An array of vessels with their current positions and routes.
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 traffic effectively.
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:
{
"status": 200,
"success": true,
"message": "Congestion data retrieved",
"data": {
"port_id": "ARBUE",
"port_name": "Port of Buenos Aires",
"period": "7d",
"snapshot": {
"vessels_in_anchorage": 10,
"vessels_at_berth": 5
},
"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": 15
}
}
}
Key Fields Explained:
- snapshot: Provides the current number of vessels in anchorage and at berth.
- statistics: Includes average and maximum wait times, average berth times, and total port calls over the specified period.
7. Port Data
The GET /ports/data endpoint delivers detailed information for a single port, including live vessel counts. This is essential for logistics and operational planning.
Example Request:
curl -H "X-API-Key: YOUR_API_KEY" "https://vessels-api.com/api/V1/ports/data?port=ARBUE"
Example Response:
{
"status": 200,
"success": true,
"message": "Port data retrieved",
"data": {
"port_id": "ARBUE",
"name": "Port of Buenos Aires",
"country": "Argentina",
"latitude": -34.60,
"longitude": -58.38,
"timezone": "America/Argentina/Buenos_Aires",
"vessels_in_port": 5,
"vessels_expected": 10
}
}
Key Fields Explained:
- vessels_in_port: The current number of vessels in the port.
- vessels_expected: The number of vessels expected to arrive at the port.
Conclusion
The Vessels API offers a robust and comprehensive solution for accessing maritime data, making it an invaluable tool for developers, fleet managers, port operators, and logistics teams. With its extensive range of endpoints, real-time data capabilities, and user-friendly structure, the Vessels API simplifies the complexities of maritime operations.
Whether you are looking to track vessels, analyze fleet performance, or manage port operations, the Vessels API provides the necessary tools to enhance your maritime applications. Get started with Vessels API today and unlock the potential of real-time maritime data.
For more information, visit Vessels API and Try Vessels API for free.




