Get a key
Create one at gdeltcloud.com/api-keys. Keys look likegdelt_sk_… and are shown once.
A new account starts a 7-day evaluation with 1,000 QU, the full UI, REST API and MCP access, and up
to three daily email Monitors (one 7-day extension on request). Bulk downloads remain paid-only.
When the evaluation ends, Free keeps the web app, API Arena, saved Monitor settings and previews
with 50 QU a month. API keys, OAuth, the MCP server and scheduled Monitor execution require active
access; Monitor webhooks and bulk downloads remain paid-only. A key without active access answers
403 PROGRAMMATIC_ACCESS_DENIED (errors). Eligible existing personal Free
workspaces can claim a one-time 500 QU grant, valid 7 days from activation.meta.query_window, and available history is in meta.coverage.
When part of a valid Event or Story date range has not published, the API returns the safely
published rows with coverage.served_dates, lists withheld partitions and reasons in
coverage.missing_dates, and sets coverage.window_complete to false. It returns a retryable
snapshot error only when no requested partition can safely answer.
Hello, world
No filters. The most significant event in the endpoint’s default window:story_refs points at the clustered coverage it was read from. The
162 articles behind it are one event, not 162.
Every response on this page was returned on 2026-08-26 and is reproduced as returned, trimmed to the
fields under discussion. A live row carries more — metric sub-factors with their stated reasons,
entity references, a language breakdown and the top source articles — and the values move with the
news.
Then, in the workspace
In the signed-in workspace, investigate a company, follow a country or retrieve coded Events. Use this data shows the actual request and response; copy its code or open the supported scope in the API Arena. Confirm a company’s identity before following its reporting. Profile overview panels retain their labelled recent windows; the Events and Stories links carry your chosen reporting dates. Semanticsearch retrieves a bounded similarity candidate pool. Changing page size can change
that pool, and deep pagination is not an exhaustive, stable export of every matching record.
For extraction jobs, use structured filters and the documented dataset download scope. Inspect
the source articles: a Story may match a country through a linked Event while its representative
geography describes another location.
Monitor this carries compatible filters into a draft. Preview shows 7 or 30 days of evidence;
scheduled matching follows newly committed records since the previous successful checkpoint.
The original discovery dates remain in the saved request for context.
It does not save a Monitor or enable deliveries automatically.
If a source needs additional access, its plan link retains your results and shows current catalog
options. Return to the same work after reviewing access. The Data & coverage page
is the source inventory; it distinguishes measured holdings from planned coverage and available
API access from published bulk files.
The same shape, for narratives
/events answers what happened. /stories answers what is being said — the article clusters
underneath.
Count before you list
This is the step that saves the most time. The summary endpoints return counts grouped by date, geography or category — the shape of a period — so you can see where the volume actually is before committing to a filter.A summary endpoint takes almost the same filters as its list sibling —
days, date, entity,
country_match and geo_precision_* all work here. The handful it does not take are listed in the
endpoint index, and it tells you
about them: near/lat/lon/radius_km come back under applied_filters.ignored, and search
is refused with a 400./stories/summary does the same for narrative clusters. Now filter the list endpoint down to the
buckets that actually carried volume — and read applied_filters on both calls to confirm the two
describe the same population.
Prefer to work through an agent?
Two MCP servers, and connecting the wrong one is the most common setup mistake. The docs server is unauthenticated and returns documentation — every page, parameter and value list, so your assistant can write correct code without copy-pasting:https://docs.gdeltcloud.com/mcp is a JSON-RPC endpoint, not a page — opening it in a browser
returns 405, which is expected. The page describing the MCP surface is
/mcp/overview.Then pick your path
I'm building something
Resolve an entity once, then reuse that id across news, tone, awards and physical assets.
I'm answering a question
Work in plain language through the MCP server, with citations.
Two things that will save you time
Event and story lists do not default to a week, and they do not default to all of history. Omitting the window bounds the request to the last two days — today and yesterday. Other families carry their own default, declared on eachdays parameter in
Parameters. Pass days or an explicit date_start/date_end whenever the
window matters to your answer.
Coverage does not run all the way back. A query reaching before the coded window returns a
near-empty result that looks like a bug and is not. The window, and what it means for a query, is
in Coverage; per-dataset windows are in the data catalog.
