Seaports API
TransportationMANTENIDA1 token / llamada

Seaports API

3.805 puertos de 195 países del World Port Index de la NGA: calados, límites de buque, instalaciones y UN/LOCODE

Cada puerto maritimo de la Tierra, desde la referencia del navegante. El World Port Index de la NGA (Pub 150, dominio publico): 3.805 puertos en 195 paises, cada uno con UN/LOCODE, coordenadas, tamano y tipo de puerto, calidad de abrigo, rango de marea, profundidades de canal/fondeadero/muelle, dimensiones maximas de buque, banderas de primer puerto de entrada y practicaje obligatorio, remolcadores, capacidad de reparacion y dique seco, mas listas normalizadas de instalaciones (contenedores, ro-ro, graneles liquidos, gruas, medico, ferrocarril...) y suministros (fuel oil, provisiones, agua potable...). Consulta Rotterdam como NLRTM (gran puerto de darsenas fluviales, canal de 11 m, practicaje obligatorio), filtra puertos con contenedores y canales de 15+ m (83 en el mundo), encuentra el puerto mas cercano a cualquier coordenada, o cuenta puertos por pais (EE.UU.: 666). Software de shipping y logistica, plataformas de carga, seguros maritimos, herramientas de cruceros y riesgo de cadena de suministro — combina con nuestras APIs de Tides, Buoys y Tariff Codes para el panorama maritimo completo.

Cada llamada necesita la cabecera X-Api-Key. Una clave gratuita incluye 500 tokens al mes, sin tarjeta. 1 token por llamada, así que el plan gratuito cubre unas 500 llamadas al mes.

Sin tarjeta de créditoAcceso a más de 125 APIsCancela cuando quieras
response.json
{
  "ok": true,
  "port": {
    "id": 31140,
    "name": "Rotterdam",
    "alt_name": null,
    "unlocode": "NLRTM",
    "country": "Netherlands",
    "region": "Netherlands -- 30980",
    "water_body": "North Sea; North Atlantic Ocean",
    "lat": 51.9,
    "lng": 4.4833,
    "harbor_size": "Large",
    "harbor_type": "River (Basins)",
    "shelter": "Fair",
    "tidal_range_m": 1,
    "channel_depth_m": 11,
    "anchorage_depth_m": 11,
    "cargo_pier_depth_m": 6.4,
    "max_vessel_length_m": 0,
    "max_vessel_beam_m": 0,
    "max_vessel_draft_m": 0,
    "first_port_of_entry": true,
    "pilotage_compulsory": true,
    "tugs_assistance": true,
    "repairs": "Major",
    "drydock": null,
    "facilities": [
      "wharves",
      "cranes_fixed",
      "cranes_mobile",
      "cranes_floating",
      "medical",
      "garbage_disposal"
    ],
    "supplies": [
      "provisions",
      "potable_water",
      "fuel_oil",
      "diesel_oil",
      "deck",
      "engine"
    ]
  }
}
Listo para producción
Infraestructura probada en producción con un SLA de disponibilidad del 99,9 %. Límites de uso generosos y respuestas consistentes.
Integración sencilla
REST + JSON estándar. Funciona con cualquier cliente HTTP. Fragmentos de código listos para copiar en 4 lenguajes.
Una clave, más de 125 APIs
Tu suscripción a DataAndAPIs desbloquea todas las APIs de la plataforma: anime, finanzas, deportes y más.

Casos de uso de Seaports API

  • Comprobar si un puerto puede recibir un buque por calado del canal, calado del muelle y dimensiones máximas de buque.

  • Resolver un UN/LOCODE o un nombre de puerto a coordenadas y características del puerto en software de transporte marítimo.

  • Encontrar los puertos más cercanos a una posición con las instalaciones que necesita una travesía, de dique seco a fuel.

  • Construir directorios de puertos con indicadores de practicaje, remolcadores, reparación y primer puerto de entrada.

Endpoints de Seaports API

Todos los endpoints con sus parámetros y una respuesta de ejemplo real.

