Keencrest guides

News sentiment by country: how GDELT tone works

By Keencrest · 2026-11-01

Data: The GDELT Project. GDELT permits commercial use and redistribution with a citation and a link, and every row the Actor returns carries that citation. The Actor is not affiliated with or endorsed by GDELT.

Every article in the GDELT feed comes with a tone score. It is a quick, rough measure of how emotionally positive or negative the article's wording is. It is useful for ranking and filtering a pile of news, and it is easy to misread, so this guide explains what the numbers are and then shows a real filtered run.

The four numbers on each row

FieldMeaning
positiveScoreShare of words in the article that carry positive emotion, as a percentage
negativeScoreShare of words that carry negative emotion, as a percentage
tonePositive minus negative. Negative values mean the wording is more negative than positive; values far from zero are rare
polarityPositive plus negative: how emotionally charged the text is overall, whichever way it leans

In the Actor README's format example, an earnings preview has positive 2.1 and negative 3.5, so tone is -1.4 and polarity is 5.6. That row illustrates the format and is not a measurement. The point it shows: a tone near zero can be a calm article (low polarity) or a charged one that balances out (high polarity), so read the two together.

What tone does not tell you

Getting a country view

GDELT records the places an article mentions, not where the publisher is based. So a country filter means articles that talk about that country. In the Actor, set countries (name or FIPS code), optionally languages, and a time window. To compare countries, run the same keywords once per country and average the tone column in a spreadsheet for each; the rows also carry themes, so you can restrict a comparison to one topic.

Worked example: negative-tone tariff coverage

A real run on 2026-11-01 used keywords tariffs and trade war, a 12-hour window and maxTone: -3, which keeps only articles whose tone is at or below -3. It returned 6 articles, so the run cost 6 x $0.002 = $0.012. The tone filter ran before billing, so articles scoring above -3 were never charged. Each of the six rows had the URL, source domain, themes, the places named and the people and organizations, ready to sort by tone in a sheet.

A second run filtered German-language news about Germany over a 3-hour window and returned 15 rows (the cap) with German titles and English-normalised themes, people and organizations: languages: ["de"], countries: ["Germany"].

A simple method for a country tone tracker

  1. Pick 2 to 5 topic keywords and a country.
  2. Run daily with the same filters and hoursBack: 24 (or use watch mode and aggregate).
  3. In your sheet, average tone and count rows per day. A move in the count often matters more than a move in the average.
  4. Click through the most negative few rows each day; never act on the number alone.

Related: Monitor news mentions of a brand for free.

Ready to automate: Get a Slack alert when your brand is in the news.

Try it: GDELT News Monitor on Apify. $0.002 per article returned, no start fee; reading files and filtering is free. The Apify free plan includes monthly credit, so a test run costs nothing out of pocket.

Related guides

All Keencrest guides