How to Automate Google Trends to Google Sheets With n8n (2026 Guide)

Manually checking Google Trends and copying keywords into a spreadsheet is slow, repetitive work — exactly the kind of task automation was made for. With n8n, you can build a workflow that pulls trending keywords on a schedule, scrapes the top related articles into clean text, and appends everything to a Google Sheet automatically. This guide rebuilds the popular “Google Trends to Google Sheets” workflow step by step, so you end up with a hands-free content-research engine.

What this workflow does

The automation follows a simple chain: on a schedule, it fetches trending searches from Google Trends, cleans and filters them, scrapes the linked articles for context using Jina AI, runs a data-quality check, and saves the structured results to Google Sheets. The payoff: every few hours your sheet quietly fills with fresh trending topics and summaries — a ready-made editorial and SEO research feed without you lifting a finger. It’s one of the most useful beginner-to-intermediate n8n builds because every node has a clear, practical job.

What you’ll need

Tool Role Cost
n8n Runs and orchestrates the workflow Free self-hosted / paid Cloud
Google Trends RSS Source of trending keywords Free, no API key
Jina AI Reader Scrapes articles into clean text Free tier / paid for scale
Google Sheets Stores the structured results Free

Notably, you can run this entirely free: self-hosted n8n, the keyless Trends RSS feed, Jina’s free Reader tier, and Google Sheets. Costs only appear if you add a paid AI summarizer or a premium trends API later.

Build it, step by step

Set up n8n and your accounts

You need a running n8n instance (self-hosted free, or n8n Cloud), a Google account for Sheets, and optionally a free Jina AI key for higher scraping limits. In n8n, connect your Google Sheets credential first (Google Cloud OAuth) so it’s ready when you reach the final node.

Add the schedule trigger

Start the workflow with a Schedule Trigger node — this is the “Trigger” box in the diagram. Set it to run on your preferred interval (e.g., every few hours, or once daily). This is what makes the automation hands-free; it fires on its own and runs the whole chain.

Fetch Google Trends via RSS

Google Trends has no official API, so the simplest free method is its RSS feed. Use an RSS Read node (or an HTTP Request node) pointed at the trending RSS URL for your region. This returns the current trending searches plus links to related news articles — no API key required.

Step 3 — Google Trends RSS feed URL (free, no API key)

https://trends.google.com/trending/rss?geo=US

# Change geo= to your country code: GB, IN, DE, etc.
# Use this as the URL in an RSS Read node (or HTTP Request node).

Convert XML to JSON and filter

RSS comes as XML, so add an XML node to convert it to JSON your other nodes can read (the “Convert to JSON” box in the diagram). Then a Code or Filter node trims the data — keep only the fields you want (keyword, traffic, article link) and drop items with no article. This is the “Build Dataset” stage.

Step 4 — filter keywords in a Code node (JavaScript)

// Keep only items that have at least one related article link,
// and trim to the fields you care about.
return items
  .filter(i => i.json.link || (i.json.news_item && i.json.news_item.length))
  .map(i => ({
    json: {
      keyword: i.json.title,
      traffic: i.json.approx_traffic || "",
      article_url: i.json.link || i.json.news_item?.[0]?.news_item_url
    }
  }));

Scrape the articles with Jina AI

This is the “Scraping” row in the diagram. For each trending keyword, you have an article URL but not its content. Loop over the items (n8n does this automatically) and send each URL to Jina AI’s Reader by prepending https://r.jina.ai/ to the article URL in an HTTP Request node. Jina strips the HTML, ads, and menus and returns clean, readable text — a free, powerful way to get past the RSS snippet limit.

Step 5 — scrape each article with Jina AI (HTTP Request node)

Method: GET
URL:    https://r.jina.ai/{{ $json.article_url }}

# Optional: add a header for higher rate limits
# Authorization: Bearer YOUR_JINA_API_KEY
#
# Jina returns clean, readable text (Markdown) instead of raw HTML.
# Map the response into a "summary" or "content" field for the sheet.

Map the data

Add a Set (Edit Fields) node — the “Data Mapping” boxes in the diagram — to assemble each row exactly as your sheet expects: keyword, traffic, article URL, and the clean summary from Jina. Mapping here keeps your spreadsheet tidy and consistent.

Save to Google Sheets with a data check

Before saving, add an IF node (the “Data Check” diamond): only continue if at least one valid result exists, so you never write empty rows. On true, a Google Sheets node appends the new records; on false, the workflow skips saving. Point the node at your prepared sheet and map the columns — done.

The workflow at a glance

Google Trends → Google Sheets in n8nGoogle Trends → Google Sheets in n8nScheduletrigger on intervalTrends RSSfetch keywordsClean + scrapeXML→JSON, Jina AICheck + saveIF → Google Sheets
Figure 1: the five-stage pipeline — schedule, fetch, clean, scrape, then check and save — matching the node groups in the original workflow.
Want more practical AI automation guides?Explore our step-by-step tutorials on agents, LLMs, and tools.

Learn more →

Ways to extend it

Once the core pipeline works, it becomes a foundation you can build on:

  • Add an AI summary. Pass the Jina text through an LLM node to generate a one-line takeaway or content angle per keyword.
  • Filter by your niche. Add a keyword filter so only trends relevant to your site get saved.
  • Auto-draft content. Chain the output into a blog-draft or social-post workflow. (Trending keywords make great article topics.)
  • Switch the source. For richer query-level data, swap the RSS node for a SerpAPI or Bright Data trends node.
  • Send alerts. Add a Slack or email node to ping you when a high-traffic trend appears.

Troubleshooting

  • No data from RSS? Check your geo= country code and that the RSS URL is reachable; trends vary by region and availability.
  • Jina returns errors or rate limits? Add a free Jina API key as an HTTP header, and space out requests if you scrape many articles.
  • Empty rows in the sheet? Your IF/data-check node isn’t filtering correctly — confirm it only passes items with a valid result.
  • Google Sheets node fails? Re-check the OAuth credential and that the column names in your Set node exactly match the sheet headers.
  • Workflow runs but nothing appends? Make sure the Google Sheets node is set to Append and points to the correct sheet tab.
Good practice: before scraping any site at volume, check its terms and robots rules, and keep your request rate reasonable.

Frequently asked questions

Can you connect Google Trends to Google Sheets automatically?
Yes. With n8n you fetch trending keywords from the Google Trends RSS feed on a schedule, clean the data, optionally scrape the linked articles, and append the results to a Google Sheet — no manual work after setup.
Does Google Trends have an API for n8n?
No official public API. The common approach is the free, keyless RSS feed for trending searches, or a third-party provider like SerpAPI or Bright Data for richer query-level data. RSS is the simplest and free.
What is Jina AI used for in this workflow?
Jina AI’s Reader (r.jina.ai) converts a messy webpage into clean, LLM-friendly text. Here it scrapes the articles linked from each trending keyword so you store a readable summary instead of raw HTML.
Is this n8n workflow free to run?
Mostly. Self-hosted n8n is free, the Trends RSS feed is free, and Google Sheets is free. Jina’s Reader has a free tier (prepend r.jina.ai/), with a paid key for higher limits. Costs rise only if you add a paid AI summarizer or trends API.
The OneAppleFall Team

We independently test every AI agent and tool we review — on our own dime, on real work. We never accept payment for a score, and we disclose affiliate links clearly. Read our review methodology →

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top