GETData Sources

https://api-seaports.dataandapis.com/v1/sources

Este endpoint no recibe parámetros.

Petición de ejemplo

curl "https://api-seaports.dataandapis.com/v1/sources" \
  -H "X-Api-Key: YOUR_API_KEY"
Respuesta de ejemplo
{
  "ok": true,
  "sources": [
    {
      "slug": "nga-wpi",
      "name": "World Port Index (Pub 150)",
      "publisher": "US National Geospatial-Intelligence Agency",
      "licence": "US government work (public domain)",
      "source_url": "https://msi.nga.mil/Publications/WPI",
      "file_url": "https://msi.nga.mil/api/publications/download?key=16920959/SFH00000/UpdatedPub150.csv&type=view",
      "cadence": "updated periodically by NGA; occasional re-scrape",
      "record_count": 3805,
      "retrieved_at": "2026-09-06"
    }
  ]
}

GETNearest Ports

https://api-seaports.dataandapis.com/v1/seaports/nearest

Parámetros de consulta

ParámetroEjemplo
lat33.74Obligatorio
lng-118.27Obligatorio

Petición de ejemplo

curl "https://api-seaports.dataandapis.com/v1/seaports/nearest?lat=33.74&lng=-118.27" \
  -H "X-Api-Key: YOUR_API_KEY"
