Google News Scraper (search, headlines, alerts, no login) avatar

Google News Scraper (search, headlines, alerts, no login)

Pricing

from $0.40 / 1,000 result items

Go to Apify Store
Google News Scraper (search, headlines, alerts, no login)

Google News Scraper (search, headlines, alerts, no login)

Search Google News by keyword or pull a headlines/topic feed and get one row per article: title, source, publisher URL, published date and link. Monitor mode alerts on new articles for saved keywords. No login, no cookies — reads Google News public RSS feeds directly.

Pricing

from $0.40 / 1,000 result items

Rating

0.0

(0)

Developer

Viktor Dubnytskiy

Viktor Dubnytskiy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Google News Scraper: search, headlines and keyword alerts

Read Google News' own public RSS feeds — keyword search, topic/headlines feeds, or a source:/site: search for one publication — and get one flat row per article. No login, no cookies, no scraping of the Google News web app.

What you get

Real rows from the example dataset (queries: ["web scraping"]):

titlesourcepublishedAt
Extracting Data at Scale: Modern Approaches to Web ScrapingInfoWorld2026-09-24
Best web scraping tools for 2026TechRadar2026-09-20

Full row: id (Google's own article guid), url, googleUrl (the Google News redirect link), title, source, sourceUrl, publishedAt, snippet, query, language, country, resolved, scrapedAt.

Google News RSS carries no author names or bylines — nothing person-level is collected or added.

Use cases

  • Keyword alert feed — put a brand, product or topic in queries and run it in monitor mode on a schedule; each run returns only the articles that are new since the previous run.
  • Competitor / industry watch — track a source: query for a competitor's own site, or a topic feed, to see what is being published without opening Google News yourself.
  • One-off research pull — a single run across several keywords for a report or a dataset, with maxItemsPerQuery capping how deep each query goes.

Try it in 10 seconds

One-off list — hit Start/Try it, the input already works: queries: ["web scraping"], maxItemsPerQuery: 20, maxItems: 20, nothing required.

Monitor mode — save the task, then set:

{
"mode": "monitor",
"monitorStateId": "web-scraping-watch",
"queries": ["web scraping"],
"webhookUrl": "https://your-endpoint.example.com/hook"
}

and put it on a schedule (Apify → Schedules). Each monitor run charges one monitor-check event ($0.005) and returns only articles that are new since the previous run of that task, each billed as one change event ($0.0005) — a run with nothing new charges only the check. A news article never "changes" once Google has given it an id — monitor mode tracks each article by that id alone, so a change event always means a genuinely new article, never the same article re-billed because its resolved URL differed between runs.

How it works

  1. Each entry in queries becomes either a Google News search URL (news.google.com/rss/search?q=...) or, if you paste a full news.google.com feed URL yourself, that feed is fetched as-is — this is how headline, topic and publication feeds are supported without a separate input field.
  2. The feed's <item> entries are parsed into rows: title (with the trailing " - Source" Google appends stripped out), publisher, publish date and the Google redirect link.
  3. With resolveUrls: true, each article's Google redirect is fetched once to try to reach the publisher's own URL. Google resolves most of these with client-side JavaScript, so a plain request often stays on the Google link — those rows come back with resolved: false and url equal to googleUrl, never as a missing or broken link.
  4. A query that comes back as a non-feed page (consent wall, rate limit) on every proxy tier, with nothing pushed yet, ends the run as a block, not a silent empty dataset — checked even for a single-query run.

Input

FieldMeaningDefault
queriesKeywords, or a full Google News feed URL["web scraping"]
languageGoogle News UI language (hl)"en"
countryGoogle News edition (gl/ceid)"US"
maxItemsPerQueryCap per query/feed (Google itself caps a feed at 100)100
resolveUrlsTry to resolve the publisher URL per articlefalse
sinceHoursOnly articles published within this many hoursnone
maxItemsStop after this many rows total200
modescrape or monitorscrape
monitorStateId, webhookUrl, telegramBotToken, telegramChatIdMonitor-mode state key and alert targetsempty

Pricing

EventPrice
result$0.0005 per article ($0.50 per 1,000)
monitor-check$0.005 per monitor run
change$0.0005 per new article

Charged only for articles actually pushed. No proxy is required for the default configuration (tier none); a proxy tier is used automatically, and billed by Apify, only if Google ever answers with a rate limit or a consent wall.

Found it useful? A short review on the Store page helps other people find this actor and tells us what to improve. If a headline or alert looks wrong, open an issue on the actor page — issues are answered within a day.

Why this actor

  • No login, no cookies, no headless browser — reads Google's own public RSS feeds directly.
  • Monitor mode with webhook/Telegram change alerts for a recurring keyword watch, not just a one-off pull.
  • Accepts any Google News feed URL, not only plain search — headline, topic and publication (source:) feeds all go through the same field.
  • A walled run is reported as a block with a reason, never a quietly empty dataset.

Limits

  • Google News RSS has no article summary/excerpt — snippet is the feed's own description with HTML tags stripped, which usually just repeats the headline and source.
  • No author names or bylines — Google News RSS does not carry them, and none are added.
  • A feed caps out at 100 items regardless of maxItemsPerQuery; older articles for a busy keyword are not reachable through this feed.
  • resolveUrls is best-effort: Google resolves most article redirects with client-side JavaScript, so many rows stay on the Google link (resolved: false).

FAQ

Does it need a Google account or an API key? No. Every request reads Google News' own public RSS feed, the same one a feed reader would use.

What happens when a query has no articles? No rows are pushed and no result events are charged. A real empty result (verified on the platform) is different from a wall: the RUN_SUMMARY record in the run's key-value store carries emptyReason, so a genuine zero-article query never looks like a block, and a block never looks like a genuine zero.

Can I pull a specific publication's articles? Yes — put source:reuters.com (or any Google News search operator) in queries; it goes through the same search endpoint as a plain keyword.

What does monitor mode save me? It keeps state per monitorStateId (or per saved task) across runs, so a schedule returns only new articles instead of the whole feed again — one monitor-check plus one change event per new article, not a full result per article every time.

Changelog

  • 0.1: initial release — search/headline/topic/publication feeds, resolveUrls, sinceHours filter, monitor mode.

If this actor saved you time, a short review on its Store page genuinely helps other people find it. Found a bug or need a field that is missing? Open a ticket on the Issues tab.