curl --request GET \
--url https://gdeltcloud.com/api/v2/maritime/dwell \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/maritime/dwell"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://gdeltcloud.com/api/v2/maritime/dwell', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"imo": "9006681",
"mmsi": 636019825,
"chokepoint": "hormuz",
"arrival": "2026-06-11 22:18:40",
"departure": "2026-06-13 06:51:09",
"dwell_hours": 32.5
},
{
"imo": "9388893",
"mmsi": 538008914,
"chokepoint": "hormuz",
"arrival": "2026-06-12 14:02:33",
"departure": "2026-06-12 19:47:55",
"dwell_hours": 5.8
}
],
"pagination": {
"limit": 100,
"cursor": null,
"next_cursor": null
},
"applied_filters": {
"date_start": "2026-06-08",
"date_end": "2026-06-14",
"chokepoint": "hormuz",
"ignored": {}
}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}Chokepoint dwell episodes
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.
curl --request GET \
--url https://gdeltcloud.com/api/v2/maritime/dwell \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/maritime/dwell"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://gdeltcloud.com/api/v2/maritime/dwell', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"imo": "9006681",
"mmsi": 636019825,
"chokepoint": "hormuz",
"arrival": "2026-06-11 22:18:40",
"departure": "2026-06-13 06:51:09",
"dwell_hours": 32.5
},
{
"imo": "9388893",
"mmsi": 538008914,
"chokepoint": "hormuz",
"arrival": "2026-06-12 14:02:33",
"departure": "2026-06-12 19:47:55",
"dwell_hours": 5.8
}
],
"pagination": {
"limit": 100,
"cursor": null,
"next_cursor": null
},
"applied_filters": {
"date_start": "2026-06-08",
"date_end": "2026-06-14",
"chokepoint": "hormuz",
"ignored": {}
}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}Authorizations
GDELT Cloud API key. Send as Authorization: Bearer gdelt_sk_....
Query Parameters
Restrict to one chokepoint. Omit for all. Full value list: https://docs.gdeltcloud.com/reference/enums#chokepoint
hormuz, bab_el_mandeb, malacca, suez, panama, bosphorus, gibraltar, dover, kerch, taiwan, danish_straits 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
ongoing, completed Departure-window start YYYY-MM-DD (≤30-day window).
Departure-window end YYYY-MM-DD.
Trailing N-day window (1–30). Defaults to 7.
1 <= x <= 30Rows per page (1–500).
1 <= x <= 500Pagination cursor (offset) from a prior response's next_cursor.
Response
A page of dwell episodes, by departure time (most recent first). Each row: imo, mmsi, chokepoint, arrival, departure, dwell_hours. Standard envelope: { success, data, pagination, applied_filters }.

