curl --request GET \
--url https://gdeltcloud.com/api/v2/events/{event_id}/stories \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/events/{event_id}/stories"
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/events/{event_id}/stories', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"id": "9ae8e929c096",
"url": "https://gdeltcloud.com/stories/ndrangheta-assets-seized-9ae8e929",
"title": "Ndrangheta: assets worth €2.7 million seized from Reggio Calabria businessman",
"story_date": "2026-07-08",
"article_count": 3,
"relation": "reconnected"
}
]
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}Get Event Stories
Stored, addressable Stories connected to this Event through primary or rehomed links. Incident-member IDs resolve to the canonical Event. Published serving edges select membership; Story titles, dates and article counts come from the published Story snapshot. The serving edge does not yet project relationship roles, so bounded live provenance supplies primary/rehomed roles only within published membership. Metadata declares mixed relationship provenance and partial coverage; this context is not a whole-Event Story total. Default bounds anchor to the Event date; supplied/default bounds include two additional days on either side. Returns up to 50 Stories ordered by article count descending. meta.pagination reports limit, returned, has_more and total:null; has_more indicates additional matching context beyond the returned cap. A Story excluded only by general-list dedup remains addressable here. relation is reconnected for rehomed-only links, otherwise primary (primary takes precedence). An unavailable Story or serving-edge snapshot returns retryable 503; missing stored membership or Stories are not reconstructed from the warehouse.
curl --request GET \
--url https://gdeltcloud.com/api/v2/events/{event_id}/stories \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/events/{event_id}/stories"
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/events/{event_id}/stories', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": [
{
"id": "9ae8e929c096",
"url": "https://gdeltcloud.com/stories/ndrangheta-assets-seized-9ae8e929",
"title": "Ndrangheta: assets worth €2.7 million seized from Reggio Calabria businessman",
"story_date": "2026-07-08",
"article_count": 3,
"relation": "reconnected"
}
]
}{
"success": false,
"error": "<string>",
"code": "<string>",
"details": {}
}Authorizations
GDELT Cloud API key. Send as Authorization: Bearer gdelt_sk_....
Path Parameters
Event ID returned by Search Events, for example conflict_... or cameoplus_....
Query Parameters
Optional ISO date (YYYY-MM-DD) lower bound. Defaults to the Event's own date window. The effective window extends two days beyond each supplied/default bound; response meta.window reports those bounds.
Optional ISO date (YYYY-MM-DD) upper bound. Defaults to the Event's own date window. The effective window extends two days beyond each supplied/default bound; response meta.window reports those bounds.

