Google News Scraper: Search, Top Stories, Topics & Local News avatar

Google News Scraper: Search, Top Stories, Topics & Local News

Pricing

from $6.00 / 1,000 news articles

Go to Apify Store
Google News Scraper: Search, Top Stories, Topics & Local News

Google News Scraper: Search, Top Stories, Topics & Local News

Monitor Google News by keyword, top stories, topic section or place, in 84 country and language editions. Clean headlines, publisher name and site, UTC dates, related coverage, optional real article URLs, de-duplication across queries and an only-new-since-last-run mode. No login.

Pricing

from $6.00 / 1,000 news articles

Rating

0.0

(0)

Developer

Alex Burton

Alex Burton

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Monitor Google News for any keyword, brand, person, topic section or place, in any of Google's 84 country and language editions, and export the articles to JSON, CSV or Excel. Built for PR and brand monitoring, media research and news alerts: clean headlines, publisher name and website, UTC publish times, the other outlets covering the same story, and optionally each article's real URL on the publisher's site. No Google account, no API key, no browser.

One Actor, four jobs:

ModeWhat you get
Search by keywordsArticles matching your query, with Google News operators ("exact phrase", OR, -exclude, intitle:, site:), a time range or exact dates, and an optional publisher filter
Top storiesThe headline stories Google News is leading with in an edition, each with its related coverage
Topic sectionsWorld, Nation, Business, Technology, Entertainment, Sports, Science, Health, or any other Google News topic by link
Local news for a placeThe local section Google News keeps for a city, region or country

Why use this one

  • Monitoring mode. Turn on Only articles not seen in earlier runs and schedule the Actor. It remembers what each query, topic or place has already delivered, returns only new articles, and you pay only for those.
  • Real article URLs, when you want them. Google News links are redirects. Turn on Resolve publisher article URLs and each row gets the article's actual address on the publisher's site, looked up through the same calls Google's own redirect page makes. It is a separate, clearly priced add-on, charged only for URLs actually found; nothing is ever guessed.
  • More than 100 results per search. Google caps every search at 100 articles. Split by day runs the search once per day of your date range, so a month of coverage can return up to about 3,000 articles.
  • Date filters you can trust. Google applies when:, after: and before: loosely, and once site: is in the query it sometimes ignores them entirely (in testing, a past-24-hours site: search came back with articles from 2009). Every date window is enforced again on each article's own publish time, and the log says how many out-of-range articles were dropped.
  • Clean, joinable rows. The " - Publisher" suffix Google appends to every headline is moved into publisher; publisherUrl and publisherDomain come from Google's source data; times are ISO-8601 UTC.
  • One article, one row, one charge. An article that matches several queries, or appears in several editions, is saved once.
  • Places are checked. Google silently answers an unknown place with national US headlines. This Actor detects that, says so in the log, and saves nothing for that place instead of billing you for the wrong news.

How to use it

  1. Choose What to scrape.
  2. Add Search queries, Topics or Locations.
  3. Pick one or more Editions (US:en, GB:en, DE:de, FR:fr, IN:hi...). Each runs separately; duplicates across editions are dropped.
  4. For searches, set a Time range or From/To dates, and optionally Only these publishers.
  5. Click Start, then download the results or connect the dataset to Google Sheets, Slack, Zapier or Make.

Example input: daily brand monitor

{
"mode": "search",
"searchQueries": ["\"OpenAI\"", "\"Anthropic\" -job"],
"editions": ["US:en", "GB:en"],
"timeRange": "1d",
"onlyNewArticles": true,
"resolveOriginalUrls": true
}

Example input: a month of coverage from two outlets

{
"mode": "search",
"searchQueries": ["tesla"],
"sites": ["reuters.com", "bbc.co.uk"],
"dateFrom": "2026-09-01",
"dateTo": "2026-09-30",
"splitByDay": true,
"maxArticlesPerSearch": 1000
}

Example input: German business and technology headlines

{
"mode": "topic",
"topics": ["BUSINESS", "TECHNOLOGY"],
"editions": ["DE:de"]
}

Example input: local news for three cities

{
"mode": "location",
"locations": ["Chicago", "Austin, TX", "Munich"],
"editions": ["US:en"]
}

Output

Every row is one article ("type": "article"). The mode, query, googleQuery, topic, location and edition fields say where it was found; position is its place in Google's list.

Top story with related coverage and a resolved URL

{
"type": "article",
"title": "Trump borrows from far right to blame unrest in France on immigration",
"publisher": "The Guardian",
"publisherUrl": "https://www.theguardian.com",
"publisherDomain": "theguardian.com",
"publishedAt": "2026-10-19T22:49:00Z",
"originalUrl": "https://www.theguardian.com/us-news/2026/oct/19/trump-france-protests",
"googleNewsUrl": "https://news.google.com/rss/articles/CBMieEFVX3lxTFB0bnZRYWwyOWhycjFR...?oc=5",
"articleId": "CBMieEFVX3lxTFB0bnZRYWwyOWhycjFR...",
"relatedCount": 4,
"relatedArticles": [
{
"title": "Opinion | The French Fantasy Is Coming to an End",
"publisher": "The New York Times",
"googleNewsUrl": "https://news.google.com/rss/articles/CBMieEFVX3lxTE9PeGtmanU2WTVh...?oc=5",
"articleId": "CBMieEFVX3lxTE9PeGtmanU2WTVh..."
},
{
"title": "France in turmoil after riots and looting: What we know",
"publisher": "Reuters",
"googleNewsUrl": "https://news.google.com/rss/articles/CBMingFBVV95cUxQdnU5M25aUmFw...?oc=5",
"articleId": "CBMingFBVV95cUxQdnU5M25aUmFw..."
}
],
"fullCoverageUrl": null,
"position": 1,
"mode": "topStories",
"query": null,
"googleQuery": null,
"topic": null,
"location": null,
"edition": "US:en",
"language": "en-US",
"country": "US",
"feedTitle": "Top stories - Google News"
}

