Google News Scraper
Pricing
from $2.50 / 1,000 per news records
Pricing
from $2.50 / 1,000 per news records
Rating
5.0
(10)
Developer
Knowten
Maintained by CommunityActor stats
12
Bookmarked
18
Total users
0
Monthly active users
3 hours ago
Last modified
Categories
Share
Scrape news articles from Google News by keyword or topic, in any of 70+ country/language combinations. This Actor extracts the headline, publisher, publication date, description, cover image and the real publisher URL behind every Google News redirect link, and returns it as structured JSON you can download or pipe into your own systems.
What does Google News Scraper do?
Give it a list of keywords (or pick a headline topic such as Business or Technology) and it collects matching articles from Google News, including the publisher's own description and cover image. It runs entirely over HTTP with no browser, which is why a run of 800 articles finishes in about a minute instead of half an hour.
Running it on Apify means you also get scheduled runs, a REST API, webhooks, integrations with Slack / Google Sheets / Zapier / Make, automatic proxy rotation and run monitoring, without maintaining any scraping infrastructure yourself.
Why use Google News Scraper?
- Media and brand monitoring — get an alert-ready feed of every article mentioning your company, product or executives, across any market you sell in.
- Competitor tracking — watch announcements, funding news and coverage of the companies you compete with.
- Market and trend research — pull a full year of coverage on a topic and analyse how the conversation moved over time.
- News aggregation — power a newsletter, portal or internal dashboard with a fresh feed.
- NLP and data science — build labelled corpora for sentiment analysis, entity extraction, topic modelling or financial signal research.
How to use Google News Scraper
- Open the Actor and go to the Input tab.
- Add one or more Keywords, or pick a Topic for a curated headline section.
- Choose the Region and Language for the market you care about.
- Pick a Timeframe — past hour through past year.
- Set Max articles per keyword/topic. If you need more than ~100 for a keyword, switch on Deep Extraction.
- Click Start. When the run finishes, open the Output tab (or Storage → Dataset) to preview and export the results.
Getting thousands of articles per keyword
A single Google News feed never returns more than about 100 results, whatever timeframe you ask
for. Deep Extraction works around this by splitting your timeframe into many consecutive
after:/before: windows and querying each one in parallel, then interleaving the results so a
capped run still covers the whole period evenly rather than only the oldest weeks.
The number of windows scales automatically with Max articles per keyword/topic — set that to
the number you actually want (e.g. 5000) and Deep Extraction will slice into enough windows to
realistically reach it, up to 200 windows per keyword. It also works with Timeframe set to
"Any time" (it falls back to a 5-year lookback internally so it has a range to slice).
To actually get thousands of results:
- Set Max articles per keyword/topic to the number you want (e.g.
5000). - Turn Deep Extraction on.
- Use a broad Timeframe (
1yor "Any time") — narrower windows only help if the keyword has enough daily news volume to fill them; a very niche keyword simply won't have thousands of articles to find, no matter how many windows are requested.
Input
All fields are configured from the Input tab; the JSON equivalent looks like this:
{"keywords": ["bitcoin", "ethereum"],"topic": "BUSINESS","timeframe": "7d","region_language": "US:en","maxArticles": 100,"extractDeep": true,"decodeUrls": true,"fetchArticleContent": true,"maxConcurrency": 30,"proxyConfiguration": { "useApifyProxy": true }}
| Field | Type | Default | Description |
|---|---|---|---|
keywords | array | [] | Search terms. Google News search operators are supported. |
topic | string | "" | Headline section: World, Nation, Business, Technology, Entertainment, Sports, Science or Health. |
timeframe | string | 1y | 1h, 1d, 7d, 1m, 1y or empty for any time. Applies to keyword searches only. |
region_language | string | US:en | Country and language of the results, e.g. MX:es-419, GB:en, DE:de. |
maxArticles | integer | 20 | Maximum articles collected per keyword and per topic. |
extractDeep | boolean | false | Split the timeframe into parallel windows (scaled to maxArticles) to exceed the ~100 article feed cap. |
decodeUrls | boolean | true | Resolve Google News redirect links to the publisher's real URL. |
fetchArticleContent | boolean | true | Visit each article for its description and cover image. Turn off for a much faster run. |
maxConcurrency | integer | 30 | Parallel requests. Lower it if you hit rate limits. |
proxyConfiguration | object | Apify Proxy | Proxy settings. Recommended — some publishers block datacenter traffic. |
At least one keyword or a topic is required; the run fails fast if both are empty.
Output
Every article becomes one dataset item. You can download the dataset as JSON, CSV, Excel, HTML or XML, or fetch it from the Apify API.
{"title": "Current price of Bitcoin for September 10, 2026","url": "https://fortune.com/article/price-of-bitcoin-09-10-2026/","googleNewsUrl": "https://news.google.com/rss/articles/CBMiZ0FVX3lxTE8wTEN3M2Mx...?oc=5","source": "Fortune","sourceUrl": "https://fortune.com","publishedAt": "2026-09-10T14:07:02.000Z","publishedTimestamp": 1789049222000,"image": "https://fortune.com/img-assets/wp-content/uploads/2026/09/Price-of-Bitcoin-Sep-10.jpg","description": "Bitcoin runs on a P2P network instead of being controlled by the government, a bank, etc.","metadata": {"scrapeTimestamp": "2026-09-10T20:24:20.746Z","keyword": "bitcoin"}}
Data fields
| Field | Type | Description |
|---|---|---|
title | string | Headline, with the trailing publisher name removed. |
url | string | The publisher's article URL when decodeUrls is on, otherwise the Google News link. |
googleNewsUrl | string | The original Google News redirect link, always present. |
source | string | Publisher name, e.g. Reuters. |
sourceUrl | string | Publisher homepage. |
publishedAt | string | Publication time as an ISO 8601 timestamp (UTC). |
publishedTimestamp | integer | The same instant in milliseconds since the epoch. |
image | string | Cover image URL, from the article's Open Graph metadata. |
description | string | Article summary, from the article's meta description. |
metadata.keyword | string | The keyword or topic that surfaced this article. |
metadata.scrapeTimestamp | string | When the article was collected. |
source, sourceUrl, publishedAt, image and description are null when the publisher does
not provide them. title, url and googleNewsUrl are always populated.
How much does it cost to scrape Google News?
The Actor is HTTP-only — no headless browser — so it consumes very few compute units. A run of 800 articles with descriptions, images and decoded URLs takes about a minute at the default 1 GB memory setting.
Two settings dominate the cost, because they are the only ones that make a request per article:
| Configuration | Requests per article | Relative speed |
|---|---|---|
decodeUrls: false, fetchArticleContent: false | ~0 | Fastest — hundreds of articles in seconds |
decodeUrls: true, fetchArticleContent: false | 1 | Fast |
| Both enabled (default) | 2 | Complete data, still ~1 minute per 800 articles |
Apify's free tier includes $5 of platform credit per month, which is enough to try the Actor and run it regularly on modest volumes.
Tips and advanced options
- Turn off
fetchArticleContentif you only need headlines, links, publishers and dates. It removes the slowest stage entirely. - Turn off
decodeUrlsif you are happy following Google News links yourself. - Use Apify Proxy. Some publishers return
403to datacenter IPs; without a proxy you will see more articles with anulldescription. - Lower
maxConcurrencyto 10–15 if you see timeouts, or raise it toward 60 on 4 GB memory for large runs. - Combine keywords with a topic in a single run — each is capped independently by
maxArticles. - Schedule it. Pair an hourly schedule with
timeframe: "1h"for a rolling monitoring feed. - Deduplicate across runs using
googleNewsUrl, which is stable for a given article.
FAQ
Why is description sometimes empty?
The Actor reads the description from the publisher's page. Sites behind hard paywalls or strict bot
protection may refuse the request, and a few omit the metadata entirely. Enabling Apify Proxy
noticeably improves the hit rate. Articles are never dropped for this reason — you still get the
headline, link, publisher and date.
Why do I only get ~100 articles for a keyword? That is Google's per-feed limit. Enable Deep Extraction and set Max articles per keyword/topic to the number you actually want — it splits the timeframe into that many parallel windows automatically. Use a timeframe of 7 days or more (or "Any time") so there is enough range to slice.
I set Max articles to 5000 with Deep Extraction on and still got far fewer.
Check the run log for Deep extraction: slicing... — it reports how many windows were requested
and the theoretical ceiling. If the ceiling was high but you still got few articles: (1) the
keyword may simply not have thousands of matching articles on Google News for that timeframe —
try a broader/more popular keyword or a longer timeframe; (2) check for
Failed to fetch feed ... warnings, which mean Google throttled some requests — enable Apify
Proxy or lower maxConcurrency.
Can I scrape non-English news? Yes. Pick any of the 70+ country/language pairs in Region and Language; results and search matching follow that locale.
Does the timeframe apply to topics? No. Topic feeds are curated current headlines and ignore date operators. Use keywords when you need historical coverage.
Legal and support
This Actor collects publicly available headlines and metadata from Google News. It does not download full article text, and it collects no personal data. You are responsible for making sure your use of the extracted data complies with Google's Terms of Service, the publishers' terms and the copyright and data protection law that applies to you. Consult a lawyer if you are unsure.
Found a bug or want a field that is missing? Open a ticket on the Issues tab of this Actor — issues and feature requests are both welcome.