Find your data.
Choose your endpoint.
Start with a data family, then inspect the records and filters. Open a working tool in API Arena when you’re ready to try a request.
12 endpoints matching “/maritime/” across all data families
Events & news
Discover developments, grouped reporting and the evidence behind them.
GDELT article stream · GDELT Cloud classificationPeople & organizations
Find identities and connect their reporting, hierarchy and public roles.
Resolved identities · GLEIF legal entitiesCompany filings
Retrieve registrants, financial facts and filing-backed business relationships.
SEC EDGAR · XBRLInfrastructure & maritime
Explore sites, energy assets, ports and vessel activity.
Global Energy Monitor · NGA World Port Index · maritime recordsGETArea activity over time/api/v2/maritime/activity
Aggregate vessel activity over an area, bucketed by hour or day — distinct vessels, total + moving positions, and average/max speed per bucket. Generalizes /transits to arbitrary geography (chokepoint, bounding box, or proximity). The "is this area's traffic anomalous vs the baseline" view. Requires a plan with Maritime intelligence access (can_use_maritime) — see Pricing for the plans that include it. Historical / baseline surface: reads raw AIS positions directly (not the derived rollups). Forward-accruing: positions begin at launch (June 2026) — no historical backfill. Terrestrial AIS only (no satellite). Date windows are capped at 30 days; defaults to the trailing 14 days. Bucket auto-selects hour for spans ≤2 days, otherwise day.
Response: success, bucket, data, pagination, applied_filters
Parameters and accepted values (10)
- chokepoint
- Restrict to one chokepoint. Omit to use bbox / near / near_gem_id, or for global. Full value list: https://docs.gdeltcloud.com/reference/enums#chokepoint
Accepted values: hormuz, bab_el_mandeb, malacca, suez, panama, bosphorus, gibraltar, dover, kerch, taiwan, danish_straits
- bbox
- Bounding box filter: minLon,minLat,maxLon,maxLat (lon-first axis order, e.g. 56,26,57,27).
- near
- Point 'lat,lon' for a radius area; combine with radius_km (default 50 km). Format: lat,lon — pass the radius separately in radius_km.
- near_gem_id
- GEM energy-asset gem_id center — traffic within radius_km of that LNG terminal / platform (default 25 km). The cross-source 'traffic near energy infrastructure' join.
- radius_km
- Radius in km for near / near_gem_id. Default 50 (near) or 25 (near_gem_id); clamped 1–2000.
- bucket
- Time bucket. Auto-selects hour for spans ≤2 days, otherwise day. Full value list: https://docs.gdeltcloud.com/reference/enums#maritime_activity_bucket
Accepted values: hour, day
- date_start
- Window start YYYY-MM-DD (≤30-day window).
- date_end
- Window end YYYY-MM-DD.
- days
- Trailing N-day window (1–30). Defaults to 14.
- limit
- Buckets per page (1–1000).
GETVessel by IMO/api/v2/maritime/carriers/{imo}
One vessel by IMO number: identity, last-known position, and the matched Global Energy Monitor LNG carrier (when one exists). Position is LAST-KNOWN ONLY — no raw track. Returns 404 when no vessel identity exists for the IMO. Requires a plan with Maritime intelligence access (can_use_maritime) — see Pricing for the plans that include it. Forward-accruing: position history begins at launch (June 2026). Terrestrial AIS only (no satellite).
Response: success, imo, identity, last_position, gem_carrier
Parameters and accepted values (1)
- imo
- IMO number of the vessel (e.g. 9006681).
GETChokepoint risk watch/api/v2/maritime/chokepoint-watch
The maritime risk layer — fuses each chokepoint's AIS coverage confidence (live / sparse / dark) and 24h/7d transit activity with GDELT conflict events (last 7 days) in its bordering countries, plus nearby flagged-energy-asset exposure. Surfaces the 'blind spot': high conflict signal but no vessel coverage. Derived rollups + events only (no raw positions). Requires a plan with Maritime intelligence access (can_use_maritime) — see Pricing for the plans that include it. Each row scores a risk_level (critical / elevated / watch / quiet) and rows are risk-ranked. Envelope: { success, data, summary, applied_filters }.
Response: success, data, summary, applied_filters
Parameters and accepted values (3)
- chokepoint
- Restrict to one chokepoint (one of the 11 monitored straits). Omit for all. Full value list: https://docs.gdeltcloud.com/reference/enums#chokepoint
Accepted values: hormuz, bab_el_mandeb, malacca, suez, panama, bosphorus, gibraltar, dover, kerch, taiwan, danish_straits
- blind_spots_only
- true → only chokepoints that are a blind spot (dark AIS coverage AND conflict signal in the bordering countries).
- min_conflict
- Only chokepoints with at least N GDELT conflict events in the last 7 days.
GETSpatial density grid/api/v2/maritime/density
Spatial density grid (heatmap) of position and vessel counts per lat/lon cell within an area. Shows where traffic concentrates. AREA REQUIRED — pass bbox, near, or near_gem_id. Requires a plan with Maritime intelligence access (can_use_maritime) — see Pricing for the plans that include it. Historical / baseline surface: reads raw AIS positions directly. Forward-accruing: positions begin at launch (June 2026) — no historical backfill. Terrestrial AIS only (no satellite). Date windows are capped at 7 days; defaults to the trailing 1 day.
Response: success, cell_deg, data, pagination, applied_filters
Parameters and accepted values (9)
- bbox
- Bounding box filter: minLon,minLat,maxLon,maxLat (lon-first axis order). One of bbox / near / near_gem_id is required.
- near
- Point 'lat,lon' for a radius area; combine with radius_km (default 50 km). One of bbox / near / near_gem_id is required. Format: lat,lon — pass the radius separately in radius_km.
- near_gem_id
- GEM energy-asset gem_id center — concentration of traffic within radius_km of that asset (default 25 km). One of bbox / near / near_gem_id is required.
- radius_km
- Radius in km for near / near_gem_id. Default 50 (near) or 25 (near_gem_id); clamped 1–2000.
- cell_deg
- Grid cell size in degrees (0.01–1). Smaller = finer heatmap. Defaults to 0.05.
- date_start
- Window start YYYY-MM-DD (≤7-day window).
- date_end
- Window end YYYY-MM-DD.
- days
- Trailing N-day window (1–7). Defaults to 1.
- limit
- Grid cells per page (1–5000), densest first.
GETChokepoint dwell episodes/api/v2/maritime/dwell
Dwell episodes — completed arrival→departure stays at maritime chokepoints, derived from terrestrial AIS. Each row is one vessel's stay with its dwell duration. Requires a plan with Maritime intelligence access (can_use_maritime) — see Pricing for the plans that include it. Forward-accruing: episodes begin accruing at launch (June 2026) — no historical backfill. Derived-only: no raw position track. Terrestrial AIS only (no satellite). Filtered by departure time; date windows are capped at 30 days and default to the trailing 7 days.
Response: success, data, pagination, applied_filters
Parameters and accepted values (7)
- chokepoint
- Restrict to one chokepoint. Omit for all. Full value list: https://docs.gdeltcloud.com/reference/enums#chokepoint
Accepted values: hormuz, bab_el_mandeb, malacca, suez, panama, bosphorus, gibraltar, dover, kerch, taiwan, danish_straits
- status
- ongoing = the vessel is still inside the chokepoint at the rollup edge (its dwell_hours is elapsed-so-far and departure is an as-of timestamp, not final); completed = the vessel has departed. Omit for both. An unknown value returns 400 INVALID_ENUM. Full value list: https://docs.gdeltcloud.com/reference/enums#maritime_dwell_status
Accepted values: ongoing, completed
- date_start
- Departure-window start YYYY-MM-DD (≤30-day window).
- date_end
- Departure-window end YYYY-MM-DD.
- days
- Trailing N-day window (1–30). Defaults to 7.
- limit
- Rows per page (1–500).
- cursor
- Pagination cursor (offset) from a prior response's next_cursor.
GETAIS-dark gaps/api/v2/maritime/gaps
AIS-dark gaps — intervals where a vessel stopped broadcasting AIS then reappeared, derived from terrestrial AIS coverage. Each row is one gap with the last-known position before it went dark. Requires a plan with Maritime intelligence access (can_use_maritime) — see Pricing for the plans that include it. Forward-accruing: gaps begin accruing at launch (June 2026) — no historical backfill. Terrestrial AIS only (no satellite); a gap reflects loss of terrestrial reception, not necessarily a deliberate dark event. Filtered by gap-end time; date windows are capped at 30 days and default to the trailing 7 days.
Response: success, data, pagination, applied_filters
Parameters and accepted values (7)
- chokepoint
- Restrict to gaps whose last-known chokepoint is this one. Omit for all. Full value list: https://docs.gdeltcloud.com/reference/enums#chokepoint
Accepted values: hormuz, bab_el_mandeb, malacca, suez, panama, bosphorus, gibraltar, dover, kerch, taiwan, danish_straits
- min_gap_hours
- Minimum gap duration in hours. Defaults to 6.
- date_start
- Gap-end-window start YYYY-MM-DD (≤30-day window).
- date_end
- Gap-end-window end YYYY-MM-DD.
- days
- Trailing N-day window (1–30). Defaults to 7.
- limit
- Rows per page (1–500).
- cursor
- Pagination cursor (offset) from a prior response's next_cursor.
GETPort disruption pulse/api/v2/maritime/port-pulse
Port-level disruption intelligence — geo-fuses the WPI ports reference with GDELT events near each port (within event_radius_km over the last days): relevant-event volume, conflict signal, a 7d-vs-baseline anomaly ratio, recent headlines, nearby flagged-energy-asset exposure, and AIS-coverage context. Scope by country, terminal type, name, or proximity; with no scope it defaults to strategic ports (LNG/oil terminals + large harbors). Requires a plan with Maritime intelligence access (can_use_maritime) — see Pricing for the plans that include it. Each row scores a pulse_level (critical / elevated / active / quiet) and rows are risk-ranked. Envelope: { success, data, summary, applied_filters }. Pulse rubric: critical = at least 5 conflict Events; elevated = 1–4 conflict Events; active = no conflict Events but at least one other relevant Event; quiet = no relevant Events. Relevant-event volume does not override a conflict-based level. relevant_events: Events within event_radius_km that are either conflict-family Events or carry one of the published maritime, infrastructure, trade, sanctions, energy, logistics, port, shipping, pipeline, customs, smuggling, or commodity relevance tags.
Response: success, data, summary, applied_filters
Parameters and accepted values (10)
- country
- Country filter on port-pulse. Accepts a country name, ISO-2, or ISO-3 (e.g. Ukraine, UA, UKR) via the shared resolveCountryInput layer; an unresolvable value returns 400 INVALID_COUNTRY.
- search
- Case-insensitive match on port name, alternate name, or UN/LOCODE.
- lng_terminal
- true → only ports with an LNG terminal.
- oil_terminal
- true → only ports with an oil terminal.
- near
- Point 'lat,lon' for a radius search; combine with radius_km (default 200). Format: lat,lon — pass the radius separately in radius_km.
- near_gem_id
- GEM energy-asset gem_id — scope to ports within radius_km of that asset (cross-source join).
- radius_km
- Radius in km for near / near_gem_id. Default 200; clamped 1–2000.
- days
- GDELT event window in days (1–30). Defaults to 14.
- event_radius_km
- How close an event must be to a port to count it (5–500 km). Defaults to 50.
- limit
- Number of ports to score (1–50). Defaults to 20.
GETPorts reference/api/v2/maritime/ports
The open-data ports reference (NGA World Port Index) — ~3,800 ports with coordinates, UN/LOCODE, harbor size/type/use, max vessel draft, channel depth, and container / oil / LNG terminal facilities. Filter by country, harbor size, terminal type, name, or proximity to a point / GEM energy asset. This is reference data (no date window). Requires a plan with Maritime intelligence access (can_use_maritime) — see Pricing for the plans that include it. When a proximity center is set (near, near_gem_id), each row carries distance_km and results sort nearest-first. Standard envelope: { success, data, pagination, applied_filters }.
Response: success, data, pagination, applied_filters
Parameters and accepted values (11)
- search
- Case-insensitive match on port name, alternate name, or UN/LOCODE.
- country
- Country filter on ports. Accepts a country name, ISO-2, or ISO-3 (e.g. Netherlands, NL, NLD) via the shared resolveCountryInput layer; an unresolvable value returns 400 INVALID_COUNTRY. Full value list: https://docs.gdeltcloud.com/reference/enums#country
- min_harbor_size
- Minimum harbor size (inclusive of larger sizes). Full value list: https://docs.gdeltcloud.com/reference/enums#min_harbor_size
Accepted values: very_small, small, medium, large
- lng_terminal
- true → only ports with an LNG terminal.
- oil_terminal
- true → only ports with an oil terminal.
- near
- Point 'lat,lon' for a radius search; combine with radius_km (default 100). Results carry distance_km, sorted nearest-first. Format: lat,lon — pass the radius separately in radius_km.
- near_gem_id
- GEM energy-asset gem_id — returns ports within radius_km of that LNG terminal / platform / port (cross-source join).
- radius_km
- Radius in km for near / near_gem_id. Default 100; clamped 1–2000.
- bbox
- Bounding box filter: minLon,minLat,maxLon,maxLat (lon-first, e.g. -6,35,5,44).
- limit
- Rows per page (1–500).
- cursor
- Pagination cursor (offset) from a prior response's next_cursor.
GETRaw position points in an area/api/v2/maritime/tracks
⚠️ RAW position points (the actual AIS track) inside an area over time — each row a single fix (time, position, speed, course, nav status). AREA REQUIRED — pass chokepoint, bbox, near, or near_gem_id. Keyset-paginated: follow the opaque next_cursor to stitch a long window into pages rather than one giant response. Requires a plan with Maritime intelligence access (can_use_maritime) — see Pricing for the plans that include it. Historical / baseline surface: reads raw AIS positions directly. Forward-accruing: positions begin at launch (June 2026) — no historical backfill. Terrestrial AIS only (no satellite). Date windows are capped at 7 days; defaults to the trailing 1 day.
Response: success, data, pagination, applied_filters
Parameters and accepted values (10)
- chokepoint
- One chokepoint as the area. One of chokepoint / bbox / near / near_gem_id is required. Full value list: https://docs.gdeltcloud.com/reference/enums#chokepoint
Accepted values: hormuz, bab_el_mandeb, malacca, suez, panama, bosphorus, gibraltar, dover, kerch, taiwan, danish_straits
- bbox
- Bounding box filter: minLon,minLat,maxLon,maxLat (lon-first axis order). One of chokepoint / bbox / near / near_gem_id is required.
- near
- Point 'lat,lon' for a radius area; combine with radius_km (default 50 km). Rows include distance_km. One of chokepoint / bbox / near / near_gem_id is required. Format: lat,lon — pass the radius separately in radius_km.
- near_gem_id
- GEM energy-asset gem_id center — points within radius_km of that asset (default 25 km). Rows include distance_km. One of chokepoint / bbox / near / near_gem_id is required.
- radius_km
- Radius in km for near / near_gem_id. Default 50 (near) or 25 (near_gem_id); clamped 1–2000.
- date_start
- Window start YYYY-MM-DD (≤7-day window).
- date_end
- Window end YYYY-MM-DD.
- days
- Trailing N-day window (1–7). Defaults to 1.
- limit
- Position points per page (1–5000).
- cursor
- Opaque keyset cursor on (time, mmsi). Pass back a prior response's next_cursor to fetch the next page; do not request one giant response.
GETChokepoint transit activity/api/v2/maritime/transits
Hourly vessel-flow rollup for maritime chokepoints, derived from terrestrial AIS. Each row is one chokepoint·hour with vessel counts and average speed. Requires a plan with Maritime intelligence access (can_use_maritime) — see Pricing for the plans that include it. Forward-accruing: signals begin at launch (June 2026) — there is no historical backfill. Derived-only: no raw position track is exposed. Terrestrial AIS only (no satellite). Date windows are capped at 30 days; defaults to the trailing 7 days when no dates are given.
Response: success, data, pagination, applied_filters
Parameters and accepted values (6)
- chokepoint
- Restrict to one chokepoint (one of the 11 monitored straits). Omit for all. Full value list: https://docs.gdeltcloud.com/reference/enums#chokepoint
Accepted values: hormuz, bab_el_mandeb, malacca, suez, panama, bosphorus, gibraltar, dover, kerch, taiwan, danish_straits
- date_start
- Window start YYYY-MM-DD (≤30-day window).
- date_end
- Window end YYYY-MM-DD.
- days
- Trailing N-day window (1–30). Defaults to 7.
- limit
- Rows per page (1–500).
- cursor
- Pagination cursor (offset) from a prior response's next_cursor.
GETOne vessel's track over time/api/v2/maritime/vessels/{imo}/track
⚠️ RAW position track for a single vessel by IMO — the literal 'this ship over time': every AIS fix (time, position, speed, course, heading, nav status) across the window, time-ordered. Keyset-paginated: follow the opaque next_cursor to stitch a long window into pages rather than one giant response. Requires a plan with Maritime intelligence access (can_use_maritime) — see Pricing for the plans that include it. Historical / baseline surface: reads raw AIS positions directly. Forward-accruing: positions begin at launch (June 2026) — no historical backfill. Terrestrial AIS only (no satellite). Date windows are capped at 30 days; defaults to the trailing 7 days.
Response: success, imo, data, pagination, applied_filters
Parameters and accepted values (6)
- imo
- IMO number of the vessel (e.g. 9006681).
- date_start
- Window start YYYY-MM-DD (≤30-day window).
- date_end
- Window end YYYY-MM-DD.
- days
- Trailing N-day window (1–30). Defaults to 7.
- limit
- Position points per page (1–5000).
- cursor
- Opaque keyset cursor on (time, mmsi). Pass back a prior response's next_cursor to fetch the next page; do not request one giant response.
GETCurrent vessels (last-known)/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) — see Pricing for the plans that include it. Forward-accruing: vessel state begins at launch (June 2026). Terrestrial AIS only (no satellite).
Response: success, data, pagination, applied_filters
Parameters and accepted values (8)
- chokepoint
- Restrict to vessels whose last-known position is in this chokepoint. Omit for all. Full value list: https://docs.gdeltcloud.com/reference/enums#chokepoint
Accepted values: hormuz, bab_el_mandeb, malacca, suez, panama, bosphorus, gibraltar, dover, kerch, taiwan, danish_straits
- search
- Search vessels by name (case-insensitive substring, ngram-indexed), IMO, MMSI, or call sign.
- bbox
- Bounding box filter: minLon,minLat,maxLon,maxLat (e.g. 103,1,105,2).
- near
- Point 'lat,lon' for a radius search; combine with radius_km. Results include distance_km, sorted nearest-first. Format: lat,lon — pass the radius separately in radius_km.
- near_gem_id
- GEM energy-asset gem_id (resolved via gem.assets_view) — returns vessels within radius_km of that LNG terminal / platform / port. The cross-source 'vessels near energy infrastructure' join.
- radius_km
- Radius in km for near / near_gem_id. Default 50 (near) or 25 (near_gem_id); clamped 1–2000.
- limit
- Rows per page (1–500).
- cursor
- Pagination cursor (offset) from a prior response's next_cursor.
Economics & country risk
Add dated economic observations, geography and country intelligence.
FRED / ALFRED · World Bank · country indicatorsGovernment & public records
Inspect official lists, political offices and government relationships.
Original publishers · OpenSanctions crawler codeAI & compute
Research models, hardware, data centers and the organizations building them.
Epoch AIMonitors & API tools
Inspect saved monitoring workflows and the API’s supported values and costs.
GDELT CloudUNDERSTAND THE SOURCE
Where the data comes from.
Retrieve SEC filer identity, filing records and evidence-backed company relationships through GDELT Cloud. Connect US registrants to reporting with resolved entity identifiers.
Read the source guideFRED ↗Use FRED and ALFRED economic series through GDELT Cloud’s macro API. Inspect metadata, dated observations, source attribution and redistribution limits.
Read the source guideGlobal Energy Monitor ↗Explore Global Energy Monitor facilities through a structured API. Filter by country or proximity, inspect capacity and registry dates, and connect reporting to infrastructure carefully.
Read the source guideSanctions & public records ↗Inspect original-publisher sanctions and public-record sources through GDELT Cloud. Understand list coverage, entity connections and how MIT-licensed OpenSanctions crawler code is used.
Read the source guide