Data Docked
DocsPricing
Contact
Sign inGet free API keyGet key
Data Docked

Maritime data API — real-time & historical AIS, port intelligence, vessel particulars.

API status

Products

  • Vessel Location
  • Vessel Particulars
  • Port Analytics
  • Historical Data
  • Route Planner
  • All APIs

Use Cases

  • Fleet Management
  • Supply Chain
  • Compliance
  • Insurance
  • Trading
  • All use cases

Developers

  • API Reference
  • Quickstart
  • Best Practices
  • Integrations
  • API Status
  • FAQ

Learn

  • Glossary
  • Learn
  • AIS Data Explained
  • AIS Message Types
  • MMSI Explained
  • IMO Numbers

Company

  • About
  • Pricing
  • Credit Calculator
  • Blog
  • App Store
  • Contact

© 2026 Data Docked · VAT EE102956214

TermsPrivacySecurityCookies
  1. Home
  2. Port Search API

Port Search API

Find Ports by Name or UN/LOCODE

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.

Start Free TrialView Documentation
Port Search API

1 Credit

Per request (only when ports are found)

Paginated

50 ports per page

50/min

Rate limit

From a port name to a UN/LOCODE in one call

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 by name or code — "rotter", "Rotterdam" and "NLRTM" all work
  • Case-insensitive — Matches anywhere in the name or code
  • Terminals and anchorages included — Returned even without a UN/LOCODE
  • Coordinates for every port — Latitude and longitude in decimal degrees

Search Result

ROTTERDAM

7 total
port_callNLRTM
port_addressRotterdam Netherlands
latitude51.943306
longitude4.1418123

1 credit • 50 requests/min • 50 per page

Quick Start

The query must be at least 3 characters long

GET/api/vessels_operations/get-ports?query=rotterdam&page=1
Response (shortened)200 OK
{
  "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

Who Uses This API?

Port Call Lookups

Turn a port name typed by a user into the UN/LOCODE that Port Calls by Port expects, without maintaining your own port list.

Maps & Dashboards

Place ports, anchorages and terminals on a map using the coordinates returned for every match.

Search & Autocomplete

Power a port picker in your app: type three letters of a name or code and show the matching ports with their country.

Data Normalisation

Map free-text port names from voyage reports, charter parties or ETAs onto a standard UN/LOCODE.

Frequently Asked Questions

What can I search by?

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.

Is there a minimum query length?

Yes, the query must be at least 3 characters long. Shorter queries return a 400 error and are not charged.

Why is port_call null for some results?

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.

How does pagination work?

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.

How much does this endpoint cost?

1 credit per request, charged only when at least one port is found. Requests that find nothing, or that fail validation, are free.

Related Endpoints

Chain port search results with these endpoints

Port Calls by Port API

Arrivals, departures, vessels in port and expected at a port by UN/LOCODE.

Port Calls by Vessel API

Port visit history for any vessel.

Vessels by Area API

All vessels around a coordinate, such as a port location.

Route Planner API

Sea routes, distance and ETA between the UN/LOCODEs you found.

Start Searching Ports Today

20 free credits on sign-up. No credit card required.

Start Free Trial