Google News Scraper (search, headlines, alerts, no login)
Pricing
from $0.40 / 1,000 result items
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
Maintained by CommunityActor 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"]):
| title | source | publishedAt |
|---|---|---|
| Extracting Data at Scale: Modern Approaches to Web Scraping | InfoWorld | 2026-09-24 |
| Best web scraping tools for 2026 | TechRadar | 2026-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
queriesand 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
maxItemsPerQuerycapping 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.
Related actors
- Google Trends Scraper: Interest, Related Queries, Spikes — quantify whether a headline is actually driving search interest.
- Reddit Scraper (subreddit posts, search, comments, no login) — see how a story is landing in community discussion, not just headlines.
- Google Ads Transparency Scraper (advertiser, domain, alerts) — track advertiser activity alongside the news cycle.
- Substack Scraper (posts, publications, likes, full text) — for long-form takes instead of headline monitoring.
How it works
- Each entry in
queriesbecomes either a Google News search URL (news.google.com/rss/search?q=...) or, if you paste a fullnews.google.comfeed URL yourself, that feed is fetched as-is — this is how headline, topic and publication feeds are supported without a separate input field. - 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. - 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 withresolved: falseandurlequal togoogleUrl, never as a missing or broken link. - 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
| Field | Meaning | Default |
|---|---|---|
queries | Keywords, or a full Google News feed URL | ["web scraping"] |
language | Google News UI language (hl) | "en" |
country | Google News edition (gl/ceid) | "US" |
maxItemsPerQuery | Cap per query/feed (Google itself caps a feed at 100) | 100 |
resolveUrls | Try to resolve the publisher URL per article | false |
sinceHours | Only articles published within this many hours | none |
maxItems | Stop after this many rows total | 200 |
mode | scrape or monitor | scrape |
monitorStateId, webhookUrl, telegramBotToken, telegramChatId | Monitor-mode state key and alert targets | empty |
Pricing
| Event | Price |
|---|---|
| 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 —
snippetis 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. resolveUrlsis 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,sinceHoursfilter, 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.