---
title: "Current vessels (last-known)"
method: GET
path: "/api/v2/maritime/vessels"
tags: ["Maritime"]
---

# Current vessels (last-known)

`GET /api/v2/maritime/vessels`

Current vessels with their last-known position and identity, derived from terrestrial AIS. Positions are LAST-KNOWN ONLY — there is no raw position-track endpoint. This is current state, so it takes no date window. Requires a plan with Maritime intelligence access (`can_use_maritime`) — the Corporate & Supply Chain plan and above.

Forward-accruing: vessel state begins at launch (June 2026). Terrestrial AIS only (no satellite).

## Query parameters

- `chokepoint` 'hormuz' | 'bab_el_mandeb' | 'malacca' | 'suez' | 'panama' | 'bosphorus' | 'gibraltar' | 'dover' | 'kerch' | 'taiwan' | 'danish_straits'
- `search` string
- `bbox` string
- `near` string
- `near_gem_id` string
- `radius_km` number
- `limit` integer
- `cursor` string

## Response `200`

A page of vessels, most recently seen first (or nearest-first when near / near_gem_id is set). Each row: mmsi, imo, name, ship_type, ship_type_code, flag (ISO-3), call_sign, length_m, width_m, draught_m, lat, lon, chokepoint, sog (speed over ground, knots), last_time, gem_id (Global Energy Monitor link when matched), and distance_km (km from the near / near_gem_id center, only present when one is set). Standard envelope: { success, data, pagination, applied_filters }.

- object
  - `success` boolean
  - `data` object[]
    - `mmsi` integer
    - `imo` string
    - `name` string
    - `ship_type` string
    - `ship_type_code` integer
    - `flag` string
    - `call_sign` string
    - `length_m` integer
    - `width_m` integer
    - `draught_m` number
    - `chokepoint` string
    - `lat` number
    - `lon` number
    - `sog` number
    - `last_time` string
    - `gem_id` string
    - `distance_km` number
  - `pagination` object
    - `limit` integer
    - `cursor` unknown
    - `next_cursor` unknown
  - `applied_filters` object
    - `chokepoint` string
    - `near` string
    - `radius_km` integer
    - `ignored` object

## Other responses

- `401` — Missing/invalid API key
- `403` — Plan required (PLAN_REQUIRED) — the caller's plan does not carry the required source entitlement.
- `500` — Server error

---

[API](https://skmtc.net/gdeltcloud/apis/gdelt-cloud-api-v2.md) · [All operations](https://skmtc.net/gdeltcloud/apis/gdelt-cloud-api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gdeltcloud/gdelt-cloud-api-v2/revisions/01aaa6255180/schema)
