Google News Scraper avatar

Google News Scraper

Pricing

from $2.50 / 1,000 per news records

Go to Apify Store
Google News Scraper

Google News Scraper

Scrape Google News efficiently without a browser.

Pricing

from $2.50 / 1,000 per news records

Rating

5.0

(10)

Developer

Knowten

Knowten

Maintained by Community

Actor stats

12

Bookmarked

18

Total users

0

Monthly active users

3 hours ago

Last modified

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

  1. Open the Actor and go to the Input tab.
  2. Add one or more Keywords, or pick a Topic for a curated headline section.
  3. Choose the Region and Language for the market you care about.
  4. Pick a Timeframe — past hour through past year.
  5. Set Max articles per keyword/topic. If you need more than ~100 for a keyword, switch on Deep Extraction.
  6. 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 (1y or "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 }
}
FieldTypeDefaultDescription
keywordsarray[]Search terms. Google News search operators are supported.
topicstring""Headline section: World, Nation, Business, Technology, Entertainment, Sports, Science or Health.
timeframestring1y1h, 1d, 7d, 1m, 1y or empty for any time. Applies to keyword searches only.
region_languagestringUS:enCountry and language of the results, e.g. MX:es-419, GB:en, DE:de.
maxArticlesinteger20Maximum articles collected per keyword and per topic.
extractDeepbooleanfalseSplit the timeframe into parallel windows (scaled to maxArticles) to exceed the ~100 article feed cap.
decodeUrlsbooleantrueResolve Google News redirect links to the publisher's real URL.
fetchArticleContentbooleantrueVisit each article for its description and cover image. Turn off for a much faster run.
maxConcurrencyinteger30Parallel requests. Lower it if you hit rate limits.
proxyConfigurationobjectApify ProxyProxy 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

FieldTypeDescription
titlestringHeadline, with the trailing publisher name removed.
urlstringThe publisher's article URL when decodeUrls is on, otherwise the Google News link.
googleNewsUrlstringThe original Google News redirect link, always present.
sourcestringPublisher name, e.g. Reuters.
sourceUrlstringPublisher homepage.
publishedAtstringPublication time as an ISO 8601 timestamp (UTC).
publishedTimestampintegerThe same instant in milliseconds since the epoch.
imagestringCover image URL, from the article's Open Graph metadata.
descriptionstringArticle summary, from the article's meta description.
metadata.keywordstringThe keyword or topic that surfaced this article.
metadata.scrapeTimestampstringWhen 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:

ConfigurationRequests per articleRelative speed
decodeUrls: false, fetchArticleContent: false~0Fastest — hundreds of articles in seconds
decodeUrls: true, fetchArticleContent: false1Fast
Both enabled (default)2Complete 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 fetchArticleContent if you only need headlines, links, publishers and dates. It removes the slowest stage entirely.
  • Turn off decodeUrls if you are happy following Google News links yourself.
  • Use Apify Proxy. Some publishers return 403 to datacenter IPs; without a proxy you will see more articles with a null description.
  • Lower maxConcurrency to 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.

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.