curl --request GET \
--url https://gdeltcloud.com/api/v2/maritime/chokepoint-watch \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/maritime/chokepoint-watch"
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/chokepoint-watch', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"chokepoint": "bab_el_mandeb",
"countries": [
"YEM",
"DJI",
"ERI"
],
"coverage": {
"confidence": "dark",
"vessels_24h": 0,
"vessels_7d": 0,
"moving_24h": 0,
"positions_24h": 0,
"last_seen": null
},
"conflict_events_7d": 18,
"total_events_7d": 44,
"blind_spot": true,
"risk_level": "critical",
"recent_conflict_events": [
{
"headline": "Vessel targeted off the Yemeni coast",
"event_date": "2026-06-13",
"cluster_id": "c_def456",
"cluster_date": "2026-06-13",
"country": "YEM"
}
],
"energy_exposure": {
"assets_nearby": 3,
"state_owned": 1,
"sanctions": 1,
"china": 0
}
}
],
"summary": {
"chokepoints": 1,
"live": 0,
"dark": 1,
"blind_spots": 1,
"window": "7d conflict events · 24h/7d vessel coverage"
},
"applied_filters": {
"blind_spots_only": true,
"ignored": {}
}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}Chokepoint risk 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 }.
curl --request GET \
--url https://gdeltcloud.com/api/v2/maritime/chokepoint-watch \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/maritime/chokepoint-watch"
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/chokepoint-watch', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"chokepoint": "bab_el_mandeb",
"countries": [
"YEM",
"DJI",
"ERI"
],
"coverage": {
"confidence": "dark",
"vessels_24h": 0,
"vessels_7d": 0,
"moving_24h": 0,
"positions_24h": 0,
"last_seen": null
},
"conflict_events_7d": 18,
"total_events_7d": 44,
"blind_spot": true,
"risk_level": "critical",
"recent_conflict_events": [
{
"headline": "Vessel targeted off the Yemeni coast",
"event_date": "2026-06-13",
"cluster_id": "c_def456",
"cluster_date": "2026-06-13",
"country": "YEM"
}
],
"energy_exposure": {
"assets_nearby": 3,
"state_owned": 1,
"sanctions": 1,
"china": 0
}
}
],
"summary": {
"chokepoints": 1,
"live": 0,
"dark": 1,
"blind_spots": 1,
"window": "7d conflict events · 24h/7d vessel coverage"
},
"applied_filters": {
"blind_spots_only": true,
"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 (one of the 11 monitored straits). 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 true → only chokepoints that are a blind spot (dark AIS coverage AND conflict signal in the bordering countries).
Only chokepoints with at least N GDELT conflict events in the last 7 days.
x >= 0Response
Risk-ranked chokepoints. Each row: chokepoint, bordering countries, coverage (confidence + 24h/7d vessel counts + last_seen), conflict_events_7d, total_events_7d, blind_spot, risk_level, up to 3 recent_conflict_events, and energy_exposure. A summary block totals coverage.

