curl --request GET \
--url https://gdeltcloud.com/api/v2/stories/{story_id}/articles \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/stories/{story_id}/articles"
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/stories/{story_id}/articles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"url": "https://www.example.com/data-center",
"title": "New data center project announced",
"domain": "example.com",
"rank": 1
}
],
"pagination": {
"limit": 25,
"cursor": null,
"next_cursor": "eyJvZmZzZXQiOjI1fQ=="
}
}Get Story Articles
Canonical-URL-deduplicated article evidence with source language and provenance-backed publisher country.
curl --request GET \
--url https://gdeltcloud.com/api/v2/stories/{story_id}/articles \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/stories/{story_id}/articles"
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/stories/{story_id}/articles', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"url": "https://www.example.com/data-center",
"title": "New data center project announced",
"domain": "example.com",
"rank": 1
}
],
"pagination": {
"limit": 25,
"cursor": null,
"next_cursor": "eyJvZmZzZXQiOjI1fQ=="
}
}Authorizations
GDELT Cloud API key. Send as Authorization: Bearer gdelt_sk_....
Path Parameters
The story id.
Query Parameters
First Story partition date. date_start is an alias. Also accepts: date_start. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.
Last Story partition date. date_end is an alias. Also accepts: date_end. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.
Single Story partition date used to scope its source articles; distinct from when an article page was published. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.
Trailing date window. window is an alias. Also accepts: window. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.
Maximum articles returned. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.
1 <= x <= 100Continuation from pagination.next_cursor in the previous response. Keep the other filters unchanged; null means no next page. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.
Legacy number of source-article rows to skip; prefer the continuation cursor for new calls. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.
x >= 0Attach resolved article images. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.
Origin language filter. languages is an alias. Also accepts: languages. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.
Known publisher-country filter. publisher_country is an alias; unknown publishers are never guessed. Also accepts: publisher_country. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.

