This workflow corresponds to n8n.io template #8091 — we link there as the canonical source.
This workflow follows the HTTP Request → Itemlists recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"meta": {
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "d034896a-23db-471c-9da7-804372882b2e",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-336,
-128
],
"parameters": {},
"typeVersion": 1
},
{
"id": "449082db-9d84-485d-aa45-c210fe852849",
"name": "Sticky: Workflow Start",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
-240
],
"parameters": {
"width": 464,
"height": 400,
"content": "# Workflow Start\nThis is the entry point. Run via **Execute Workflow**.\nLater you can replace this with a Cron or Webhook trigger."
},
"typeVersion": 1
},
{
"id": "c372670f-1ccf-4016-955c-514f644c6a9b",
"name": "HTTP Request \u2013 YouTube Most Popular",
"type": "n8n-nodes-base.httpRequest",
"position": [
-16,
32
],
"parameters": {
"url": "https://www.googleapis.com/youtube/v3/videos",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "part",
"value": "statistics,snippet"
},
{
"name": "chart",
"value": "mostPopular"
},
{
"name": "regionCode",
"value": "DE"
},
{
"name": "maxResults",
"value": "50"
},
{
"name": "key",
"value": "APIKEY"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "User-Agent",
"value": "Mozilla/5.0"
},
{
"name": "Accept",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "3b7ada69-c057-4932-a071-a2127a246575",
"name": "Sticky: API Call",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-208
],
"parameters": {
"width": 432,
"height": 480,
"content": "## API Call \u2013 YouTube\nFetches the **most popular videos** in Germany via YouTube Data API v3.\n\nIncludes: `statistics` (views, likes, comments) and `snippet` (title, tags, channel)."
},
"typeVersion": 1
},
{
"id": "b2dc68e0-9417-496e-925a-8fb1139949f8",
"name": "Split Out \u2013 Items",
"type": "n8n-nodes-base.splitOut",
"position": [
544,
208
],
"parameters": {
"options": {},
"fieldToSplitOut": "items"
},
"typeVersion": 1
},
{
"id": "7ed5593d-a15d-42ae-be96-3bbfdaa2f435",
"name": "Sticky: Split Items",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
0
],
"parameters": {
"width": 288,
"height": 496,
"content": "## Split Items\nSplits the API response array (`items[]`) so that each video becomes an **individual item** for further processing."
},
"typeVersion": 1
},
{
"id": "6a304148-78a0-4a14-a8e6-9b2f4571347f",
"name": "Set \u2013 Derive Context",
"type": "n8n-nodes-base.set",
"position": [
768,
208
],
"parameters": {
"options": {}
},
"typeVersion": 3.2
},
{
"id": "728035b5-e319-4061-a167-afe660b8fe75",
"name": "Sticky: Context & KPIs",
"type": "n8n-nodes-base.stickyNote",
"position": [
704,
0
],
"parameters": {
"width": 304,
"height": 496,
"content": "## Context & KPIs\nExtracts key fields (title, channel, publishedAt) and numbers (views, likes, comments).\n\nCalculates: `engagementRate = (likes + comments) / (views + 1)` to capture **interaction quality** instead of raw views only."
},
"typeVersion": 1
},
{
"id": "99d3187e-876d-4b1d-b16e-1308f87c779c",
"name": "Item Lists \u2013 Top by Engagement",
"type": "n8n-nodes-base.itemLists",
"position": [
1072,
192
],
"parameters": {
"options": {},
"operation": "sort"
},
"typeVersion": 1
},
{
"id": "85d1e8bc-5504-48e1-843f-0c1b260a4ebe",
"name": "Sticky: Ranking & Limit",
"type": "n8n-nodes-base.stickyNote",
"position": [
1024,
0
],
"parameters": {
"height": 496,
"content": "## Ranking & Limit\nSorts by `engagementRate` (descending) and keeps only the **Top 20**.\n\nReduces noise and makes the tag analysis more meaningful."
},
"typeVersion": 1
},
{
"id": "fe93a1f7-ce55-46d5-aeef-20bcb7518149",
"name": "Aggregate \u2013 Collect Tags",
"type": "n8n-nodes-base.aggregate",
"position": [
1360,
208
],
"parameters": {
"options": {
"mergeLists": true
},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "tags"
}
]
}
},
"typeVersion": 1
},
{
"id": "667b507a-2a82-4ade-8a7d-378ebd73c6ec",
"name": "Sticky: Collect Tags",
"type": "n8n-nodes-base.stickyNote",
"position": [
1280,
0
],
"parameters": {
"height": 496,
"content": "## Collect Tags\nAggregates all `snippet.tags` from the Top 20 and merges them into a single array."
},
"typeVersion": 1
},
{
"id": "4d1e33a4-12b4-494a-ba01-914c1bd7a313",
"name": "Summarize \u2013 Tag Summary",
"type": "n8n-nodes-base.summarize",
"position": [
1600,
224
],
"parameters": {
"options": {},
"fieldsToSummarize": {
"values": [
{
"field": "tags",
"aggregation": "concatenate"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "37c333b9-f7d5-4730-841b-4b043a278a17",
"name": "Sticky: Keyword Summary",
"type": "n8n-nodes-base.stickyNote",
"position": [
1552,
0
],
"parameters": {
"height": 496,
"content": "## Keyword Summary\nConcatenates all collected tags into one string \u2013 a **clean list of trending hashtags/keywords** from the most engaging videos."
},
"typeVersion": 1
}
],
"connections": {
"Split Out \u2013 Items": {
"main": [
[
{
"node": "Set \u2013 Derive Context",
"type": "main",
"index": 0
}
]
]
},
"Set \u2013 Derive Context": {
"main": [
[
{
"node": "Item Lists \u2013 Top by Engagement",
"type": "main",
"index": 0
}
]
]
},
"Aggregate \u2013 Collect Tags": {
"main": [
[
{
"node": "Summarize \u2013 Tag Summary",
"type": "main",
"index": 0
}
]
]
},
"Item Lists \u2013 Top by Engagement": {
"main": [
[
{
"node": "Aggregate \u2013 Collect Tags",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "HTTP Request \u2013 YouTube Most Popular",
"type": "main",
"index": 0
}
]
]
},
"HTTP Request \u2013 YouTube Most Popular": {
"main": [
[
{
"node": "Split Out \u2013 Items",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow fetches the most popular YouTube videos in Germany and transforms them into a clean list of trending hashtags/keywords. It’s not just raw data – it highlights qualitative insights about which topics and keywords drive real engagement.
Source: https://n8n.io/workflows/8091/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
🚀 Discover trending and viral YouTube videos easily with this powerful n8n automation! This workflow helps you perform bulk research on YouTube videos related to any search term, analyzing engagement
Use cases are many: Whether you're a YouTube creator trying to understand your audience, a marketer running sample analysis, a data analyst compiling engagement metrics, or part of a growth team track
This automation template is designed for Instagram marketers, influencers, and businesses looking to supercharge their Instagram engagement strategy. It automatically monitors Instagram post comments
This cutting-edge n8n workflow is a powerful automation tool designed to revolutionize how businesses and marketers identify and qualify leads directly from YouTube video comments. By leveraging speci
A powerful workflow to scrape Reddit posts and comments by keywords and/or subreddit, with intelligent filtering and formatting. Search Reddit - Accepts keywords and/or subreddit parameters via webhoo