Port Search API
Search more than 22,000 ports, terminals and anchorages by name or code. Get the UN/LOCODE, name, country and coordinates of every match, ready to pass into Port Calls by Port or any location-based endpoint.

1 Credit
Per request (only when ports are found)
Paginated
50 ports per page
50/min
Rate limit
Send any part of a port name or code in the query string. Every port whose UN/LOCODE or name contains it comes back, sorted by name, with coordinates you can put straight on a map.
Search Result
1 credit • 50 requests/min • 50 per page
The query must be at least 3 characters long
{
"total": 7,
"items": [
{
"port_call": null,
"port_address": "Rotterdam anch Netherlands",
"latitude": 52.058403,
"longitude": 3.3782959
},
{
"port_call": "NLBOT",
"port_address": "Rotterdam botlek Netherlands",
"latitude": 51.881538,
"longitude": 4.2915287
},
{
"port_call": "NLRTM",
"port_address": "Rotterdam Netherlands",
"latitude": 51.943306,
"longitude": 4.1418123
}
],
"limit": 50,
"page": 1
}Cost: 1 credit • Rate limit: 50/min • Page size: 50
Turn a port name typed by a user into the UN/LOCODE that Port Calls by Port expects, without maintaining your own port list.
Place ports, anchorages and terminals on a map using the coordinates returned for every match.
Power a port picker in your app: type three letters of a name or code and show the matching ports with their country.
Map free-text port names from voyage reports, charter parties or ETAs onto a standard UN/LOCODE.
The query is matched against both the port UN/LOCODE and the port name with country, as a case-insensitive "contains" match. "rotterdam", "Rotterdam" and "NLRTM" all find the Port of Rotterdam; "rotterdam" also returns its terminals and anchorage.
Yes, the query must be at least 3 characters long. Shorter queries return a 400 error and are not charged.
Not every location has a UN/LOCODE. Anchorages, terminals and smaller harbours are still returned with their name and coordinates, but port_call is null for them. Only results with a port_call can be used with Port Calls by Port.
Each page holds up to 50 ports and pages start at 1. total is the number of ports matching the query across all pages. A page past the end of the list returns an empty items list with total 0 and is not charged.
1 credit per request, charged only when at least one port is found. Requests that find nothing, or that fail validation, are free.
Chain port search results with these endpoints
Arrivals, departures, vessels in port and expected at a port by UN/LOCODE.
Port visit history for any vessel.
All vessels around a coordinate, such as a port location.
Sea routes, distance and ETA between the UN/LOCODEs you found.