Search result

{
"type": "article",
"title": "Tesla asks shareholders to re-elect Musk, Denholm and Straubel at December annual meeting",
"publisher": "Reuters",
"publisherUrl": "https://www.reuters.com",
"publisherDomain": "reuters.com",
"publishedAt": "2026-10-19T19:44:40Z",
"originalUrl": null,
"relatedCount": 0,
"relatedArticles": [],
"position": 2,
"mode": "search",
"query": "tesla",
"googleQuery": "tesla site:reuters.com when:7d",
"edition": "US:en"
}

fullCoverageUrl is set when Google links a story to its "See more headlines & perspectives" page.

Editions

Use COUNTRY:language. A country with a single edition can be given alone (DE).

AE:ar AR:es-419 AT:de AU:en BD:bn BE:fr BE:nl BG:bg BR:pt-419 BW:en CA:en CA:fr CH:de CH:fr CL:es-419 CN:zh-Hans CO:es-419 CU:es-419 CZ:cs DE:de EG:ar ES:es ET:en FR:fr GB:en GH:en GR:el HK:zh-Hant HU:hu ID:id IE:en IL:en IL:he IN:bn IN:en IN:hi IN:ml IN:mr IN:ta IN:te IT:it JP:ja KE:en KR:ko LB:ar LT:lt LV:en LV:lv MA:fr MX:es-419 MY:en MY:ms NA:en NG:en NL:nl NO:no NZ:en PE:es-419 PH:en PK:en PL:pl PT:pt-150 RO:ro RS:sr RU:ru SA:ar SE:sv SG:en SI:sl SK:sk SN:fr TH:th TR:tr TW:zh-Hant TZ:en UA:ru UA:uk UG:en US:en US:es-419 VE:es-419 VN:vi ZA:en ZW:en

Google falls back to another edition without warning when given a code it does not know, so codes outside this list are refused before the run starts.

Pricing

Pay only for results:

ResultPrice
Article$6.00 per 1,000
Publisher article URL resolved (optional add-on, charged only when a URL is found)$4.00 per 1,000

So 1,000 articles cost $6.00 without URL resolution, or $10.00 with a resolved URL on every one. The add-on costs more because finding one article's URL means downloading Google's article page (around 120 KB compressed), while a whole feed of up to 100 articles is one request of about 30 KB.

Set a maximum spend per run in the run options and the Actor stops cleanly when it is reached.

Limits to know about

These come from Google News, not from this Actor:

  • 100 articles per search. Google's search feed has no further pages. Use Split by day with a date range to go past it. Topic and local feeds hold about 70 articles, top stories about 35.
  • Without a date, Google decides how far back a search goes, usually a few days to a week for busy subjects.
  • Day boundaries are Google's. For the US edition after:2026-09-01 starts at midnight US Pacific time. The Actor's own date check allows 12 hours either side so it does not drop articles near midnight.
  • No snippets or article text. The feed's description holds only the headline again, the publisher and related links, so there is no snippet field. Use originalUrl to fetch article text with a separate tool.
  • Publish times are Google's, which for some outlets is when Google picked the article up.
  • URL resolution can fail for some articles. Those keep originalUrl empty and are not charged the add-on. If Google stops answering lookups altogether, the Actor turns resolution off for the rest of the run and says so in the log.
  • Rate limits. Google limits requests per IP address. Feeds are light (one request per query, topic or place per edition), but URL resolution is one request per article. If the log shows HTTP 429 or 503, turn on Apify Proxy.
  • Google's terms. Google News's robots.txt asks crawlers not to fetch its RSS feeds (/rss/) or article pages, and the feeds carry a notice limiting them to personal feed-reader use. Make sure your use of the data is appropriate.

FAQ

Why are the article links on news.google.com? That is what Google News publishes: every link is a redirect through Google. Turn on Resolve publisher article URLs to get the publisher's own URL in originalUrl.

How do I get alerts for new articles only? Turn on Only articles not seen in earlier runs, save the input as a task and schedule it (hourly or daily). Each run returns only articles that query has not delivered before; connect the dataset to Slack or email for alerts.

Which search operators work? Quoted phrases, OR, -word, intitle:, site:, when: (1h, 12h, 1d, 7d, 30d, 1y), after: and before: with YYYY-MM-DD dates. A date operator written in the query takes precedence over the Time range field.

Why did a place return nothing? Google News only keeps local sections for places it knows. Use the spelling Google News uses (for example New York, Munich, Austin); the log names any place it did not recognise.

Can I use a topic that is not in the list? Yes. Open the topic on news.google.com and paste its address (https://news.google.com/topics/...) into Topics.

Do I need a Google account or API key? No.

Feedback

Found a bug or need a field that is missing? Open an issue on the Actor's Issues tab.