Google News Scraper
Pricing
from $0.01 / 1,000 articles
Google News Scraper
Scrape Google News articles by search, topic, place or URL in 82 editions (70 countries): title, publisher, date, related coverage, original URL and full text. More than 100 articles per search. Export to JSON, CSV or Excel.
Pricing
from $0.01 / 1,000 articles
Rating
0.0
(0)
Developer
Nice Dev
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
10 hours ago
Last modified
Categories
Share
π° What is Google News Scraper?
Google News Scraper extracts news articles from Google News: headline, publisher, publication date, Google News link and the related coverage, and on request the original article URL and the full article text, main image and authors. Search any keyword in any of the 82 Google News editions, read a topic (Business, Technologyβ¦), the local news of a city, a Full coverage story or a publisher's page. It works as a Google News API alternative: run it on a schedule, call it from your code, or plug it into Make, Zapier or n8n.
Type a search query (tesla) or paste any Google News URL, click Start, and download the articles in JSON, CSV or Excel. No login, no API key, and it is fast: 250 articles in about 6 seconds, or 40 articles with their full text in about 25 seconds. Google News stops at 100 articles per search: this Actor goes past it, and returns thousands of articles for one query.
π What data can you extract from Google News?
One item per article, 35 fields:
| Category | What you get |
|---|---|
| π° Article | headline (without the trailing publisher name), Google News id, link, rank in the feed |
| π’ Publisher | publisher name, website and domain β Axios, axios.com |
| π Dates | publication date (ISO, Unix timestamp and as Google wrote it), last update on the publisher's site |
| π Links | Google News link, and the original article URL on the publisher's site (option) |
| π§ Where it was found | search query, topic, place, edition (country and language), the Google News page and its title |
| ποΈ Related coverage | the other articles Google News groups with it: same story, other publishers β free |
| π Full text (option) | full article text, summary, word count, reading time, main image, authors, keywords, section, language |
| β Status | whether the full text could be read: read, refused by the publisher, no text (paywall), failed |
Every field, with an example, is listed in the Output section below.
The original article URL is filled with Original article URL (resolveUrls); the full text, image, authors and the original URL with Full article text, image and author (extractDetails). Both are off by default: the plain run returns the article cards only, and is the fastest.
β Why use Google News Scraper?
- π Fast: 250 articles in about 6 seconds, 40 articles with their full text in about 25 seconds.
- π More than 100 articles per search: Google News stops at 100; the Actor splits the period into smaller ones and reads each, so one query can return thousands of articles (Get more than 100 articles per search, on by default).
- π 82 editions, many in one run: the same query in the United States, France, Germany and Japan at once, each article tagged with its country and language.
- π The real article URL, not only the Google News redirect link, and the full text when the publisher shows it β a refused or paywalled article is still saved, and is not charged for the option.
- ποΈ Related coverage included: the other publishers on the same story, at no extra cost.
- π Monitoring built in: tick Only new articles, schedule the Actor, and each run returns (and charges) only the articles it has never delivered before.
- π API, scheduling, integrations (Make, Zapier, n8n, Google Sheetsβ¦) and JSON/CSV/Excel export via the Apify platform.
π How to scrape Google News
- Create a free Apify account.
- Open Google News Scraper and type a Search query (e.g.
artificial intelligence), or pick Topics or a place for Local news. - Optional: choose the Country and language (more with More editions), a Time period or exact dates, publishers to keep or drop β or paste Google News URLs into Google News URLs.
- Set Max articles (100 by default, 0 = no limit) β and Max articles per search when you run several searches β then click Start.
- Download the dataset in JSON, CSV, Excel or via API.
π° How much does it cost to scrape Google News?
This Actor uses pay per event pricing: you pay for what you get, and the prices of each event are in the Pricing tab. What is charged:
- each article saved in the dataset (related coverage included);
- each original article URL found (with Original article URL or Full article text) β not for an article whose link Google News did not give, nor for a Full coverage card that already carries it;
- each full article text read (with Full article text, image and author) β only when the text was really read: an article the publisher refused, or showed behind a paywall, is not charged for it;
- a small fee per run start, and a small fee for each article that a filter of the Actor checks and drops (
filter-check) β none for an article of a search dropped by its dates (Google News was asked for those dates).
An article already delivered, with Only new articles, is neither saved nor charged. Platform usage (compute, proxy) is included in the price.
βοΈ Input
A simple search:
{"query": "artificial intelligence","maxItems": 200}
Several searches in several editions, last 7 days, with the original article URL and full text, only the articles not delivered before:
{"searchQueries": ["tesla", "spacex"],"regionLanguages": ["GB:en", "DE:de"],"maxItemsPerQuery": 50,"postedAfter": "7 days","extractDetails": true,"onlyNew": true,"stateKey": "musk-news"}
Topics, local news, and your own Google News URLs:
{"topics": ["BUSINESS", "TECHNOLOGY"],"location": "Paris","regionLanguage": "FR:fr","startUrls": [{ "url": "https://news.google.com/search?q=climate&hl=en-US&gl=US&ceid=US:en" }],"maxItems": 300}
| Field | Notes |
|---|---|
query, searchQueries | What to search, exactly as on Google News; operators work ("exact phrase", OR, -crypto, site:reuters.com, intitle:merger). searchQueries adds more queries, one search each. |
topics | Google News sections: TOP, WORLD, NATION, BUSINESS, TECHNOLOGY, ENTERTAINMENT, SPORTS, SCIENCE, HEALTH β about 40 articles for TOP (the front page), 60 to 75 for the other sections, per edition. |
location, locations | Local news of a city (Paris, New York, Munich), or of a country in its own edition (Germany with DE:de); locations adds more places. Google News has no local news for a region or a state (Bavaria, Texas, Ontario: 0 articles). |
regionLanguage, regionLanguages | Google News edition, country and language (US:en, GB:en, FR:fr, DE:de, JP:jaβ¦, 82 in all). Every search, topic and place is read in each edition (max 1000 searches per run). |
startUrls | Google News pages as copied from the browser: a search, a topic, local news, a Full coverage story, a publisher page or any news.google.com RSS feed. Their edition (hl, gl, ceid) is kept. A single article page is not accepted. |
maxItems | Stop after this many articles for the whole run (0 = unlimited). |
maxItemsPerQuery | Cap for EACH search, topic, place or URL, per edition (0 = no per-search cap). |
fetchBeyond100, lookbackDays | Go past the 100 articles Google News gives per search, by splitting the period down to single days; the period is Posted after β Posted before, or the lookbackDays days (30 by default) before Posted before, or before the run's start. |
sortBy | relevance (Google News order) or date (newest first). |
timeframe | Recent period: 1h, 12h, 1d, 7d, 30d, 1y (Google News when:). |
postedAfter, postedBefore | Publication date range: 2026-09-01, or a period before now (7 days, 2 weeks, 1 month, 24 hours). |
sites, excludeSites | Keep only, or drop, these publishers by domain (reuters.com, bbc.co.uk); kept sites are added to each search as site:. |
titleOnly | Match the query in the headline only. |
excludeKeywords | Drop the articles whose headline contains one of these words or phrases, as whole words: war drops "War inβ¦" but keeps "Warner" (case and accents ignored; in Chinese, Japanese, Korean, Thaiβ¦ any part of the headline counts). |
resolveUrls, extractDetails | Original article URL; full text, image, authors and summary from the publisher's page (includes the original URL). |
includeRelatedArticles | The other articles Google News groups with each one (on by default, free). |
onlyNew, stateKey, resetState | Monitoring: only the articles never delivered under this memory key; resetState forgets the memory. |
| Advanced | proxyConfiguration (Apify proxy by default, included in the price; the residential proxy is not available), maxConcurrency, maxRequestsPerMinute, minRequestIntervalMs, maxRequestRetries, debugLog. |
π¦ Output
A real article from the World section with Full article text (the text and keywords are shortened here):
{"id": "CBMiuwFBVV95cUxQOTJWaW9zNF9BSUp2T19LMXAzcGJrOXBYeUJpbVoxUWRZc2pZV2EzWkRjcHc1a1k2aVB3WUV4ejREU2MyVlNkNUt4bllYZC02VWFoT2Qzc1VnaXd5R2IzZHlDTWJfSnBUenllYVdYal9TdnQ1SEZ5TnhFczMtX3pXNHozcExHcld1ZGZMdXhYaExOU0NjdFQ3eEhaOWQtcjBQeF94d1Y3NnFjQzNkeldOZjRTOXVxRXdoX2pF0gG7AUFVX3lxTE9mRjNIczQ5NnU2TmNvczJQSzFkTTl3V3Y0cEVvbEZ1UmdrM0R2ZnFGanM1Tm9EUFprdWNCejhIYUVQSGhjQTFOMzdTRVN2YzRKWHp6bFVxOU93ekdtMGk1RHY1ck1iaG95S0psTzljelpuaTd1VHFIQmdIRlFVWjExS3JCNUQ0cUlza3V5bFlEQy1ialBWTi0yVDNrRzhHWnpwUTZoQVAzWGg0ZFdxcnYtMUxqOUVsOFlZaUk","url": "https://www.scmp.com/news/china/politics/article/3371627/strongest-storm-year-barrels-towards-taiwan-and-mainland-china","title": "Strongest storm of the year barrels towards Taiwan and mainland China","source": "South China Morning Post","sourceUrl": "https://www.scmp.com","sourceDomain": "scmp.com","publishedAt": "2026-10-21T08:00:06.000Z","publishedTimestamp": 1792569606000,"publishedAtRaw": "Wed, 21 Oct 2026 08:00:06 GMT","googleNewsUrl": "https://news.google.com/rss/articles/CBMiuwFBVV95cUxQOTJWaW9zNF9BSUp2T19LMXAzcGJrOXBYeUJpbVoxUWRZc2pZV2EzWkRjcHc1a1k2aVB3WUV4ejREU2MyVlNkNUt4bllYZC02VWFoT2Qzc1VnaXd5R2IzZHlDTWJfSnBUenllYVdYal9TdnQ1SEZ5TnhFczMtX3pXNHozcExHcld1ZGZMdXhYaExOU0NjdFQ3eEhaOWQtcjBQeF94d1Y3NnFjQzNkeldOZjRTOXVxRXdoX2pF0gG7AUFVX3lxTE9mRjNIczQ5NnU2TmNvczJQSzFkTTl3V3Y0cEVvbEZ1UmdrM0R2ZnFGanM1Tm9EUFprdWNCejhIYUVQSGhjQTFOMzdTRVN2YzRKWHp6bFVxOU93ekdtMGk1RHY1ck1iaG95S0psTzljelpuaTd1VHFIQmdIRlFVWjExS3JCNUQ0cUlza3V5bFlEQy1ialBWTi0yVDNrRzhHWnpwUTZoQVAzWGg0ZFdxcnYtMUxqOUVsOFlZaUk","articleUrl": "https://www.scmp.com/news/china/politics/article/3371627/strongest-storm-year-barrels-towards-taiwan-and-mainland-china","position": 7,"searchType": "topic","query": null,"topic": "WORLD","location": null,"regionLanguage": "US:en","country": "US","language": "en","searchUrl": "https://news.google.com/rss/headlines/section/topic/WORLD?hl=en-US&gl=US&ceid=US%3Aen","feedTitle": "World - Latest - Google News","relatedArticles": [{"title": "Super Typhoon Champiβs Planet-Sized Eye Explodes on Satellite Graphics (Video)","source": "Yahoo","googleNewsUrl": "https://news.google.com/rss/articles/CBMingFBVV95cUxNLU9tX2UyZ0diNnlpbUk3YWRZdGxONjlDbC1DbXBHZXdYVldWcmE0Q3Y5U2tkZzdTYnZ5RnZIWEp5NW40M0tqUnJFSS1YNE5JdmM3VTV2NkdrUHUxcU5MTjVhSWVOZ25sTkVHS1ZjUlVDemk0T3lFUFZVcjZReFVlQWRyMS0ybU1qYUE1TGtsOXRpYTVTZEVQZzZwcGxlZw"},{"title": "Super Typhoon Champi, Churning Over Pacific, Becomes Strongest Storm of 2026","source": "The New York Times","googleNewsUrl": "https://news.google.com/rss/articles/CBMikwFBVV95cUxNQTh4YUtvdF9RZU9OelBXbEdNQlROQUxaejluR09RaTgwLWtmZkQ1a2tPaWxOT2FFNE96U3BLdHhmNklvLTVKZ0tEeXpySEY0NDc4X3JwM25Za1NtekFfdk04Mzc3Y1Vfa09OSV9FTl8wQV9jM05VTVR3OHQ2X21kNGEyWHA4V2R5UEl3UnVCZTZoc1E"},{"title": "Champi slams Guam after rapidly intensifying into violent typhoon, bringing life-threatening conditions","source": "FOX Weather","googleNewsUrl": "https://news.google.com/rss/articles/CBMi2wFBVV95cUxObmZzb2JLUHF3REd3MnBfQnNiQ3p1UDdRMkx1TmJYZ0diWGJGUzVpZXpYWDV4eFNyVHZGTFB3TVBoa2R2QmV4Vk5WSEJqVWhJV1RfT21rUVhYRzNnNlVHSnFtRjRNS2Z4RFlLUmRpNHQxVnRpVW0temJ6SUFqMlFXQjJvTG44bjJPSFFwSi1ackxXNld4NEJqejRuQ0cyQzBaM0Nsa1oxU3l1V1pOOTU1aHZUbFFrVm56RFY0WS1UOENmakpwemJsQUtqZTlnS1cyWWpOLUZORGpPS0XSAeABQVVfeXFMTVBSQnVDRnN5dTRDNTJZUTlXVjdkU0VWUGlwRFFRcWtlbUxmVzJiUUVkME5lLTVBT010TVlha1lvNk5vekVFbWc5YkdoMzdjZElHQjJ2LWJlcVNMbzdMb2hSUmZ4NnpRSlJqbjViMXlQT2dXdWlhdVJNOWxzd3VKMXpSQkg4enA1N0tiUkhGNGJBTjluempwNktCa051cktzNVFSRHYtbFJBS19ONEx0NFpGcXFXVDlvU05aMW1NMHNqcDJ0V1lQTldVQTFlZUJmX0VpNTVIUkdTYnRvOG9nOW4"},{"title": "See Super Typhoon Champiβs giant eye as it swirls across the Pacific","source": "The Washington Post","googleNewsUrl": "https://news.google.com/rss/articles/CBMisAFBVV95cUxQbVBnSWpwbGIwSlgyVVh0YWlNenhrSDBtQ1AtSS1Qck1ZN2RORTZBcFVFOFFmVFJhV096MnA0ei00dE5FYkdOX0dVR3dwWEhEMEtGalVMZnRHUGRRODc5UmtKMDRycFhuc1ROSFgxM2pjQ2RkZEtlSGhvSHd6Vm5rYUZLRTFNZkFfQzJZbHh0YnpEZVM3d0NQVjQzVHlWa3A0UktROGVqMGZCeFVPV3lSQg"}],"relatedCount": 4,"description": "With Super Typhoon Champi approaching, authorities plan evacuations and urge those in its path to get ready.","text": "As Super Typhoon Champi β now the strongest storm of the year worldwide β barrels towards eastern China, authorities are planning evacuations and urging those in its path to prepare. β¦","wordCount": 428,"readingTimeMinutes": 2,"imageUrl": "https://cdn.i-scmp.com/sites/default/files/d8/images/canvas/2026/10/21/c5a1f556-d416-4371-b42c-198b8dffd7e7_b65478c5.jpg","authors": ["Caroline Lin"],"keywords": ["Accidents, extreme weather and disasters in China", "China", "Shanghai", "Taiwan", "National Meteorological Centre (China)"],"section": "Politics","modifiedAt": "2026-10-21T08:00:06.000Z","articleLanguage": "en-GB","detailsStatus": "ok","scrapedAt": "2026-10-21T20:57:21.523Z"}
You can download the dataset in various formats such as JSON, HTML, CSV or Excel.
All 35 fields
| Fields | What you get |
|---|---|
id, title, position | Article: Google News id (the same in every run and search), headline without the trailing publisher, rank in its feed (7) |
url, googleNewsUrl, articleUrl | Links: the original URL when it was resolved, otherwise the Google News link; the Google News link; the publisher's URL (option) or null |
source, sourceUrl, sourceDomain | Publisher: South China Morning Post, https://www.scmp.com, scmp.com |
publishedAt, publishedTimestamp, publishedAtRaw | Dates: 2026-10-21T08:00:06.000Z (what the date filters read), 1792569606000, Wed, 21 Oct 2026 08:00:06 GMT |
searchType, query, topic, location | Where it was found: search, topic, local, story, publication or feed; the query, topic or place that found it |
regionLanguage, country, language | Edition: US:en, US, en |
searchUrl, feedTitle | the Google News page or feed it was found on, and its title |
relatedArticles, relatedCount | Related coverage: title, publisher and link of each other article on the same story, and how many. Google News gives it on topics and the front page (nearly every article), seldom on a search, never on local news |
description, text, wordCount, readingTimeMinutes | Full text (option): summary, full text, 428 words, 2 minutes |
imageUrl, authors, keywords, section, modifiedAt, articleLanguage | Full text (option): main image, ["Caroline Lin"], tags, Politics, last update, en-GB |
detailsStatus | Status of the full text: ok, blocked (the publisher refused), no_text (paywall or no text found), failed; null when the option is off |
scrapedAt | ISO timestamp of the extraction |
π‘ Tips
How to get more results
Leave Get more than 100 articles per search on and set maxItems to what you need (or 0): a search that reaches 100 articles is read again period by period, down to single days, over Posted after β Posted before, or the lookbackDays days before Posted before (or before now). Broaden with searchQueries and regionLanguages: an article found by several searches or editions is saved β and charged β once.
How to reduce costs
The price is per article, plus the options you tick. The levers are maxItems, maxItemsPerQuery, the filters (a filtered-out article costs only the filter fee, lower than an article), onlyNew for recurring runs (you never pay twice for the same article), and the options: leave Original article URL and Full article text off when the Google News link and the headline are enough.
Several searches in one run
Fill searchQueries, topics, locations and / or regionLanguages: the Actor reads every query, topic and place in every edition (2 queries Γ 3 editions = 6 searches, up to 1000 per run). The single query, location and regionLanguage fields still work and are added to the lists. Set maxItemsPerQuery to give every search its own cap: without it the first searches can use up the whole maxItems budget. You can also paste several Google News URLs into startUrls: each one is a search of its own, with the same cap.
Monitoring: only the new articles
Tick Only new articles (onlyNew) and schedule the Actor. The first run returns everything; each later run skips the articles already delivered: they are not saved, not charged, and their page is not even opened. The memory lives in a named key-value store of your account (google-news-scraper-seen, up to 150,000 articles per key) and is only updated with articles that really reached the dataset, so a failed run never hides anything. Give each schedule its own stateKey (two schedules sharing a key would hide each other's articles), and tick resetState once to start over. Pair it with a short Time period (timeframe) or postedAfter so that each run only reads the recent news.
Filter by publication date
postedAfter and postedBefore take a date (2026-09-01, the whole day is included) or a period before now (7 days, 2 weeks, 1 month; via the API also 24 hours or a full ISO date-time). The range is sent to Google News with the search, and every article is checked again on its publishedAt; an article without a publication date is dropped as soon as a date bound is set. Filtered-out articles are not saved and do not count in maxItems (on a topic, a place or a pasted feed each article dropped costs the filter fee, see Pricing; a dated article of a search dropped by its dates is free, Google News was asked for those dates); the run summary tells how many were filtered.
π Integrations and API
Call the Actor via the Apify API, the JavaScript or Python clients, or connect it with integrations and webhooks (Make, Zapier, n8n, Google Sheets, Slack, Airtableβ¦). The dataset can be fetched as JSON or CSV from any tool.
π€ Use with AI agents (MCP)
AI agents (Claude, ChatGPT, Cursorβ¦) can find and run this Actor through the Apify MCP server, billed to their Apify account like any run. It returns one item per Google News article. Actor id: nice_dev/google-news-scraper; MCP server with this Actor only: https://mcp.apify.com/?tools=fetch-actor-details,nice_dev/google-news-scraper.
Smallest input, for a cheap first call:
{"query": "artificial intelligence","maxItems": 10}
Key output fields: title, source, publishedAt, url, articleUrl (with resolveUrls), text and detailsStatus (with extractDetails), relatedArticles.
Cost: per article saved, plus the options ticked and a small fee per run start β the prices are in the Pricing tab. Cap each call with maxItems and, through the API, with the run option maxTotalChargeUsd.
β FAQ
Is it legal to scrape Google News?
The Actor only reads what Google News and the publishers' websites show publicly to any anonymous visitor. It logs in to nothing and solves no captcha. Articles are protected by the copyright of their publishers: the headlines, links and short summaries are commonly used for monitoring and research, but republishing full texts needs the publisher's permission. Author names are personal data, protected by GDPR: do not store them without a legitimate reason. You are responsible for using the data in compliance with Google's and the publishers' Terms of Use and applicable law. This Actor is not affiliated with Google.
Does it need a login or a proxy?
No login, no API key. The proxy is included in the price: leave the default setting (the residential proxy is not available). A request Google News turns away is retried at once on a new proxy session, up to 10 times on top of the retries (without a proxy, after a pause of 5 seconds, doubled at each retry up to 150 seconds). A publisher that refuses the Actor is never retried: the article is saved with detailsStatus: "blocked" and is not charged for the full text.
Why is the full text missing for some articles?
Some publishers refuse automated visits (Reuters, The New York Times and The Wall Street Journal in our tests) or show their articles behind a paywall. The article is then saved with its headline, link and dates, detailsStatus says why (blocked, no_text, failed), and the Full article text option is not charged for it. In a test run of 40 articles on tesla, 25 full texts were read, 10 were refused by their publisher and 5 had no text.
Is the data safe to open in Excel or to show on a web page?
Headlines and texts are the publishers' own words, copied as they are. A text can begin with -, +, = or @ (a headline such as -20% today): Excel and Google Sheets may read such a cell of a CSV file as a formula or as a number. The Actor leaves the text as it is, so that the JSON and the API give the real value: when you open a CSV, import these columns as text. On a web page, escape every field like any text written by a stranger.
Known limitations
- Google News gives each article's publication date, but no view or share counts.
articleUrl, the full text and its fields arenull/ empty when the options are off (exceptarticleUrlon a Full coverage page, whose cards carry the publisher's link), or when the publisher refused the visit.onlyNewremembers article ids, not their content: an article updated by its publisher is not returned again.- Two runs sharing the same
stateKeyat the same time may both return the same new article.
A run that reaches its timeout stops itself about 45 seconds before it: no new page is asked, what it read is saved and, with onlyNew, remembered, and the run ends Succeeded with "Stopped before the run's timeout". Resurrect it to go on from there, or give the next run a longer timeout (Run options).
A run the platform stops without warning (out of memory)
- Resurrect it: it goes on from where it stood at most a minute before the stop. What it had read since is read again, and the articles already saved are skipped: none is delivered or charged twice, and
maxItemsstill counts them. - With
onlyNew, the memory is saved after each write (at most once every 2 seconds): resurrect the stopped run and the articles it had saved meanwhile join the memory; leave it stopped for good, and the next run may return the articles of its last 2 seconds once more.
Something doesn't work?
The last line of the log counts the articles saved and filtered out, and the requests that failed after every retry. Those requests are listed, with the reason, in the FAILED_REQUESTS record of the run's key-value store. A run that saved nothing and had failed requests fails, and its last message gives the cause (a Google News URL that does not exist says so, instead of "run it again").
If Google News changes its pages, you are told instead of paying for blank rows. If the first 20 articles read all lack their headline, publication date or publisher β or, with Original article URL or Full article text, their original URL β the run saves nothing more, stops and fails, and its last message names the missing field: at most those first articles are charged. An article that postedAfter / postedBefore drops because it has no date at all counts among those 20. A run of fewer articles (a scheduled onlyNew run that finds a few new ones, a small Max articles) is checked at its end, from 5 articles: its articles are already saved, and the run fails with the missing field instead of ending green.
π Support
Open an issue in the Issues tab with a link to your run: the run log and the FAILED_REQUESTS record of the key-value store show exactly which URLs failed and why.