Google News keyword scraper in n8n
Search Google News by keyword with real resolved article links, headlines, sources, and dates, plus optional full article text and image extraction, filterable by date, language, and publisher.
What this workflow does
Import it and n8n runs the Google News Keyword & Full-Text Article Scraper Actor on Apify every day at 08:00 with the starter input below. Each row comes back with title, source, domain, published and 7 more; repeats with the same url are dropped. A Google Sheets append is included and stays off until you add your sheet. The only credential it needs is your Apify API token.
Read from the workflow file, built for Google News Keyword & Full-Text Article Scraper version 2.0.1. Updated 2026-11-14.How the rows travel
6 nodes, in the order n8n runs them. The yellow stop is the call to the Apify Actor; the dashed stop is optional.
- Daily trigger Schedule trigger
- Configure input Code
- Run Apify Actor HTTP Request
- Normalize + dedupe Code
- Rows ready No operation
- Google Sheets (optional) Google Sheets, off until you switch it on
From the Short
This workflow is the one the video points to: the number in each video opens this page.
Input
The Configure input node holds the starter input. Change it there; every setting the Actor accepts is listed below.
{
"queries": [
"artificial intelligence"
],
"maxResultsPerQuery": 3,
"maxItems": 25,
"mode": "keyword"
} | Setting | Type | Required | Default | What it does |
|---|---|---|---|---|
| mode | string | Yes | keyword | What to scrape. Each mode reads its own list field below. One of: keyword, topic, newsUrl, rss, articleUrls. |
| queries | array | No | – | One or more keyword queries. Google operators such as site:, intitle: and OR are supported. Results are deduplicated across queries. |
| topics | array | No | – | Topic names (WORLD, NATION, BUSINESS, TECHNOLOGY, ENTERTAINMENT, SPORTS, SCIENCE, HEALTH), TOP for top stories, Google News topic hashes/section URLs, or topic URLs. |
| newsUrls | array | No | – | Google News search URLs, topic URLs, RSS search/topic URLs, or RSS/Atom feed URLs to convert into a feed. |
| rssUrls | array | No | – | Any public RSS or Atom feed. Google News links inside the feed are resolved to publisher URLs automatically. |
| articleUrls | array | No | – | Publisher article URLs or Google News article URLs. Every page is fetched and full text is extracted, with a per-record status when a publisher blocks or paywalls it. |
| language | string | No | en | Language of the Google News edition. Combined with country in the edition token (for example US:en, DE:de, JP:ja). 74 choices. |
| country | string | No | US | Country edition for Google News. The actor always pins the edition so results do not change with the machine's IP. 99 choices. |
| dateRange | string | No | any | Recency window. Every item is post-filtered by its real publication time, so items newer than the window never leak. 'custom' uses startDate/endDate. 9 choices. |
| startDate | string | No | – | Custom range start (YYYY-MM-DD, inclusive). Also used when dateRange=custom. |
| endDate | string | No | – | Custom range end (YYYY-MM-DD, inclusive). Items published after the end are dropped client-side. |
| maxResultsPerQuery | integer | No | 20 | Maximum records taken from each Google News feed request (1-100, Google's own cap is about 100). |
| maxItems | integer | No | 500 | Hard cap on unique records emitted by the run (1-5000). |
| extractFullText | boolean | No | false | Fetch each publisher page and extract its article body, description, author, and image. Default off for fast metadata-only runs. The articleUrls mode always extracts. |
| maxFullText | integer | No | 100 | Maximum pages fetched for full text per run (1-500). Records beyond this cap are still returned with fullTextStatus=skipped_cap. |
| proxyConfiguration | object | No | {"useApifyProxy":false} | Optional. No proxy is needed by default; Google News RSS and publisher pages work without one. |
What each row holds
Every field the Actor returns stays in the row (11 in its dataset schema). Normalize + dedupe trims text, drops empty fields, removes repeats with the same url and adds _source and _scrapedAt. The main fields:
| Field | What it is |
|---|---|
| title | Title |
| source | Source |
| domain | Domain |
| publishedAt | Published |
| url | URL |
| fullTextStatus | Status |
What the first run costs
With the starter input (maxItems = 25) a first run costs about $0.42 on the Apify Free plan: $0.40 to start the run at 4 GB of memory and $0.02 for the results, plus platform usage.
The Actor lists $0.99 per 1,000 results; its catalogue page breaks the price down by Apify plan. The Apify Free plan includes $5 of usage a month.
The Actor behind it
Google News Keyword & Full-Text Article Scraper: Search Google News by keyword with real resolved article links, headlines, sources, and dates, plus optional full article text and image extraction, filterable by date, language, and publisher.
The same job from an AI agent
The matching agent skill gives Claude Code, Codex, Cursor and other agents the same Actor, input and fields. Install it in one line:
npx skills add https://scraperfinder.com --skill google-news-keyword-and-full-text-article-scraper The google News keyword scraper skill, with manual install and run steps
Questions people ask
How do I import this workflow into n8n?
Copy https://scraperfinder.com/n8n/google-news-keyword-and-full-text-article-scraper.json. In n8n, open a new workflow, click the three-dot menu, choose Import from URL and paste it. Or download the JSON file and use Import from File; both give the same 6 nodes.
Do I need an Apify account?
Yes. The workflow calls the Google News Keyword & Full-Text Article Scraper Actor through the Apify API with your own token, and each run is billed to your Apify account. The Free plan includes $5 of usage a month.
What does a run cost?
With the starter input (maxItems = 25) a first run costs about $0.42 on the Apify Free plan: $0.40 to start the run at 4 GB of memory and $0.02 for the results, plus platform usage. The Actor's Store page shows the current price.
Can I change what it collects?
Yes: edit the input object in the Configure input node. The Actor takes 16 settings; the table on this page lists each one with its default. Raise maxItems once the first rows look right.
Does it work without Google Sheets?
Yes. The rows wait in the Rows ready node, so you can connect any other node there: a database, Airtable, a webhook or an email. The Google Sheets node is only one option.