Global News Monitor: Articles by Keyword, Tone and Topic
Pricing
from $1.20 / 1,000 news articles
Global News Monitor: Articles by Keyword, Tone and Topic
News and media monitoring in 65+ languages by keyword, topic, company or tone from GDELT open data. No proxies, no search engine scraping. One row per article with real publisher URL, publish time, tone, themes and organizations. Schedule with only-new for alerts. USD 1.50 per 1,000 articles.
Pricing
from $1.20 / 1,000 news articles
Rating
0.0
(0)
Developer
JT Palms
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
News alerts from open data. This actor reads the GDELT Project's open 15-minute article files and returns one row per matching article: the real publisher URL, the headline, the publish time, GDELT's tone score, its themes and the organizations it found. No search engine is scraped, no proxy is used and no API key is needed. Schedule it with Only new articles and it becomes an alert feed that charges only for news you have not seen.
USD 1.50 per 1,000 articles. A run that finds nothing new costs only the start fee.
What people use it for
- Brand and competitor watch. Keywords
acme corp,acme*, or organizationacme corp; one scheduled task per brand or client, hourly or daily. - Issue monitoring for PR and comms teams.
tariffs,data breach,strikewith Maximum tone-3to see only clearly negative coverage. - Sales and BD triggers. Trigger tags
funding,acquisition,leadership-changeorlayoffson the companies you sell to. - Research corpus. Every article in a time window (empty keywords), with tone, GDELT theme codes and countries, reproducible from the same public files.
- AI agent tool. "What is in the news about X in the last 6 hours", answered with real article URLs, not redirect links.
Sample output
Real rows from a run on 2026-10-06 (keywords layoffs, acquire, ransomware, interest rates; 6 hours; English):
| Published (UTC) | Title | Publisher | Tone | Trigger tags | Countries | Also on |
|---|---|---|---|---|---|---|
| 2026-10-06 18:30 | C.H. Robinson agrees to acquire RXO in $5.8 billion cash-and-stock deal | logisticsmgmt.com | 7.56 | acquisition | US | |
| 2026-10-06 18:30 | Stelco layoffs: Feds give U.S. owner 5 days to explain planned layoffs | cp24.com | -0.57 | layoffs | CA | 1 other site |
| 2026-10-06 16:31 | Maine regulators deny CMP's $7 rate hike as utility weighs potential layoffs | pressherald.com | -1.03 | layoffs, regulatory | US | 2 other sites |
| 2026-10-06 14:51 | Uber to Acquire EzCater for $2.3B, Expanding Catering Reach | businessinsider.com | 2.6 | acquisition | ||
| 2026-10-06 10:30 | Shionogi to acquire IntraBio in deal worth $2bn | pmlive.com | -0.59 | acquisition | JP, JO, US |
One full row (JSON):
{"id": "20261006183000-14","url": "https://www.logisticsmgmt.com/article/c.h_robinson_agrees_to_acquire_rxo_in_5.8_billion_cash_and_stock_deal/lm_october_2026","title": "C.H. Robinson agrees to acquire RXO in $5.8 billion cash-and-stock deal","domain": "logisticsmgmt.com","publishedAt": "2026-10-06T18:30:00.000Z","seenAt": "2026-10-06T18:30:00.000Z","language": "en","tone": 7.56,"positive": 8,"negative": 0.44,"polarity": 8.44,"wordCount": 195,"themes": ["EPU_ECONOMY_HISTORIC", "TAX_ECON_PRICE", "TAX_FNCACT_CEO", "TAX_ETHNICITY_AMERICAN", "WB_135_TRANSPORT", "EPU_POLICY_REGULATORY", "LEADER", "TAX_FNCACT_PRESIDENT", "USPEC_POLITICS_GENERAL1", "TAX_FNCACT_CHAIRMAN"],"organizations": [],"countries": ["US"],"image": "https://www.logisticsmgmt.com/images/2026_article/ch-robinson-building3.jpg","matchedKeywords": ["RXO"],"triggerTags": ["acquisition"],"alsoOnDomains": [],"source": "gdelt-gkg","citation": "Contains data from the GDELT Project, https://www.gdeltproject.org/","fetchedAt": "2026-10-06T19:19:34.494Z"}
How it works and how fresh it is
- GDELT publishes one Global Knowledge Graph file every 15 minutes with every article it processed in that slot (about 1,500 English-language articles per file, about 145,000 a day). The actor builds the list of files for your window, newest first.
- It downloads them (4 at a time, with retries), unzips them as a stream and keeps the articles that pass your filters. Once Maximum articles matches are in hand, it stops reading older files.
- It merges duplicates: the same URL seen twice, and (with Merge syndicated copies) the same headline on many sites, keeping the earliest copy and naming the other publishers in
alsoOnDomains. - Rows come out newest first. Each row is charged once.
Freshness: English-language sources appear within about 15 minutes of GDELT seeing them. Translated (non-English) sources arrive 1 to 3 hours later, because GDELT translates them first; on 2026-10-06 the newest translation file was about 1 hour 15 minutes behind. A file that is not out yet is listed under filesNotYetPublished in the run's SUMMARY and picked up by a later run, never counted as an error.
publishedAt is the publisher's own timestamp when GDELT found one (about half of the articles), otherwise the time GDELT saw the article (seenAt). The window always refers to seenAt, so an older article first seen today is included.
Filters
All filters combine with AND. Lists inside one filter combine with OR.
| Input | What it does |
|---|---|
keywords | Match in the title, whole words, any case: layoffs never matches "MLB Playoffs". Several words match as a phrase (interest rates). layoff* matches word endings. /regex/ is a regular expression. Empty = every article in the window. |
excludeKeywords | Drop articles whose title contains any of these. |
matchIn | title (default), title_or_organizations, or title_or_themes (theme codes are matched as words, so layoffs finds ECON_LAYOFFS). |
organizations | GDELT's organization names, lower case: federal reserve, european central bank, tesla. |
themes | GDELT theme code prefixes: ECON_ (economy), ECON_BANKRUPTCY, TAX_ (taxonomies), WB_ (World Bank topics), CYBER_ATTACK. The full list: LOOKUP-GKGTHEMES.TXT. |
domains / excludeDomains | Publisher allow and block lists. reuters.com also covers its subdomains. |
countries | Two-letter ISO codes of places the story mentions (GDELT writes FIPS codes such as UK and GM; the actor converts them to GB and DE). |
languages | en (default) reads the main files. Any other code (fr, de, es, zh, ar, ru...) also reads the translation files. Empty = all languages GDELT reads (English plus 65). |
minTone / maxTone | GDELT's overall tone, roughly -10 to +10; most articles sit between -5 and +5. |
triggerTags | Rule-based headline tags (below). Every row lists its tags even when you do not filter on them. |
lookbackHours | Window ending now, 1 to 72 hours (default 6). |
fromDateTime / toDateTime | Explicit UTC window, for example 2026-10-05T00:00:00Z to 2026-10-05T12:00:00Z. At most 72 hours per run. Files exist back to 2015-02-19. |
Non-English titles stay in their own language, so English keywords will not match them. GDELT's organizations and themes for those articles come from its English translation, so matchIn: title_or_organizations, organizations or themes do find them.
Trigger tags and their measured precision
Tags are plain keyword rules on the English headline, not a model. Precision below is the share of correct tags in 20 headlines per tag, read by hand, from 25,163 distinct English headlines GDELT published on 2026-10-06 between 13:00 and 19:00 UTC. Recall was not measured: the rules miss headlines worded in other ways.
| Tag | Headlines tagged in the sample window | Correct in 20 |
|---|---|---|
funding | 27 | 16 (misses: charity drives, contract wins) |
acquisition | 207 | 19 |
layoffs | 22 | 18 |
leadership-change | 58 | 19 |
lawsuit | 183 | 17 (criminal "legal action", a person named Sue) |
bankruptcy | 36 | 19 |
earnings | 37 | 17 (market-wide earnings pieces) |
product-launch | 119 | 14 (government systems, festival lineups) |
regulatory | 60 | 19 |
partnership | 83 | 15 (diplomatic "strategic partnerships") |
security-incident | 60 | 17 (articles about preventing attacks) |
Scheduling recipe: an alert feed
- Save your filters as a task, with Only new articles on and Look back at 6 hours (the overlap catches late translated files).
- Schedule the task hourly (or daily with Look back 24).
- Add an Apify integration: Slack, email, a webhook or Zapier on "Run succeeded", or read the dataset from the API.
The first run outputs the current matches (or nothing, with First run with Only new = None). Later runs output only articles no earlier run output. The memory is kept per set of filters in your own global-news-monitor-state key-value store for 7 days (up to 200,000 articles), so two tasks with different keywords never hide each other's news. Matches cut off by Maximum articles come out in the next run while they are still inside the window.
Input example
{"keywords": ["acme corp", "acme*"],"excludeKeywords": ["acme anvils"],"triggerTags": ["funding", "acquisition", "leadership-change"],"languages": ["en"],"lookbackHours": 6,"onlyNew": true,"maxResults": 200}
Output fields
| Field | Meaning |
|---|---|
id | GDELT record id (file stamp plus row number; -T marks a translated source). |
url | The publisher's article URL, as GDELT recorded it. |
title | Headline as published, HTML entities decoded (long dashes are written as a plain hyphen). |
domain | Publisher domain. |
publishedAt | Publisher's timestamp when known, else seenAt (UTC). |
seenAt | Time of the GDELT file the article came from (UTC). |
language | Source language (en for the main files, otherwise the original language). |
tone, positive, negative, polarity | GDELT tone scores (machine-estimated from the article text). |
wordCount | Article length GDELT measured. |
themes | Top 10 GDELT theme codes by mentions. |
organizations | Top 10 organizations by mentions (GDELT's lower-case names). |
countries | ISO codes of countries the article mentions, by mentions (up to 10). |
image | The page's sharing image, if any. |
matchedKeywords | Which of your keywords matched. |
triggerTags | Rule-based tags of the headline. |
alsoOnDomains | Other publishers that ran the same headline (with Merge syndicated copies). |
text, textStatus | Only with Add article text: the main text, and ok or why there is none (robots-disallowed, paywalled, blocked, login-page, pdf, not-html, no-text-found, http-<code>, failed). |
source, citation | gdelt-gkg and the GDELT credit line. |
fetchedAt | When this run wrote the row. |
The run's SUMMARY record lists the window, files read, files not yet published or missing, files skipped as damaged, articles scanned, matches, duplicates merged and what was charged.
Article text (optional, off by default)
With Add article text, the actor fetches each output article's page once and adds its main text (up to 50,000 characters). It reads the site's robots.txt first and skips pages it disallows, sends at most one request per second to a site, waits at most 10 seconds, uses no proxy, and never works around a paywall: pages marked as not free, login pages, blocked pages and PDFs keep text: null and are not charged for text. In tests on 2026-10-06, 14 of 16 real article links returned text from a home connection and 5 of 10 from Apify's servers (the other 5: 2 marked paywalled, 2 disallowed by robots.txt, 1 blocked), so expect roughly half to two thirds of articles to come back with text. Article text is the publisher's work; use it for your own analysis and respect their terms.
Pricing
Pay per event:
| Event | Price (FREE and BRONZE plans) |
|---|---|
| Run start | USD 0.002 |
| News article (one output row) | USD 0.0015, so USD 1.50 per 1,000 |
| Article text (only when text was returned) | USD 0.004, so USD 5.50 per 1,000 with text |
SILVER plans pay 10% less and GOLD and above 20% less per article. Examples:
- The default input (two keywords, 6 hours, up to 50 articles) returned 14 articles on 2026-10-06: about USD 0.023.
- A daily task with about 30 new matches a day: about USD 1.35 a month for articles plus USD 0.06 in starts.
- An hourly only-new task: 720 starts a month (USD 1.44) plus USD 0.0015 per new article.
- Set Maximum cost per run in the run options to cap any run; the actor stops cleanly at that limit and keeps what it saved.
Attribution and data source
Contains data from the GDELT Project (https://www.gdeltproject.org/). GDELT states that its datasets "are available for unlimited and unrestricted use for any academic, commercial, or governmental use of any kind without fee", with a citation and a link to its website when redistributing. Every row carries that citation in citation; please keep it when you republish the data.
Person names, quotations and page authors are in GDELT's files but are left out on purpose: the actor never reads those columns.
Limits and honest notes
- GDELT's coverage is broad but not complete, and its ranking and coverage differ from those of consumer news apps.
- Titles only, no snippet: GDELT does not publish article summaries. Use Add article text when you need the body.
- Tone, themes, organizations and countries are machine-extracted by GDELT and can be wrong.
- Trigger tags are rules with the precision shown above; check them before acting on a tag.
- Windows longer than 24 hours download hundreds of MB (about 150 MB per 6 hours of English files) and take longer; 72 hours is the maximum per run.
- If GDELT renames its files or adds limits, runs will report it in SUMMARY; the actor does not fall back to any other source.
Polite fetching
Every request names this actor (Mozilla/5.0 (compatible; global-news-monitor/1.0; +https://apify.com/JTPalms)). GDELT files are static downloads from data.gdeltproject.org, at most 4 at a time, each downloaded once per run. No proxies, no browser automation, no header tricks.
Related actors
- Company News Triggers: Funding, Layoffs, M&A and More: Watch a list of companies for buying-signal news from open GDELT data: funding, acquisitions, layoffs, expansions, leadership changes,...
- News Article Extractor: Text, Date, Image from URLs and Feeds: News article scraper and extractor: turn article URLs, RSS or Atom feeds and news sitemaps into clean rows: title, Markdown and plain...
- RSS Feed Reader & Scraper: Atom, JSON Feed & New-Item Monitor: RSS feed reader and scraper.
- Hacker News Scraper: Stories, Comments, Search & Alerts: Hacker News front page, new, best, Ask HN, Show HN and job lists, or keyword search with date, points and comment filters.