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.

  1. Daily trigger Schedule trigger
  2. Configure input Code
  3. Run Apify Actor HTTP Request
  4. Normalize + dedupe Code
  5. Rows ready No operation
  6. 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"
}
Input settings of Google News Keyword & Full-Text Article Scraper
SettingTypeRequiredDefaultWhat 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:

Main output fields of Google News Keyword & Full-Text Article Scraper
FieldWhat it is
titleTitle
sourceSource
domainDomain
publishedAtPublished
urlURL
fullTextStatusStatus

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.

Workflow updated 2026-11-14