News Articles by Keyword, Country and Language (GDELT)
Pricing
$2.00 / 1,000 result rows
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
Maintained by CommunityActor 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
| Field | What it does |
|---|---|
| Keywords | One or more phrases, up to 20. Duplicates are ignored. |
| Source country | Optional. A country name or a 2-letter code, passed through as GDELT sourcecountry. Blank means every country. |
| Source language | Optional. A language name (english), a 3-letter code (eng), or a common 2-letter code (en). Blank means every language. |
| How far back | 15min, 24h, 7d, 2w, or 3m. Default 7d. Longer than 3 months is refused. |
| Maximum article rows | Hard ceiling on article rows, and so on the cost of the run. Default 250, maximum 5000. |
| Proxy configuration | Optional 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.
| Field | What it holds |
|---|---|
keyword | The first phrase that matched this URL |
keywords | Every phrase in this run that matched this URL |
url | Article URL as the index published it. The page is not fetched. |
title | Title as the index published it |
domain | Domain as the index published it |
language | Language name as the index published it |
source_country | Country name as the index published it |
seen_date | When the index says it saw the article, in UTC |
social_image | Image 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.
maxItemsthen 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.