Monitor news mentions of a brand for free (open GDELT data)
If you want to know when a brand, product or topic of your own shows up in the news, you do not need a paid media-monitoring seat. The GDELT Project publishes a file of every online news article it saw, every 15 minutes, in 65+ languages, and allows commercial use with a citation. The GDELT News Monitor reads those files, keeps the articles that match your keywords and hands you a table. The data itself is free; you pay only for the rows the Actor returns, and the Apify free plan's monthly credit covers a test.
What the feed contains
Each row is one article: URL, title, source domain, language, when GDELT saw it, a tone score, GDELT themes, the places, people and organizations it names, and the keywords that matched. It does not contain the article text. Keywords are matched as whole words against the title, URL, people and organizations, so a brand that appears only deep in the body of a story can be missed. Coverage is broad, not complete.
Set up a brand alert in four steps
- Open the Actor and put your brand and its product names in
keywords(any of them matches). AddexcludeKeywordsfor look-alike words, for example a common word that shares the brand's spelling. - Set
languagesto the languages you care about. Leaving it empty reads everything;["en"]reads about a third of the data and runs fastest. - Turn on
watchModeand give the alert awatchName. The Actor remembers where it stopped in a key-value store on your account, so the next run returns only articles that are new. - Schedule it every 15 to 60 minutes in Apify Schedules and send the dataset to a webhook, Zapier, Make, n8n or a Google Sheet.
Worked example: what real runs looked like
| Run | Window | Result | Cost to the user |
|---|---|---|---|
| Three keywords (Nvidia, TSMC, semiconductor), capped at 15 | 6 h | 15 articles, finished in under a minute | 15 x $0.002 = $0.03 |
| Three keywords, whole day | 24 h, all languages | 476 articles, about 11 minutes (the run read roughly 740 MB of files) | $0.95 |
| Watch mode, first run capped at 30 | - | 30 articles | $0.06 |
| Same watch, second run | since the first | 725 articles, none repeated from run 1 | $1.45 |
| Same watch, third run straight after | nothing new | 0 articles | $0 |
| No input at all | last 2 h, keyword "election" | 5-article example | $0.01 |
The pattern to note is the last two watch rows: the position moves forward after every run, so a schedule that fires when nothing happened bills nothing. Reading and filtering the files is free; only returned articles are charged.
What it costs for a steady alert
A watcher on a narrow brand name that gets about 20 new articles an hour returns roughly 480 articles a day, about $1 a day. A rare brand with a handful of mentions a day costs cents. Set maxItems to cap any single run, and use Apify's maximum cost per run setting as a second guard.
Limits to know before relying on it
- GDELT publishes a file every 15 minutes, a few minutes after each quarter hour, so an alert lags the original story by roughly 15 to 30 minutes.
- Windows go back at most 7 days (168 hours).
- Non-English titles stay in the original language; match them with keywords in that language, or filter by
countries. - A full day across all languages is slow because the files are large (about 11 minutes in the run above). Short windows and watch mode finish in seconds.
Related: News sentiment by country: how GDELT tone works.
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
- News sentiment by country: how GDELT tone works
- Get a Slack alert when your brand is in the news
- n8n template: hourly brand news alert to Slack
- Google Sheets template: hourly news mentions of your brand
- Get a Discord alert when your brand is in the news
- Get a Microsoft Teams alert when your brand is in the news