curl --request GET \
--url https://gdeltcloud.com/api/v2/lists \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/lists"
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/lists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"source_key": "csl_ofac_sdn",
"list_name": "OFAC Specially Designated Nationals (SDN)",
"issuer": "OFAC",
"jurisdiction": "US",
"authority": "31 CFR Chapter V",
"source_url": "https://www.trade.gov/consolidated-screening-list",
"cadence": "daily",
"loader": "cron",
"includes_individuals": false,
"last_loaded": "2026-06-29 06:12:04",
"entry_count": 8741
},
{
"source_key": "dod_1260h",
"list_name": "DoD Section 1260H Chinese Military Companies",
"issuer": "DoD",
"jurisdiction": "US",
"authority": "Section 1260H, NDAA FY2021",
"source_url": "https://www.defense.gov/News/Releases/",
"cadence": "episodic",
"loader": "script",
"includes_individuals": false,
"last_loaded": "2026-01-31 14:22:51",
"entry_count": 134
}
],
"applied_filters": {
"jurisdiction": "US"
}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}List catalog
Catalog of the restricted-party list sources we ingest — issuer, jurisdiction, category, publisher provenance, refresh cadence, whether the source publishes natural persons, and the current entry count. The index for /api/v2/lists/entries and /api/v2/screening/match: every source_key here with ingested: true is a legal list= value there, and only those are. Catalogue fields that the crawler lane measures (category, publisher, publisher_country, official, licence, last_crawled, coverage_start) are null on a source that has not published them — never a fabricated default. includes_individuals is MEASURED (the source has projected at least one person row), so a person-screening caller can branch on it.
curl --request GET \
--url https://gdeltcloud.com/api/v2/lists \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/lists"
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/lists', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"source_key": "csl_ofac_sdn",
"list_name": "OFAC Specially Designated Nationals (SDN)",
"issuer": "OFAC",
"jurisdiction": "US",
"authority": "31 CFR Chapter V",
"source_url": "https://www.trade.gov/consolidated-screening-list",
"cadence": "daily",
"loader": "cron",
"includes_individuals": false,
"last_loaded": "2026-06-29 06:12:04",
"entry_count": 8741
},
{
"source_key": "dod_1260h",
"list_name": "DoD Section 1260H Chinese Military Companies",
"issuer": "DoD",
"jurisdiction": "US",
"authority": "Section 1260H, NDAA FY2021",
"source_url": "https://www.defense.gov/News/Releases/",
"cadence": "episodic",
"loader": "script",
"includes_individuals": false,
"last_loaded": "2026-01-31 14:22:51",
"entry_count": 134
}
],
"applied_filters": {
"jurisdiction": "US"
}
}{
"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 the catalogue to one source_key. Case-insensitive. The accepted set grows as sources are ingested: the values published here are the snapshot at build time, and /api/v2/lists (rows with ingested: true) is the live list. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply. Full value list: https://docs.gdeltcloud.com/reference/enums#list_source_key
csl_ofac_sdn, csl_ofac_ssi, csl_ofac_cmic, csl_ofac_nsmbs, csl_ofac_capta, csl_bis_entity, csl_bis_meu, csl_bis_uvl, csl_bis_dpl, csl_state_debarred, csl_state_isn, dod_1260h, un_consolidated, uk_uksl Return only sources of this kind. sanctions and export_control are the two categories that count toward the sanctions exposure lens; debarment, wanted, maritime and domestic_terror are catalogued and screenable but are not sanctions. Matched case-insensitively. Full value list: https://docs.gdeltcloud.com/reference/enums#list_category
sanctions, domestic_terror, debarment, export_control, screening_list, military_affiliation, wanted, maritime Issuer jurisdiction code (US, EU, UN, GB, CN, AU, …), matched case-insensitively. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.
Our refresh cadence for the source. Observed vocabulary — matched exactly, case-sensitively. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply. Observed vocabulary, measured 2026-08-10 (2 distinct values). Values outside it are accepted, not rejected. Discover current values: GET /api/v2/lists (read cadence on each catalogue entry). Values seen in the corpus: https://docs.gdeltcloud.com/reference/enums#list_cadence

