Google News Scraper avatar

Google News Scraper

Pricing

from $1.00 / 1,000 articles

Go to Apify Store
Google News Scraper

Google News Scraper

Scrape Google News by keyword or topic in any language and country. Real publisher URLs (not news.google.com redirects), source, date and related coverage. Go past Google's 100-result cap with a date range: one feed per day.

Pricing

from $1.00 / 1,000 articles

Rating

0.0

(0)

Developer

mick_

mick_

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Google News Scraper logo

Google News Scraper

Scrape Google News by keyword or topic, in any language and country. You get the real publisher URL for every article (not a news.google.com redirect), plus title, source, publish time, and the related coverage Google groups with each top story.

At a glance
You give itKeywords or topics, plus optional language, country and date range
You getOne row per article: title, real publisher URL, source, publish time, related coverage
Price$0.005 per run + $0.002 per article (Free plan, lower on paid plans)
Speed30 articles with resolved URLs in about 6 seconds
NeedsNothing: no login, no API key, no proxy

What you get

  • Real article URLs. Google News RSS links are encoded redirects. This actor resolves each one to the publisher's own link, so you can open, fetch or deduplicate articles directly. In a side-by-side test on the same query, a popular alternative returned 0 of 30 real URLs; this actor returned 30 of 30.
  • Past the 100-result cap. Google returns about 100 articles per search. Set a date range and the actor searches one day at a time, about 100 articles per day: a 3-day range for "tesla" returned 299 unique articles, all with resolved URLs, in about 35 seconds (under 5 seconds with resolveUrls off).
  • Keyword search with Google operators: "exact phrase", site:reuters.com, -exclude, OR.
  • Topic headlines: Top stories, World, Nation, Business, Technology, Entertainment, Sports, Science, Health.
  • Any edition: language and country, for example de + DE, en + GB, pt-BR + BR.
  • Related coverage: for clustered top stories, the other outlets' headlines on the same story.
  • Deduplication across queries and days in the same run.
  • Light and fast: 30 articles with resolved URLs took 6 seconds and $0.0003 of platform usage.

Use cases

  • Brand and competitor monitoring. Every new article that mentions your company, delivered to Slack.
  • PR and media lists. Which outlets and domains cover your space, and how often.
  • Market and investment research. Daily news flow for a ticker or sector, with dates, for backtests and dashboards.
  • AI news digests. Feed real article URLs into an LLM summarizer or a RAG index.
  • Localized news. The German or Brazilian front page, in its own language.

Example inputs

Latest news for a keyword, past 24 hours

{ "queries": ["openai"], "timeRange": "1d", "maxArticlesPerQuery": 50 }

Deep history: every day of September

{ "queries": ["\"electric vehicles\""], "dateFrom": "2026-09-01", "dateTo": "2026-09-25", "maxArticlesPerQuery": 0 }

Only one publisher

{ "queries": ["interest rates site:reuters.com"], "timeRange": "7d" }

German front page and tech section

{ "topics": ["TOP", "TECHNOLOGY"], "language": "de", "country": "DE", "maxArticlesPerQuery": 30 }

Input

FieldWhat it does
queriesSearch terms, one per line. Google News operators work.
topicsHeadline sections: TOP, WORLD, NATION, BUSINESS, TECHNOLOGY, ENTERTAINMENT, SPORTS, SCIENCE, HEALTH.
language, countryThe Google News edition. Default en and US.
timeRange1h, 1d, 7d, 30d, 1y. Ignored when a date range is set.
dateFrom, dateToSearch one day at a time across this range (up to 366 days).
maxArticlesPerQueryNew articles per query or topic, counted after duplicates are removed. 0 means no limit. Default 100.
resolveUrlsResolve publisher URLs. Default on.
deduplicateSkip articles already saved in this run. Default on.

Output

A real row from a test run on 2026-09-26 (related coverage shortened to two entries):