Respuesta de ejemplo
{
  "ok": true,
  "query": {
    "lat": 33.74,
    "lng": -118.27
  },
  "ports": [
    {
      "id": 16080,
      "name": "Los Angeles",
      "alt_name": "San Pedro; Terminal Island; Wilmington",
      "unlocode": "USLAX",
      "country": "United States",
      "region": "United States W Coast -- 16000",
      "water_body": "North Pacific Ocean",
      "lat": 33.75,
      "lng": -118.25,
      "harbor_size": "Large",
      "harbor_type": "Coastal (Breakwater)",
      "shelter": "Excellent",
      "tidal_range_m": 2.7,
      "channel_depth_m": 16.1,
      "anchorage_depth_m": 9.4,
      "cargo_pier_depth_m": 16.8,
      "max_vessel_length_m": 400,
      "max_vessel_beam_m": 61.2,
      "max_vessel_draft_m": 15,
      "first_port_of_entry": true,
…
Ver la respuesta completa
{
  "ok": true,
  "query": {
    "lat": 33.74,
    "lng": -118.27
  },
  "ports": [
    {
      "id": 16080,
      "name": "Los Angeles",
      "alt_name": "San Pedro; Terminal Island; Wilmington",
      "unlocode": "USLAX",
      "country": "United States",
      "region": "United States W Coast -- 16000",
      "water_body": "North Pacific Ocean",
      "lat": 33.75,
      "lng": -118.25,
      "harbor_size": "Large",
      "harbor_type": "Coastal (Breakwater)",
      "shelter": "Excellent",
      "tidal_range_m": 2.7,
      "channel_depth_m": 16.1,
      "anchorage_depth_m": 9.4,
      "cargo_pier_depth_m": 16.8,
      "max_vessel_length_m": 400,
      "max_vessel_beam_m": 61.2,
      "max_vessel_draft_m": 15,
      "first_port_of_entry": true,
      "pilotage_compulsory": true,
      "tugs_assistance": true,
      "repairs": "Major",
      "drydock": null,
      "facilities": [
        "wharves",
        "anchorage",
        "roro",
        "solid_bulk",
        "liquid_bulk",
        "container",
        "breakbulk",
        "oil_terminal",
        "cranes_fixed",
        "cranes_mobile",
        "cranes_floating",
        "medical",
        "garbage_disposal"
      ],
      "supplies": [
        "provisions",
        "potable_water",
        "fuel_oil",
        "diesel_oil",
        "deck",
        "engine"
      ],
      "distance_km": 2.2
    },
    {
      "id": 16070,
      "name": "Long Beach",
      "alt_name": null,
      "unlocode": "USLGB",
      "country": "United States",
      "region": "United States W Coast -- 16000",
      "water_body": "North Pacific Ocean",
      "lat": 33.7667,
      "lng": -118.1833,
      "harbor_size": "Medium",
      "harbor_type": "Coastal (Breakwater)",
      "shelter": "Excellent",
      "tidal_range_m": 1.2,
      "channel_depth_m": 23.2,
      "anchorage_depth_m": 11,
      "cargo_pier_depth_m": 16.8,
      "max_vessel_length_m": 400,
      "max_vessel_beam_m": 61,
      "max_vessel_draft_m": 22.1,
      "first_port_of_entry": true,
      "pilotage_compulsory": true,
      "tugs_assistance": true,
      "repairs": "Major",
      "drydock": null,
      "facilities": [
        "wharves",
        "anchorage",
        "roro",
        "solid_bulk",
        "liquid_bulk",
        "container",
        "breakbulk",
        "cranes_fixed",
        "cranes_mobile",
        "cranes_floating",
        "medical",
        "garbage_disposal"
      ],
      "supplies": [
        "provisions",
        "potable_water",
        "fuel_oil",
        "diesel_oil",
        "deck",
        "engine"
      ],
      "distance_km": 8.5
    },
    {
      "id": 16110,
      "name": "El Segundo",
      "alt_name": null,
      "unlocode": "USELS",
      "country": "United States",
      "region": "United States W Coast -- 16000",
      "water_body": "North Pacific Ocean",
      "lat": 33.9167,
      "lng": -118.4333,
      "harbor_size": "Very Small",
      "harbor_type": "Open Roadstead",
      "shelter": "Fair",
      "tidal_range_m": 1.8,
      "channel_depth_m": 4.9,
      "anchorage_depth_m": 0,
      "cargo_pier_depth_m": 0,
      "max_vessel_length_m": 0,
      "max_vessel_beam_m": 0,
      "max_vessel_draft_m": 0,
      "first_port_of_entry": false,
      "pilotage_compulsory": true,
      "tugs_assistance": false,
      "repairs": null,
      "drydock": null,
      "facilities": [
        "wharves",
        "anchorage",
        "medical"
      ],
      "supplies": [
        "provisions"
      ],
      "distance_km": 24.8
    }
  ]
}

GETPort Detail

https://api-seaports.dataandapis.com/v1/seaports/{key}

Parámetros de ruta

ParámetroEjemplo
keyNLRTMObligatorio

Petición de ejemplo

curl "https://api-seaports.dataandapis.com/v1/seaports/NLRTM" \
  -H "X-Api-Key: YOUR_API_KEY"
Respuesta de ejemplo
{
  "ok": true,
  "port": {
    "id": 31140,
    "name": "Rotterdam",
    "alt_name": null,
    "unlocode": "NLRTM",
    "country": "Netherlands",
    "region": "Netherlands -- 30980",
    "water_body": "North Sea; North Atlantic Ocean",
    "lat": 51.9,
    "lng": 4.4833,
    "harbor_size": "Large",
    "harbor_type": "River (Basins)",
    "shelter": "Fair",
    "tidal_range_m": 1,
    "channel_depth_m": 11,
    "anchorage_depth_m": 11,
    "cargo_pier_depth_m": 6.4,
    "max_vessel_length_m": 0,
    "max_vessel_beam_m": 0,
    "max_vessel_draft_m": 0,
    "first_port_of_entry": true,
    "pilotage_compulsory": true,
    "tugs_assistance": true,
    "repairs": "Major",
    "drydock": null,
    "facilities": [
…
Ver la respuesta completa
{
  "ok": true,
  "port": {
    "id": 31140,
    "name": "Rotterdam",
    "alt_name": null,
    "unlocode": "NLRTM",
    "country": "Netherlands",
    "region": "Netherlands -- 30980",
    "water_body": "North Sea; North Atlantic Ocean",
    "lat": 51.9,
    "lng": 4.4833,
    "harbor_size": "Large",
    "harbor_type": "River (Basins)",
    "shelter": "Fair",
    "tidal_range_m": 1,
    "channel_depth_m": 11,
    "anchorage_depth_m": 11,
    "cargo_pier_depth_m": 6.4,
    "max_vessel_length_m": 0,
    "max_vessel_beam_m": 0,
    "max_vessel_draft_m": 0,
    "first_port_of_entry": true,
    "pilotage_compulsory": true,
    "tugs_assistance": true,
    "repairs": "Major",
    "drydock": null,
    "facilities": [
      "wharves",
      "cranes_fixed",
      "cranes_mobile",
      "cranes_floating",
      "medical",
      "garbage_disposal"
    ],
    "supplies": [
      "provisions",
      "potable_water",
      "fuel_oil",
      "diesel_oil",
      "deck",
      "engine"
    ]
  }
}

GETPorts By Country

https://api-seaports.dataandapis.com/v1/seaports/stats

Este endpoint no recibe parámetros.

Petición de ejemplo

curl "https://api-seaports.dataandapis.com/v1/seaports/stats" \
  -H "X-Api-Key: YOUR_API_KEY"
Respuesta de ejemplo
{
  "ok": true,
  "by": "country",
  "stats": [
    {
      "group": "United States",
      "ports": 666,
      "large": 21
    },
    {
      "group": "Canada",
      "ports": 285,
      "large": 4
    },
    {
      "group": "United Kingdom",
      "ports": 186,
      "large": 7
    },
    {
      "group": "Japan",
      "ports": 163,
      "large": 11
    },
    {
      "group": "Norway",
      "ports": 141,
      "large": 1
…
Ver la respuesta completa
{
  "ok": true,
  "by": "country",
  "stats": [
    {
      "group": "United States",
      "ports": 666,
      "large": 21
    },
    {
      "group": "Canada",
      "ports": 285,
      "large": 4
    },
    {
      "group": "United Kingdom",
      "ports": 186,
      "large": 7
    },
    {
      "group": "Japan",
      "ports": 163,
      "large": 11
    },
    {
      "group": "Norway",
      "ports": 141,
      "large": 1
    },
    {
      "group": "Indonesia",
      "ports": 123,
      "large": 3
    },
    {
      "group": "Italy",
      "ports": 123,
      "large": 12
    },
    {
      "group": "Sweden",
      "ports": 92,
      "large": 3
    },
    {
      "group": "Philippines",
      "ports": 71,
      "large": 2
    },
    {
      "group": "Denmark",
      "ports": 69,
      "large": 1
    },
    {
      "group": "Russia",
      "ports": 68,
      "large": 4
    },
    {
      "group": "Australia",
      "ports": 66,
      "large": 5
    },
    {
      "group": "China",
      "ports": 66,
      "large": 5
    },
    {
      "group": "France",
      "ports": 66,
      "large": 6
    },
    {
      "group": "Greece",
      "ports": 57,
      "large": 1
    },
    {
      "group": "India",
      "ports": 55,
      "large": 4
    },
    {
      "group": "Turkey",
      "ports": 54,
      "large": 3
    },
    {
      "group": "Spain",
      "ports": 52,
      "large": 3
    },
    {
      "group": "Brazil",
      "ports": 45,
      "large": 4
    },
    {
      "group": "Iceland",
      "ports": 42,
      "large": 0
    },
    {
      "group": "Chile",
      "ports": 39,
      "large": 0
    },
    {
      "group": "Argentina",
      "ports": 37,
      "large": 1
    },
    {
      "group": "Finland",
      "ports": 37,
      "large": 5
    },
    {
      "group": "Germany",
      "ports": 36,
      "large": 5
    },
    {
      "group": "Malaysia",
      "ports": 35,
      "large": 3
    },
    {
      "group": "Mexico",
      "ports": 35,
      "large": 0
    },
    {
      "group": "Cuba",
      "ports": 34,
      "large": 6
    },
    {
      "group": "Egypt",
      "ports": 32,
      "large": 5
    },
    {
      "group": "Venezuela",
      "ports": 31,
      "large": 1
    },
    {
      "group": "Nigeria",
      "ports": 27,
      "large": 2
    },
    {
      "group": "Ukraine",
      "ports": 26,
      "large": 3
    },
    {
      "group": "Greenland",
      "ports": 23,
      "large": 0
    },
    {
      "group": "New Zealand",
      "ports": 22,
      "large": 2
    },
    {
      "group": "Papua New Guinea",
      "ports": 22,
      "large": 0
    },
    {
      "group": "Angola",
      "ports": 21,
      "large": 0
    },
    {
      "group": "Ireland",
      "ports": 21,
      "large": 1
    },
    {
      "group": "Thailand",
      "ports": 21,
      "large": 1
    },
    {
      "group": "Peru",
      "ports": 20,
      "large": 0
    },
    {
      "group": "United Arab Emirates",
      "ports": 20,
      "large": 1
    },
    {
      "group": "Estonia",
      "ports": 19,
      "large": 4
    },
    {
      "group": "Iran",
      "ports": 18,
      "large": 0
    },
    {
      "group": "Netherlands",
      "ports": 18,
      "large": 2
    },
    {
      "group": "Portugal",
      "ports": 18,
      "large": 3
    },
    {
      "group": "Algeria",
      "ports": 17,
      "large": 2
    },
    {
      "group": "Dominican Republic",
      "ports": 17,
      "large": 0
    },
    {
      "group": "Croatia",
      "ports": 16,
      "large": 2
    },
    {
      "group": "Saudi Arabia",
      "ports": 16,
      "large": 0
    },
    {
      "group": "Tunisia",
      "ports": 16,
      "large": 0
    },
    {
      "group": "Vietnam",
      "ports": 16,
      "large": 0
    },
    {
      "group": "Colombia",
      "ports": 14,
      "large": 0
    },
    {
      "group": "Libya",
      "ports": 14,
      "large": 0
    },
    {
      "group": "Puerto Rico",
      "ports": 14,
      "large": 0
    },
    {
      "group": "South Korea",
      "ports": 14,
      "large": 2
    },
    {
      "group": "Madagascar",
      "ports": 13,
      "large": 0
    },
    {
      "group": "Morocco",
      "ports": 12,
      "large": 3
    },
    {
      "group": "Panama",
      "ports": 12,
      "large": 0
    },
    {
      "group": "Jamaica",
      "ports": 11,
      "large": 0
    },
    {
      "group": "Mozambique",
      "ports": 11,
      "large": 0
    },
    {
      "group": "Romania",
      "ports": 11,
      "large": 0
    },
    {
      "group": "Gabon",
      "ports": 10,
      "large": 0
    }
  ]
}

GETSearch Ports

https://api-seaports.dataandapis.com/v1/seaports

Parámetros de consulta

ParámetroEjemplo
countryNetherlandsOpcional
facilityOpcional
harbor_sizeLargeOpcional
min_channel_depth_mOpcional
qrotterdamOpcional

Petición de ejemplo

curl "https://api-seaports.dataandapis.com/v1/seaports?country=Netherlands&harbor_size=Large&q=rotterdam" \
  -H "X-Api-Key: YOUR_API_KEY"
Respuesta de ejemplo
{
  "ok": true,
  "page": 1,
  "limit": 25,
  "total": 1,
  "total_pages": 1,
  "ports": [
    {
      "id": 31140,
      "name": "Rotterdam",
      "alt_name": null,
      "unlocode": "NLRTM",
      "country": "Netherlands",
      "region": "Netherlands -- 30980",
      "water_body": "North Sea; North Atlantic Ocean",
      "lat": 51.9,
      "lng": 4.4833,
      "harbor_size": "Large",
      "harbor_type": "River (Basins)",
      "shelter": "Fair",
      "tidal_range_m": 1,
      "channel_depth_m": 11,
      "anchorage_depth_m": 11,
      "cargo_pier_depth_m": 6.4,
      "max_vessel_length_m": 0,
      "max_vessel_beam_m": 0,
      "max_vessel_draft_m": 0,
      "first_port_of_entry": true,
…
Ver la respuesta completa
{
  "ok": true,
  "page": 1,
  "limit": 25,
  "total": 1,
  "total_pages": 1,
  "ports": [
    {
      "id": 31140,
      "name": "Rotterdam",
      "alt_name": null,
      "unlocode": "NLRTM",
      "country": "Netherlands",
      "region": "Netherlands -- 30980",
      "water_body": "North Sea; North Atlantic Ocean",
      "lat": 51.9,
      "lng": 4.4833,
      "harbor_size": "Large",
      "harbor_type": "River (Basins)",
      "shelter": "Fair",
      "tidal_range_m": 1,
      "channel_depth_m": 11,
      "anchorage_depth_m": 11,
      "cargo_pier_depth_m": 6.4,
      "max_vessel_length_m": 0,
      "max_vessel_beam_m": 0,
      "max_vessel_draft_m": 0,
      "first_port_of_entry": true,
      "pilotage_compulsory": true,
      "tugs_assistance": true,
      "repairs": "Major",
      "drydock": null,
      "facilities": [
        "wharves",
        "cranes_fixed",
        "cranes_mobile",
        "cranes_floating",
        "medical",
        "garbage_disposal"
      ],
      "supplies": [
        "provisions",
        "potable_water",
        "fuel_oil",
        "diesel_oil",
        "deck",
        "engine"
      ]
    }
  ]
}

De dónde salen los datos

Fuente
World Port Index de la NGA, publicación 150 (dominio público).
Actualización
Recargado con cada publicación de la NGA.

Una instalación. Todos los endpoints.

No necesitas SDKs propietarios. Funciona con cualquier cliente HTTP. Elige tu lenguaje y pega el código.

3lenguajes
5endpoints
RESTarquitectura
1clave para todas las APIs
  • Respuestas totalmente tipadas — autocompletado en tu IDE
  • Sigue la API al día — los nuevos endpoints llegan el mismo día
  • Una sola clave funciona en más de 125 APIs de la plataforma
import axios from 'axios';

const { data } = await axios.get(
  'https://api-seaports.dataandapis.com/v1/sources',
  { headers: { 'X-Api-Key': process.env.API_KEY } }
);

Seaports API · X-Api-Key

Explora los endpoints

Explora los parámetros de solicitud e inspecciona ejemplos de respuesta en vivo.

Endpoints disponibles

Parámetros de la solicitud

URL de la API

Encabezados

X-Api-Key
import axios from 'axios';

const url = 'https://api-seaports.dataandapis.com/v1/sources';
const { data } = await axios.get(url, {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' }
});

Una suscripción. Todas las APIs.

Los tokens desbloquean esta API y más de 20 más en DataAndAPIs. Cambia de API cuando quieras.

GRATIS

$0/mes

500 tokens / mes

  • Acceso a todas las APIs
  • Tokens se renuevan mensualmente
  • Soporte comunitario
Comienza gratis
Más Popular

STARTER

$6.99/mes

25.000 tokens / mes

  • Acceso a todas las APIs
  • Tokens se renuevan mensualmente
  • Soporte por email
Suscribirse

PRO

$24.99/mes

100.000 tokens / mes

  • Acceso a todas las APIs
  • Tokens se renuevan mensualmente
  • Soporte por email prioritario
Suscribirse

ULTRA

$99.99/mes

1.000.000 tokens / mes

  • Acceso a todas las APIs
  • Tokens se renuevan mensualmente
  • Soporte prioritario
Suscribirse

¿Necesitas mayor volumen, infraestructura dedicada o un contrato personalizado? Habla con ventas →

Preguntas sobre Seaports API

Lanza Seaports API esta tarde.

500 tokens gratis. Sin tarjeta. Y más de 125 APIs más con la misma clave.