Google News Scraper: Articles by Keyword, Topic & Country avatar

Google News Scraper: Articles by Keyword, Topic & Country

Pricing

from $1.60 / 1,000 news articles

Go to Apify Store
Google News Scraper: Articles by Keyword, Topic & Country

Google News Scraper: Articles by Keyword, Topic & Country

Get news articles by keyword, country and language, with publisher names, timestamps, snippets, thumbnails and publisher links when available. Keyword searches fall back to the Google News tab. Includes date filters, paging and optional public article text.

Pricing

from $1.60 / 1,000 news articles

Rating

0.0

(0)

Developer

Zaiq

Zaiq

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Security

Limited permissions

Share

Google News Scraper: Articles by Keyword, Topic & Country

Get news headlines, publisher names, publish times, snippets, thumbnails and available publisher URLs for $0.002 per article, the same price on every Apify plan. Keyword searches use RSS when available and automatically fall back to Google’s News tab.

Start with {"queries": ["renewable energy"]} for up to ten articles. Set country, language and a date window, then increase maxPerQuery to page through more keyword results. Each row begins with a one-line result.

Optional public article text costs $0.02 per article with text, including the listing. Failed text retrieval falls back to the $0.002 listing. Topic and top-stories modes require news.google.com; a refused feed returns a free note.

What you get

FieldWhat it holds
verdict, kind, statusA one-line result, article status and separate free notes.
title, publisher, source, sourceUrlHeadline, publisher name and publisher home page when a publisher URL is available.
publishedAt, publishedAtRaw, publishedAtMethod, publishedAtIsEstimatedGoogle’s timestamp in UTC when supplied, otherwise an estimate from the relative label. Unknown times stay null.
publishedAtEstimateRelative-label estimate anchored to the page capture time, where the label can be read. Source timestamps take precedence in publishedAt.
url, googleUrl, linkStatus, linkMethodPublisher URL when supplied or resolved; otherwise the original Google link and an explanation.
snippet, snippetSourceSource-provided snippet when present. Carousel cards may have none.
thumbnail, thumbnailType, image, imageSourceNews-tab thumbnail as a URL or inline image data URI. image contains only a remote image URL when available. Source images are not fetched separately.
position, pagePosition, pageStart, sourceRank, rankNews-tab position is start plus card position. Carousels can make positions overlap across pages; rank counts delivered results per query.
sourceType, searchUrl, feedUrlWhether the row came from RSS or the Google News tab, with source request URLs.
clusterId, alsoReporting, relatedCountSource cluster identifier where available. Nested related headlines come from RSS; News-tab rows leave that list empty.
text, textStatus, authors, canonicalUrlOptional public article text and publisher metadata; failures are explained.

What people use it for

  • News monitoring: Collect the latest coverage of a subject in the editions that matter to you.
  • Research: Compare headlines and publishers across languages, with the original sources attached.
  • Coverage analysis: Keep related reporting together instead of treating every headline as an unrelated story.
  • Article processing: Send publisher URLs or public article text to your own search, classification or summarisation pipeline.

How to use it

  1. Add one or more keyword searches.
  2. Choose a country, language, optional date filter and article limit.
  3. Run the Actor and export article rows to JSON, CSV or Excel. Free note rows explain source failures and limits.

Input

FieldExampleNotes
queries[]Up to 30 searches. Empty selects topic/top stories, which require news.google.com. The Console prefill supplies a keyword.
country, languageUS, enRequested country and language codes; regional language codes are accepted.
topictopUsed only without keyword searches. Requires news.google.com.
period, whenany, emptyHour, day, week, month or year, or a custom window such as 2d. when overrides period.
after, beforeemptyInclusive after and exclusive before dates, YYYY-MM-DD. Keyword fallback maps them to a custom source range and checks UTC timestamps.
siteemptyOptional publisher domain such as publisher.example; requires a keyword.
maxPerQuery, maxArticles10, 100Up to 100 articles per query and 1,000 per run.
maxPages10One to 20 News-tab pages per keyword; also bounded by article and spending limits.
resolveLinkstruePublisher link resolution included. Direct publisher links need no extra request.
includeArticleTextfalseRead public publisher text for $0.02 total per successful text article.
maxTextChars500001,000 to 200,000 characters; truncation is marked.
maxRelated10Zero to 30 RSS related headlines. News-tab rows do not supply this list.
sortByrelevanceKeep source order, or request date order and sort each returned page by newest timestamp.

Output

Each result is one row in the run's dataset (download it as JSON, CSV, Excel, XML or HTML, or read it through the API). An example row (values shortened):

{
"verdict": "Article listing available",
"kind": "article",
"status": "ok",
"title": "Example Forum in Example City: Die Chancen für den Mittelstand",
"publisher": "Example News",
"publishedAt": "2026-10-25T18:18:04Z",
"publishedAtRaw": "vor 7 Minuten",
"publishedAtMethod": "source_timestamp",
"publishedAtIsEstimated": false,
"url": null,
"snippet": "Bei der Entwicklung großer KI-Modelle hält Alex Example den Rückstand Europas für kaum noch aufholbar. Doch die eigentliche Chance...",
"image": null,
"thumbnailType": "inline",
"position": 1,
"pagePosition": 1,
"pageStart": 0,
"sourceType": "google_news_tab"
}

