Abstract analytics chart: several data series over time with one datapoint flagged in blue.
← Resources
guide·

What GDELT Is — and Isn't — Good For

What GDELT does well, where it fails, and how protective-intel teams should actually use the free global news index — a practitioner's teardown.

By Arcline Team

GDELT — the Global Database of Events, Language, and Tone — is a free, machine-generated index of global news media, updated every 15 minutes, that catalogs events, themes, locations, and tone from worldwide coverage. It shows up on nearly every OSINT source list written for protective work, and it is one of the least understood entries on those lists.

Most people who recommend GDELT have queried it once. Consuming it continuously — every update cycle, for months, against live requirements — teaches you a different lesson: it is a useful source with a specific job, and it fails badly when asked to do a different one. Here is the working breakdown.

An index of news, not a news feed

GDELT does not report anything. It reads the world's news coverage and catalogs what that coverage contains. Two layers matter for practitioners:

  • The Events database codes actor–action–target events from articles using the CAMEO taxonomy — who did what to whom, where, with what tone. "Government forces clashed with protesters in city X" becomes a structured event record.
  • The Global Knowledge Graph (GKG) catalogs the themes, entities, locations, and emotional tone found in each article — less "what happened" and more "what is the media talking about, and how."

Both layers are machine-generated end to end. No human reviews a single record before it publishes. That is what makes the scale possible — and it is the root of every failure mode below.

What it does well

Broad-area awareness on regions you don't otherwise watch. If your principal travels to a country nobody on your team follows, GDELT gives you a media-activity picture in minutes that would otherwise take days of feed-building.

Non-English signal. GDELT machine-translates local press from 65 languages. Protest, unrest, and civil-disturbance coverage frequently appears in local-language outlets days before — or instead of — any English-language mention. This is the single strongest argument for running it: it sees press you will never read.

Baselines and trend context. Because it is consistent over time, it can answer "is this week noisier than normal for this city?" — a question almost no other free source can answer at all.

A cheap tripwire. It is free, it runs constantly, and it tells you where to look. For a small team with no budget line for commercial monitoring, that is a real capability.

GDELT's job is to point your attention somewhere. The moment you treat its output as a finding, you are using it wrong.

Where it breaks down

Geocoding is coarse. Locations frequently resolve to city level or an administrative centroid. A "protest in Bucharest" pin will often sit on the city center — not the square where the crowd actually formed. Plotted on a map next to your route, those points look authoritative. They are not. Never treat a GDELT coordinate as ground truth for anything tighter than "this city."

Latency is worse than the update cadence suggests. The 15-minute refresh means GDELT re-indexes every 15 minutes — not that events appear 15 minutes after they occur. It is bounded by when outlets publish, and outlets publish after reporters write, and reporters write after something happens. On breaking incidents, local social media and Telegram channels beat GDELT by hours. It is a monitoring source, not an alerting source.

The noise floor is real. Machine event-coding misfires constantly: sports coverage coded as conflict, film reviews coded as violence, the same syndicated wire story counted as five separate events across five outlets. A raw GDELT pull on any active region contains a meaningful fraction of garbage. Every record that might reach a brief needs a human click-through to the underlying article first. No exceptions.

There is no ground truth in it. GDELT indexes what media says happened — not what happened. Media coverage and event occurrence are different things, and the gap runs both directions. Heavy coverage can inflate a minor incident; denied areas and censored local press produce no coverage at all, which in GDELT looks identical to calm.

Silence in GDELT is not calm. It is silence. A quiet region may be quiet, or it may be a region where nobody is allowed to publish.

How to use it without getting burned

One workable pattern — adapt to your shop:

Rate it before you run it. Under an Admiralty-style scheme — the same discipline covered in how to rate an intelligence source — GDELT sits around a C for reliability at best, and every individual record starts as "possibly true, uncorroborated." That rating is not an insult. It is an instruction: nothing from this source concludes anything on its own.

Use it to cue collection, not to conclude. A GDELT spike is a tasking, not an answer. It tells you to open the local outlets, check the official feeds, and ping the ground contact — the layered approach described in monitoring a region before you travel, where GDELT is the wide net underneath named, higher-confidence sources.

Always click through. The GDELT record is a machine's summary of an article. The article is the source. Read it — machine translation is imperfect, and the coding may have mangled the meaning entirely.

Log the URL, not the GDELT record. When something survives corroboration and goes in a brief, cite the underlying article. A GDELT event ID is not a citation any client or reviewer can evaluate. A dated article from a named outlet is.

Pairing matters too. GDELT is one shelf item among many — see the rated source list for protective work for what should sit next to it.

Where to start

  • GDELT 2.0 via BigQuery — the full Events and GKG datasets are public on Google BigQuery; the practical route for baselines and historical queries.
  • Raw CSV dumps — every 15-minute update is published as downloadable files if you want to build your own pipeline.
  • The free Analysis Service and GeoJSON APIs — the lightest entry point for mapping and quick exploration without infrastructure.

Documentation for all three lives at gdeltproject.org.

The bottom line: GDELT is worth running, and worth running with its rating written on the tin. It widens your aperture across 65 languages for free, and it will happily mislead anyone who mistakes an index of coverage for a record of events. Use it to decide where to look. Decide what happened somewhere else.