Skip to main content
GET
Get a Situation

Authorizations

Authorization
string
header
required

GDELT Cloud API key. Send as Authorization: Bearer gdelt_sk_....

Path Parameters

story_id
string
required

A situation_uid (sit_…) or any member Story id; both resolve to the same occurrence.

Query Parameters

date_start
string<date>

Earliest member date to include. Defaults to seven days before the anchor Story's own date — not to today, because a situation is anchored on a Story, not on the request clock. On a curated Situation it filters the stored membership and coverage is re-derived from the members that survived, so the window reported is never wider than the payload. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.

date_end
string<date>

Latest member date to include. Defaults to seven days after the anchor Story's own date. The span may not exceed 30 days when both bounds are sent — the same ceiling the service compares against, not a number typed into a sentence. On a curated Situation, sending neither bound returns the whole stored span; sending one leaves the other side open. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.

limit
integer
default:50

How many member Stories to return. The per-day rollup, the incidents and every total always describe the WHOLE situation, so a small page never shrinks the numbers. Note: validation is owned by the endpoint service because it depends on composed or cross-parameter state; the published error semantics above still apply.

Required range: 1 <= x <= 200
depth
integer
default:1

How many adjudicated hops out from the anchor to walk. depth=1 returns only Stories a judge compared with the anchor DIRECTLY. Higher values reach further across time — no link in the source spans more than two days, so a week is depth, not distance — but a Story at hop 2 or 3 was never compared with the anchor itself: it was reached along a path of individually adjudicated edges, which edges and each Story's hop and via_story_id make explicit. Treat depth > 1 as reachability, not membership. NOT APPLICABLE on a curated Situation, whose membership was adjudicated rather than traversed: there is no frontier, so the value appears under applied_filters.ignored beside meta.situation_source: "curated" rather than being echoed back as honoured.

Required range: 1 <= x <= 3
max_nodes
integer
default:250

Ceiling on member Stories. On a walked situation it bounds the frontier, ordered largest-first so a cut is reproducible rather than dependent on row order. On a curated one it bounds the membership read, taking them in the order stories is served in — earliest date first, largest within a date — so the cut is the head of the list you would have paged through rather than an arbitrary slice. truncated and caps.members say whether it bit, both measured. It is a FILTER, not a page size: the totals describe the members it admitted, while limit pages those members without changing any number.

Required range: 1 <= x <= 250
include
enum<string>[]

Optional blocks. edges returns one undirected row per adjudicated pair across the bounded graph membership, independently of Story pagination (limit and offset). An edge can reference a Story outside the returned page; fetch the member pages to hydrate those IDs and inspect caps and scopes for coverage. /connections pages membership provenance, not pairwise edges. Edges are omitted by default; totals.edge_count reports all pairs in the selected scope even when the returned graph is capped. Full value list: https://docs.gdeltcloud.com/reference/enums#situation_include

Available options:
edges
offset
integer
default:0

Member Stories to skip. The member list is ordered by date then article count.

Required range: x >= 0

Response

Success

success
boolean
data
object