{
"title": "Roads flood in New Jersey, inundate some homes, as major signs of nor’easter take shape",
"url": "https://apnews.com/article/noreaster-storm-cape-cod-new-england-4057bec1ced5c4883d36c30c778df410",
"googleNewsUrl": "https://news.google.com/rss/articles/CBMinAFBVV95cUxQdGRqdGEzMGFJUjh3UDU4cDJaaGdaWnNMYVpJS1Fid19ueFRYeXRMTGtJODdIeGE4RlYwZnpzU2JWYTdaQnk5LW5KRGluRjVjX2U5cS11UzY4Q0FDQXdWRVJENnluUHBMT1hKa0NRUDlUNU9pVVR0MXN0MFRNLV94WjduYUVkODlBNTdoQUtHUDNvNHp1REV3NWZXQ2c?oc=5",
"articleId": "CBMinAFBVV95cUxQdGRqdGEzMGFJUjh3UDU4cDJaaGdaWnNMYVpJS1Fid19ueFRYeXRMTGtJODdIeGE4RlYwZnpzU2JWYTdaQnk5LW5KRGluRjVjX2U5cS11UzY4Q0FDQXdWRVJENnluUHBMT1hKa0NRUDlUNU9pVVR0MXN0MFRNLV94WjduYUVkODlBNTdoQUtHUDNvNHp1REV3NWZXQ2c",
"source": "AP News",
"sourceUrl": "https://apnews.com",
"sourceDomain": "apnews.com",
"publishedAt": "2026-09-26T12:11:00Z",
"relatedCoverage": [
{
"title": "A major nor’easter is battering the East Coast",
"source": "The Washington Post",
"googleNewsUrl": "https://news.google.com/rss/articles/CBMilAFBVV95cUxPU08zV3pjZVhQWHlHT1dLSHFoQTJTTEg2d003R1RON2Vpak42STdlc3E3Vzd1WnVYVWVZTnNFY2VOVjZXNWVjWWFuNEdtNjV2bm5ybWVxdmYyQnpfb3RFbU9BRDlVT2hJQWpMNk1QVTI1S2Q1bWlFMWpXT3ZSLWtDWUR3NVZpWUFNZ1RUb29kZHNEZE5E?oc=5"
},
{
"title": "Live updates: Powerful nor'easter batters East Coast with coastal flooding, high winds and power outages",
"source": "Yahoo",
"googleNewsUrl": "https://news.google.com/rss/articles/CBMi8wFBVV95cUxOMXN4ZTNmdFBUOWZadG9mODBsSHUyZlRpdkFEQ09tcUlBZ1RST1RKVzdSZ3NFUTNZNXhXSzB2MlNLbFJhSU45QWlobmZJZmd3Vlc5OEQtM29EOTJ0LXVCZ0R2SlBLNXBLOVkzUm5JdkFpX0RqOUZ6TXpmNDZWSi1pSDVuUUVMa2ltXzJ5N0hhX3ZJVjFMbm1IZHlRb1lRTGhpV01pSVUtN3dESW4zZUd5UkE0eWtEMDQteDNuRV94REpyb1BKbFlaODRncVR4T2NOZHJDa0pBZnp6QW5rMUx4OWNCcVBxR252SGFCaWhtN0J3UDA?oc=5"
}
],
"query": null,
"topic": "TOP",
"language": "en",
"country": "US"
}

Pricing

Pay per event:

  • $0.005 per run start
  • $0.002 per article on the Free plan (lower on higher Apify plans)

Apify platform usage is billed separately to your account and is tiny: 30 articles with resolved URLs used $0.0003.

ArticlesActor cost
30about $0.065
100about $0.21
1,000about $2.01

Set a Maximum cost per run in the run options and the actor stops cleanly when it reaches it.

Automate it with n8n

Each workflow uses n8n's official Apify node, operation Run actor and get dataset, actor labrat011/google-news-scraper. Paste the input into Input JSON.

1. Brand mentions to Slack every hour

Schedule Trigger (every hour)
> Apify: Run actor and get dataset { "queries": ["\"Your Brand\""], "timeRange": "1h" }
> Remove Duplicates (n8n, across executions, on url)
> Slack: "{{ $json.source }}: {{ $json.title }} {{ $json.url }}"

2. Morning industry digest by email, written by AI

Schedule Trigger (weekdays 07:00)
> Apify: Run actor and get dataset { "queries": ["semiconductors", "chip export"], "timeRange": "1d", "maxArticlesPerQuery": 30 }
> Aggregate: titles, sources and urls into one list
> OpenAI / Anthropic: "Write a 5-bullet briefing. Cite the source name and link for each bullet."
> Gmail: send to the team

3. News history to Google Sheets for research

Manual Trigger
> Apify: Run actor and get dataset { "queries": ["NVDA"], "dateFrom": "2026-01-01", "dateTo": "2026-09-25", "maxArticlesPerQuery": 0, "resolveUrls": false }
> Google Sheets: Append rows (publishedAt, source, title, url)

Turn off resolveUrls for big historical pulls when you only need headlines and dates; it is faster.

4. Competitor press tracker in Airtable

Schedule Trigger (daily)
> Apify: Run actor and get dataset { "queries": ["CompetitorA", "CompetitorB", "CompetitorC"], "timeRange": "1d" }
> Airtable: Upsert by articleId (query as the competitor column)

5. Feed a RAG knowledge base

Schedule Trigger (daily)
> Apify: Run actor and get dataset (your topic, past 24 hours)
> HTTP Request: GET {{ $json.url }} (the real publisher page)
> HTML Extract / Readability: article text
> Embeddings + Vector Store insert (Pinecone, Qdrant, Supabase)

This only works because the URLs are real publisher links.

For AI agents

  • Actor: labrat011/google-news-scraper
  • Smallest input: { "queries": ["openai"] }
  • One row = one article. Key fields: title, url (publisher link), source, sourceDomain, publishedAt (ISO 8601 UTC), query or topic.
  • Billing: apify-actor-start once per run, article once per row. Set maxArticlesPerQuery or a maximum cost per run to cap spend.
  • Run it: POST https://api.apify.com/v2/acts/labrat011~google-news-scraper/run-sync-get-dataset-items with the input as the JSON body, or call it from the Apify MCP server.
  • Done signal: the run's status message starts Saved N articles in M requests. and may add how many links stayed unresolved and which queries or topics had No results for: ....
  • Bad input fails fast with a readable status message, for example an unknown topic or a reversed date range.

FAQ

Why do some rows keep a news.google.com URL? Google occasionally will not resolve an article. The run summary tells you how many; the row still has title, source and date.

How far back can I go? Google News search reaches back years, but coverage thins out for older dates. The date range is limited to 366 days per run.

Why are a few articles dated just outside my date range? Google draws its day boundaries in its own time zone, not UTC, while publishedAt is always UTC. Expect a few percent of rows to sit a few hours past the last day. Filter on publishedAt if you need a hard cut.

Do I need a proxy? No.

Support

Open an issue on the actor's Issues tab with the run ID and it will be looked at.