This excerpt comes from an offline Actor replay of a real source page captured on 25 October 2026. Names, handles and site addresses are replaced where present. The original row had no resolved publisher URL or remote thumbnail URL; inline image data and some metadata are omitted for readability. SUMMARY records pages, source changes, limits, skipped records, unresolved links and charges.

Pricing

  • $0.002 per delivered article listing, including available source fields and requested publisher link resolution. There is no separate article-link charge.
  • $0.02 per article with public text, including the listing. This replaces the $0.002 event; the two prices are not added together.
  • If a publisher URL or article text is unavailable, delivered headline metadata still costs $0.002, with a clear result message.
  • Blocked sources, empty results, invalid inputs and other note rows have no article charge. Apify’s $0.00005 start charge counts towards the buyer’s Maximum cost per run.
  • The same price on every Apify plan. No AI charges or separate proxy fees for the buyer.

What typical jobs cost at the list price:

JobCost
10 article listings$0.02005 including start
100 article listings$0.20005 including start
5 articles with public text$0.10005 including start
3 articles with text and 2 listings$0.06405 including start
No articles delivered$0.00005 start charge only

Set Maximum cost per run. Apify’s $0.00005 start charge is part of that limit: $0.004 fits one $0.002 article; $0.00405 fits two. The Actor checks remaining allowance before fetching another page or reading article text. Free notes remain available after the limit. Acknowledged articles are skipped after a restart of the same run.

Tips

  • Use one keyword and the default ten articles for a first run.
  • Use date fields for UTC filtering. A source date range is not a complete news archive.
  • An article can appear for each distinct query. Duplicate cards within a query are skipped. Separate scheduled runs are new collections.
  • Use articleId and publisher URL when available to join results; pageStart and pagePosition preserve where a card appeared.

Use it through the API

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("zaiq/google-news-scraper").call(run_input={"queries": ["renewable energy"], "country": "DE", "language": "de", "when": "7d", "maxPerQuery": 10})
for row in client.dataset(run.default_dataset_id).iterate_items():
print(row)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('zaiq/google-news-scraper').call({"queries": ["renewable energy"], "country": "DE", "language": "de", "when": "7d", "maxPerQuery": 10});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

HTTP (one call, results back)

curl -X POST 'https://api.apify.com/v2/acts/zaiq~google-news-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{"queries": ["renewable energy"], "country": "DE", "language": "de", "when": "7d", "maxPerQuery": 10}'

Integrations and schedules

  • Schedules: run it every hour, day or week from the Apify Console (Schedules) and keep a history of results.
  • Make, Zapier, n8n, Google Sheets, Slack, Airtable: connect it through Apify's integrations, or send each finished run to a webhook.
  • Datasets: results stay in the run's dataset; export them or read them by API whenever you need them.

Use it with AI agents (MCP)

Add Apify's MCP server (https://mcp.apify.com) to Claude, ChatGPT, Cursor, VS Code or any MCP client. The agent can find this Actor and run it for you: ask it for "ten recent articles about renewable energy in Germany". AI agents can also pay for runs directly through Apify's agentic payments.

Limits

  • Keyword searches fall back from RSS to Google’s News tab. Topic and top-stories modes only use news.google.com and return a free note if it is refused.
  • RSS has a 100-item ceiling and no paging. News-tab paging uses start offsets, stops at the configured limits, and detects a repeated page. Neither source guarantees complete historical coverage.
  • Google may return opaque redirect links. Resolving them can fail; url then stays null and googleUrl is retained. Link resolution never signs in or solves a check.
  • News-tab thumbnails may be inline image data instead of remote links. Snippets can be absent. Missing fields are not invented.
  • Relative times are estimates; publishedAtMethod identifies their origin. Month/year estimates use 30/365 days. Google’s own data-ts timestamps take precedence. Unsupported time labels remain null and cannot pass a local date filter.
  • Country and language select the requested edition. Google may fall back or return no results for some combinations.
  • Newest ordering requests the source date sort and sorts each returned page. Changing sources or page layouts can change ordering and results.
  • Topics filter only their current feed. Relative and custom filters together use the custom source range and then apply both constraints to returned timestamps.
  • Public article text respects publisher robots rules. Login walls, paywalls, browser-only pages and blocked pages return notes; no login or check is attempted.
  • Publisher HTML is limited to 16 MiB decoded. Residential requests have a separate 128 KiB transfer ceiling. Text truncation does not prove source completeness.
  • Source work is limited to 14 minutes. Page failures keep already delivered articles and add a free explanation.

FAQ

Are publisher URLs included?

Yes, when the page supplies them or an ordinary Google redirect resolves. An unavailable URL stays null with a clear note; the headline metadata still costs the listing price.

Do topics use the keyword fallback?

No. Top stories and topics depend on news.google.com. Use a keyword search for the News-tab fallback.

Does every article have a snippet and thumbnail link?

No. Some cards lack snippets, and many thumbnails arrive as inline image data. Missing remote URLs remain null.

What happens when another page is blocked?

Already delivered articles remain in the dataset. A free note identifies the unavailable continuation.

What happens after a restart?

Saved page snapshots and acknowledged result IDs prevent repeat article charges and unnecessary source requests.

Is an AI service involved?

No. The Actor reads public responses with deterministic parsers.

Support

Questions, a site that changed, or a field you need? Open an issue on this Actor's Issues tab: we answer there, usually within a day.


Also found as: google news scraper, google news api, news articles api, news rss, publisher URLs, media monitoring.