AutomationFlowsSocial Media › Extract High-engagement Youtube Keyword Trends for Content Strategy

Extract High-engagement Youtube Keyword Trends for Content Strategy

BySuS @sulieman-said on n8n.io

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.

Event trigger★★★★☆ complexity14 nodesHTTP RequestItem Lists
Social Media Trigger: Event Nodes: 14 Complexity: ★★★★☆ Added:

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 →

Download .json
{
  "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
          }
        ]
      ]
    }
  }
}
Pro

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 →

More Social Media workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Social Media

🚀 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

HTTP Request, Google Sheets, Form Trigger
Social Media

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

Google Sheets, HTTP Request
Social Media

This automation template is designed for Instagram marketers, influencers, and businesses looking to supercharge their Instagram engagement strategy. It automatically monitors Instagram post comments

Google Sheets, HTTP Request
Social Media

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

HTTP Request, Google Sheets, Chat Trigger +5
Social Media

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

HTTP Request Tool, Reddit, HTTP Request