Weekly Google Trends keyword comparison to Google Sheets
Up to five keywords on one shared 0-100 scale, one row per keyword every Monday. Uses Google Trends Scraper.
Every Monday this workflow runs Google Trends Scraper (arcadium/google-trends) for a list of keywords on one shared 0-100 scale and appends one row per keyword to a Google Sheet. Over the weeks the sheet becomes a share-of-search history for your brand and its competitors.
Schedule (Mon 06:00) → Apify: Run actor and get dataset → Code: one row per keyword → Google Sheets: Append row
File: workflow.json (n8n workflow export format).
What you need
| Credential | Where | Placeholder in the file |
|---|---|---|
| Apify API token | Apify Console → Settings → API & Integrations | REPLACE_WITH_YOUR_APIFY_CREDENTIAL_ID (credential type Apify API) |
| Google Sheets | n8n's Google Sheets OAuth2 credential | REPLACE_WITH_YOUR_GOOGLE_SHEETS_CREDENTIAL_ID |
| A spreadsheet | Your Google Drive | REPLACE_WITH_YOUR_SPREADSHEET_ID in the sheet URL |
The Apify node is Apify's official n8n node, package @apify/n8n-nodes-apify (checked against version 0.9.0, node version 2, operation Run actor and get dataset). On n8n Cloud search for "Apify" in the nodes panel. On self-hosted n8n: Settings → Community nodes → Install → @apify/n8n-nodes-apify.
Import
- Create a Google Sheet with a tab named Trends and this header row:
runDate | keyword | geo | timeRange | averageInterest | lastWeek | lastWeekInterest | scale | scrapedAt - n8n → Workflows → Import from File →
workflow.json. - Run Google Trends: pick your Apify credential and edit the JSON input.
searchTerms: up to 5 keywords are compared exactly in one Google request. More than 5 are chained through an anchor keyword (anchorKeyword) and thescalecolumn saysanchor(approximate).compareKeywords: trueputs all keywords on one scale, so 50 is half as popular as 100 within the same run.geo: a two-letter country code, a region code (US-CA), or""for worldwide.timeRange: the default (past 12 months) gives one point per week. - Append to Google Sheets: pick your credential and paste your sheet URL.
- Execute once, check the sheet, then Activate.
Cost per run
Pay per event. Prices are the actor's Store pricing at the time of writing (Free plan; paid Apify plans pay less). The live price is on the Store page.
| Event | Price | In this template |
|---|---|---|
| Actor start | $0.00005 | 1 per run |
| Result row (one keyword) | $0.0027 ($2.70 per 1,000) | 4 keywords = $0.0108 |
| Error rows | free |
About $0.011 per run, under $0.05 a month on a weekly schedule. The node caps a run at $0.50 (maxTotalChargeUsd).
What to expect
- Google rescales every request, so compare values within one run. Across weeks, compare the ratios between keywords rather than raw values.
lastWeekis the last complete point; the unfinished current week is skipped.- Want related queries or interest by region too? Set
includeRelatedQueriesorincludeGeototrueand map the extra fields in the Code node. The price per keyword row stays the same.