Google News Scraper
Pricing
from $0.99 / 1,000 results
Google News Scraper
Aggregate news headlines from Google News by keyword, topic section, or the latest top headlines, in any language/country edition. Returns clean structured records per article: headline, source, publish time, and link (optionally decoded to the real publisher URL).
Pricing
from $0.99 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Aggregate news headlines from Google News by keyword, topic section, or the latest top headlines — in any language and country edition. Each article comes back as a clean, structured record: headline, source, publish time, and link (optionally decoded to the real publisher URL).
No account, no login, no API key.
Why use this actor
- No account, no login, no API key — the data is public Google News.
- Search any keyword — a company, person, product, or topic (e.g. "artificial intelligence") — or pull a whole topic section, or the current top headlines.
- Any edition — pick the language and country (US English, UK English, German, Spanish, Brazilian Portuguese, and so on).
- Clean source data — the publication name, its domain, and the exact publish time (as a standard timestamp) for every article.
- Real publisher links (optional) — turn on URL resolving to get the article's true publisher URL instead of the Google redirect link.
- Stable JSON ready for a spreadsheet, database, dashboard, or alerting pipeline. Export to JSON, CSV, or Excel. Runs on Apify's schedule with automatic retries.
How it works
- You give it a keyword (or pick a topic section, or leave both blank for the latest top headlines) and choose the language/country edition.
- The actor fetches the matching Google News feed and reads every article in it.
- For each article it returns the headline, the source, the publish time, and the link.
- Optionally, it decodes each link to the real publisher URL.
You don't manage any scrapers, browsers, or blocks — just set the inputs and run.
Input
{"query": "artificial intelligence","topic": "","mode": "latest","language": "en-US","country": "US","ceid": "","maxItems": 100,"resolveUrls": false,"maxConcurrency": 5,"proxyConfiguration": { "useApifyProxy": false }}
| Field | Type | Description |
|---|---|---|
query | string | The main input: a news search term (keyword, company, person, topic). Leave blank to use a topic section or the latest headlines instead. |
topic | string | A curated section — one of WORLD, NATION, BUSINESS, TECHNOLOGY, ENTERTAINMENT, SPORTS, SCIENCE, HEALTH. Used only when query is blank. |
mode | string | What to fetch when both query and topic are blank. latest returns the current top headlines. |
language | string | Interface language code, e.g. en-US, en-GB, es-419, fr, de. |
country | string | 2-letter country/edition code, e.g. US, GB, IN, DE, BR. |
ceid | string | Advanced. Google edition code as <COUNTRY>:<lang> (e.g. US:en). Leave blank to derive it automatically from language + country. |
maxItems | integer | Max articles to return. Google's feed hard-caps at 100 items per query and does not paginate, so 100 is the ceiling. |
resolveUrls | boolean | When on, decodes each article's Google redirect link to the real publisher URL. Slower (extra requests per article) and best-effort — it falls back to the Google link if decoding fails. Off by default. |
maxConcurrency | integer | How many links to resolve in parallel (only used when resolveUrls is on). |
proxyConfiguration | object | Optional. The feed works without a proxy at low volume; turn one on (ideally non-EU) if you resolve many links at scale. |
Output
One record per article. Sample 1 — keyword search, resolveUrls off (real output for query: "artificial intelligence"):
{"_input": "artificial intelligence","_source": "S1-rss","_scrapedAt": "2026-07-10T12:00:21Z","title": "The Case for Nationalizing Artificial Intelligence - Jacobin","cleanTitle": "The Case for Nationalizing Artificial Intelligence","sourceName": "Jacobin","sourceUrl": "https://jacobin.com","sourceDomain": "jacobin.com","pubDate": "2026-07-09T14:47:17Z","pubDateRaw": "Thu, 09 Jul 2026 14:47:17 GMT","link": "https://news.google.com/rss/articles/CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw?oc=5","guid": "CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw","articleId": "CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw","feedTitle": "\"artificial intelligence\" - Google News"}
Sample 2 — same query with resolveUrls: true (real output; note resolvedUrl and _resolveStatus):
{"_input": "artificial intelligence","_source": "S1-rss","_scrapedAt": "2026-07-10T12:00:21Z","title": "The Case for Nationalizing Artificial Intelligence - Jacobin","cleanTitle": "The Case for Nationalizing Artificial Intelligence","sourceName": "Jacobin","sourceUrl": "https://jacobin.com","sourceDomain": "jacobin.com","pubDate": "2026-07-09T14:47:17Z","pubDateRaw": "Thu, 09 Jul 2026 14:47:17 GMT","link": "https://news.google.com/rss/articles/CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw?oc=5","guid": "CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw","articleId": "CBMidEFVX3lxTFBZOG5TTC0tUldnVzlLUkZGU3R0ejdlSXBsODJ3aDRfZUF4N1h6czA1SU1ZNzF2TDFDTFd0R0J3MlZxbmllMDNZU2x2ZWpiR2xaWmhPV2U1WTRpb0FkSTRKZFNnTFMzWjBpTTREZmEta3pXV1lw","feedTitle": "\"artificial intelligence\" - Google News","resolvedUrl": "https://jacobin.com/2026/07/ai-policy-nationalization-commons-work","_resolveStatus": "ok"}
More real resolvedUrl values from the same run: Reuters → https://www.reuters.com/technology/artificial-intelligence/china-weighs-silicon-curtain-around-sought-after-ai-models-2026-07-08/, U.S. News → https://www.usnews.com/news/business/articles/2026-07-10/sk-hynix-hits-the-u-s-stock-market-as-demand-for-memory-chips-soars-amid-ai-frenzy.
| Field | Type | Description |
|---|---|---|
title | string | The article headline as Google publishes it (ends with " - Source"). |
cleanTitle | string | The headline with the trailing " - Source" removed. |
sourceName | string | The publication name (e.g. "Jacobin", "Reuters"). |
sourceUrl | string | The publication's home page. |
sourceDomain | string | The publication's domain (e.g. reuters.com). |
pubDate | string | Publish time as a standard UTC timestamp (YYYY-MM-DDTHH:MM:SSZ). |
pubDateRaw | string | The original publish time string from the feed. |
link | string | The Google News link for the article (a Google redirect). |
guid | string | The article's stable Google id. |
articleId | string | The encoded article id (from the link). |
feedTitle | string | The title of the feed the article came from. |
resolvedUrl | string | The real publisher URL — present only when resolveUrls is on (else absent; null if a specific article couldn't be decoded). |
_resolveStatus | string | ok or failed — present only when resolveUrls is on. |
Notes & limits
- Headlines only, by design. Google News gives the headline, source, time, and link — no article body and no thumbnail. Feed the
link(orresolvedUrl) into an article-text scraper if you need the full story. - 100-article ceiling. A single Google News feed returns at most 100 items and offers no paging, so
maxItemstops out at 100. To go wider, run several narrower queries (different keywords, editions, or topics). resolveUrlsis optional and best-effort. Decoding the real publisher URL costs extra requests per article and depends on a Google mechanism that changes from time to time. It is wrapped so that if a decode fails, the record still comes back withresolvedUrl: null,_resolveStatus: "failed", and a_warning— the run never crashes over it. Leave it off unless you specifically need publisher URLs. Verified working live on 2026-07-10 (Jacobin, Reuters, U.S. News).- Editions.
language+countrymap to a Google edition; theceidis derived for you (e.g.en-US+US→US:en). Setceiddirectly only if you know the exact edition code you want. - Consent wall. In some regions Google shows a consent interstitial; the actor sends a standing consent signal to skip it. If you still hit it, enable the proxy with a non-EU region.
- The
descriptionfield is dropped. Google's RSS description is just a repeated link, not a real article summary, so it isn't included.
Other actors in this collection
| Actor | What it does |
|---|---|
| Smart News Loader | Extracts full article text from any news URL. |
| SEC Form D Funding Tracker | Fresh US private-placement funding rounds from SEC filings. |
| OLX Classifieds Scraper | Marketplace listings across multiple countries. |