Google News Scraper - News Articles by Keyword
Pricing
from $1.70 / 1,000 articles
Google News Scraper - News Articles by Keyword
Scrape Google News articles for any keyword: headlines, sources, publish dates, URLs and snippets. Google News scraper for media monitoring by language and country, based on the public Google News RSS feed.
Get news articles from Google News for a search query — titles, sources, dates, URLs, and snippets in flat JSON. Reads the public Google News RSS feed, with an HTML fallback. No API key, no headless browser, no start fee.
How it works
Parses Google News's public RSS search feed — structured XML with article titles, sources, dates, and descriptions. If the feed returns no articles for a query, the actor tries the Google News HTML search page instead.
Features
- RSS feed — one request to the Google News RSS search feed, parsed as XML
- HTML fallback — if the RSS feed is empty or unavailable, the actor parses the Google News search page
- Language and country — passes
languageandcountryto Google News (hl,gl,ceidparameters) - Flat JSON output — one required input (
query), results ready for spreadsheets, dashboards, or AI/LLM pipelines - Charged per article — no start fee
Input
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | Yes | — | Search query (supports quotes, OR) |
maxItems | integer | No | 20 | Maximum articles to return (1–1000; see Limitations) |
language | string | No | en | Language code (en, fr, de, es, ja…) |
country | string | No | US | Country code (US, GB, FR, DE, JP…) |
Output
{"title": "New AI Models Announced at Developer Conference","source": "TechCrunch","sourceUrl": "https://techcrunch.com","date": "2024-01-15T12:00:00+00:00","url": "https://news.google.com/rss/articles/CBMi...","snippet": "New AI Models Announced at Developer Conference TechCrunch","query": ""}
Fields
| Field | Type | Description |
|---|---|---|
title | string | Article headline (source name stripped) |
source | string | Publisher name (e.g. "TechCrunch") |
sourceUrl | string | Publisher's homepage URL |
date | string | Publication date (ISO 8601) |
url | string | Link to the article (may be a Google News redirect) |
snippet | string | Text of the RSS description, HTML stripped (max 500 chars) |
query | string | Reserved; currently always empty |
Pricing
Pay-per-event, no start fee: $2.80 per 1,000 articles on the Apify Free plan, with lower prices on paid plans.
| Event | Free | Starter | Scale | Business | Enterprise |
|---|---|---|---|---|---|
Article (ARTICLE) | $2.80 | $2.40 | $2.10 | $1.70 | $1.70 |
Prices in USD per 1,000 events.
Cost examples (Free plan)
| Scenario | Articles | Cost |
|---|---|---|
| Quick check | 20 | $0.056 |
| Daily media monitoring | 100 | $0.28 |
| Weekly research batch | 1,000 | $2.80 |
Use cases
- Media monitoring — track coverage of your brand, products, or competitors
- Trend detection — monitor emerging topics across news sources
- Market research — gather news about industries, companies, or technologies
- OSINT — collect public news data for analysis
- Content curation — build automated news feeds for specific topics
Limitations
- About 100 articles per query — the actor makes a single request to the Google News RSS feed, which returns at most around 100 items. A
maxItemsabove that is not reached; split broad topics into several narrower queries. - The RSS feed may not include every result shown on the Google News web interface
- Article URLs are usually Google News links (
news.google.com/rss/articles/...) rather than direct links to the publisher - Snippets come from the RSS
<description>field, which Google often fills with the headline and source name rather than an article summary - When the HTML fallback is used,
sourceUrlis empty anddatemay be missing - Coverage depth varies by region and language
- Rate limits are retried with exponential backoff; if Google returns no articles the run ends FAILED
Technical details
Python 3.11, async httpx, Apify SDK. RSS parsed with xml.etree.ElementTree, HTML fallback with BeautifulSoup + lxml.
Related Actors
- Google Trends Scraper - Interest Over Time & Related Queries — Scrape Google Trends: interest over time and related queries for up to 5 compared keywords, by country, time range and category.
- Reddit Scraper - Subreddit Posts & Comments — Scrape Reddit posts from any subreddit (hot, new, top, rising) or the comments of a post: title, author (pseudonymized), date, link, permalink and text.
- Bing Search Scraper & DuckDuckGo Scraper (SERP) — Scrape Bing and DuckDuckGo search results: organic titles, URLs, snippets and positions.
- Telegram Channel Scraper - Public Channel Messages — Scrape messages from public Telegram channels: text, dates, views, media and links.