News Articles by Keyword, Country and Language (GDELT) avatar

News Articles by Keyword, Country and Language (GDELT)

Pricing

$2.00 / 1,000 result rows

Go to Apify Store
News Articles by Keyword, Country and Language (GDELT)

News Articles by Keyword, Country and Language (GDELT)

News scraper for google news and news monitoring. Articles by keyword, country and language from the open GDELT DOC index, deduplicated by URL. Every result row is one charge. Failed inputs are not result rows.

Pricing

$2.00 / 1,000 result rows

Rating

0.0

(0)

Developer

US Tech Automations

US Tech Automations

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

This news scraper turns a google news style search into a news monitoring table: articles by keyword, country and language from the open GDELT index, one row per article URL.

Each phrase is sent on its own to the GDELT DOC 2.0 article list. The same URL found under more than one phrase is kept once, with every matched phrase listed. Article pages are not opened.

Input

FieldWhat it does
KeywordsOne or more phrases, up to 20. Duplicates are ignored.
Source countryOptional. A country name or a 2-letter code, passed through as GDELT sourcecountry. Blank means every country.
Source languageOptional. A language name (english), a 3-letter code (eng), or a common 2-letter code (en). Blank means every language.
How far back15min, 24h, 7d, 2w, or 3m. Default 7d. Longer than 3 months is refused.
Maximum article rowsHard ceiling on article rows, and so on the cost of the run. Default 250, maximum 5000.
Proxy configurationOptional Apify proxy. Off by default, including on a local run.

Pricing

Pay per result. $0.002 per article row. No start fee.

Every row in the results is one charged result. Failed inputs are not rows; they are listed in the run log and the RUN_SUMMARY record, and cost nothing.

Maximum article rows is the ceiling on how many result rows a run can return.

Output (one row per article URL)

One example row from a real local pull on 2026-09-22. The input was the keyword climate over the last 1d. The index returned 5 articles. This is the first:

{
"keyword": "climate",
"keywords": ["climate"],
"url": "https://krna.com/cedar-rapids-paint-plow-program/",
"title": "Paint A Plow : Local Kids Can Turn City Equipment into Winter Art",
"domain": "krna.com",
"language": "English",
"source_country": "United States",
"seen_date": "2026-09-22T18:45:00Z",
"social_image": "https://townsquare.media/site/676/files/2026/09/attachment-paint-a-plow-program.jpg?&q=75&format=natural"
}

A later run of that same input from this machine was refused by the index (its "one request every 5 seconds" reply, twice). That run produced no result row. The refusal is listed in the run log and the RUN_SUMMARY record. The row above is from the pull that succeeded, not from the refused rerun.

FieldWhat it holds
keywordThe first phrase that matched this URL
keywordsEvery phrase in this run that matched this URL
urlArticle URL as the index published it. The page is not fetched.
titleTitle as the index published it
domainDomain as the index published it
languageLanguage name as the index published it
source_countryCountry name as the index published it
seen_dateWhen the index says it saw the article, in UTC
social_imageImage URL when the index sent one, otherwise null

What this does not do

  • It does not search the Google News website. It searches the GDELT index.
  • It does not open, save, or quote the article page. You get the index fields only.
  • It does not look back more than 3 months.
  • It does not return more than 250 matches per keyword. The index caps a single call there. maxItems then trims the combined table.
  • It does not invent a missing field. If the index left it blank, the value is null.
  • It does not log in, send cookies, or solve a challenge page.
  • It does not retry forever. A rate-limit reply is waited out once (30 seconds). If it is still refused, that phrase is written to the run log and the RUN_SUMMARY record. It is not a result row.

Limits

  • At most one index request every 6 seconds. The index's own reply asks for one every 5 seconds. On that reply, this tool waits 30 seconds and tries that phrase once more.
  • 1 to 20 keywords. 1 to 5000 article rows (default 250).
  • A blocked phrase does not stop the other phrases in the same run.
  • Email addresses and phone-number-shaped strings in a title are replaced with [redacted].

Refunds and support

Refunds: if a run returns zero articles for a valid input, email operations@ustechautomations.com within 7 days and we refund that run. Support: same address, replies within 2 business days.