APIs

Developer Access

Protected API

SeaLens API

Private read-only access to Seahound maritime intelligence. Responses are product-shaped and expose operational state, exposure, advisories, and geoEmbedding provenance instead of raw LaneDB tables.

v1

Access

Key protected

Flagship state

Hormuz

AIS dependency

Not required

Authentication

All SeaLens API routes require a configured API key.

Authorization: Bearer <SEALENS_API_KEY>
x-api-key: <SEALENS_API_KEY>

Server variables

SEALENS_API_KEY

SEALENS_API_KEYS

Routes

Versioned endpoints under /api/v1/sealens.

MethodRoutePurpose
GET/api/v1/sealens/watchboard

Ranked chokepoint watch queue with state, exposure, and advisory signals.

GET/api/v1/sealens/chokepoints

List monitored chokepoints with derived state and capability flags.

GET/api/v1/sealens/chokepoints/:slug/state

Compact current-state response for one chokepoint.

GET/api/v1/sealens/chokepoints/:slug

Detail response with exposure, advisories, overlays, and geoEmbedding history.

Response Principles

Designed for third-party use without leaking raw curation tables.

  • Responses include api_version and generated_at.
  • Raw advisory text is not exposed.
  • AIS is not required for the dynamic state layer.
  • Capability flags describe dynamic geoEmbedding and source-backed coverage.
  • Provenance fields distinguish SAR/CMOD state from atlas-only context.

Example Request

Compact state for the Strait of Hormuz dynamic geoEmbedding example.

curl -H "Authorization: Bearer $SEALENS_API_KEY" \
  "$BASE_URL/api/v1/sealens/chokepoints/strait-of-hormuz/state"
View Hormuz state analysis

State Response Shape

Live responses are authoritative; this shows the documented shape.

{
  "api_version": "v1",
  "generated_at": "2026-06-21T00:00:00.000Z",
  "chokepoint": {
    "name": "Strait of Hormuz",
    "slug": "strait-of-hormuz",
    "region": "Persian Gulf / Gulf of Oman"
  },
  "state": {
    "level": "elevated",
    "label": "Elevated departure",
    "score": 70,
    "latest_acquisition_time": "2026-04-23T00:00:00.000Z",
    "distance_from_baseline": 11.129,
    "distance_from_weather": 9.466,
    "distance_activity_residual_weather": 12.325,
    "cluster_density": 0.00721
  },
  "capabilities": {
    "dynamic_geoembedding": true,
    "source_backed_ports": true,
    "ais_required": false
  },
  "provenance": {
    "state_source": "SAR/CMOD residual geoEmbedding",
    "cooperative_data_required": false
  }
}