YouTubeチャンネル スマート収集器

中級

これはMarketing分野の自動化ワークフローで、15個のノードを含みます。主にSet, Code, HttpRequest, GoogleSheets, GoogleSheetsTriggerなどのノードを使用。 YouTubeチャンネル統計データと連絡先情報をGoogle SheetsとSerpAPIで収集

前提条件
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "vSYWa1hSKAvedWWp",
  "meta": {
    "instanceId": "84ad02d6104594179f43f1ce9cfe3a81637b2faedb57dafcb9e649b7542988db",
    "templateCredsSetupCompleted": true
  },
  "name": "Youtube Channel Intelligence Collector",
  "tags": [],
  "nodes": [
    {
      "id": "c59d8ffd-f78e-4ac5-ae00-19075db988a8",
      "name": "新規チャンネル追加",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "event": "rowAdded",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ/edit?usp=drivesdk",
          "cachedResultName": "Youtube Channel Intelligence Collector"
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "id": "AO0UQdc9V05KNPDB",
          "name": "Google Sheets Trigger account 2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4cd2932b-953c-4ece-af21-6b68e7c7fc7c",
      "name": "チャンネル情報取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        220,
        0
      ],
      "parameters": {
        "url": "https://www.googleapis.com/youtube/v3/channels?part=statistics,snippet&id=UC_x5XG1OV2P6uZZ5FSM9Ttw&key=YOUR_KEY"
      },
      "typeVersion": 4.2
    },
    {
      "id": "57841966-eedc-4ac5-b699-1c8241409880",
      "name": "チャンネル統計取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        440,
        0
      ],
      "parameters": {
        "url": "https://www.googleapis.com/youtube/v3/search",
        "options": {},
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "channelId",
              "value": "={{ $json.items[0].id }}"
            },
            {
              "name": "part",
              "value": "snippet"
            },
            {
              "name": "order",
              "value": "date"
            },
            {
              "name": "maxResults",
              "value": "5"
            },
            {
              "name": "key",
              "value": "YOUR_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "86b1b984-aa03-4aed-b4d8-3eb861408e1b",
      "name": "最近の動画視聴回数取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        740,
        0
      ],
      "parameters": {
        "url": "=https://www.googleapis.com/youtube/v3/videos?part=statistics&id={{ $json.items[0].id.videoId }},{{ $json.items[1].id.videoId }},{{ $json.items[2].id.videoId }},{{ $json.items[3].id.videoId }},{{ $json.items[4].id.videoId }},def456,ghi789&key=YOUR_KEY",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "edbac4ab-c0c6-402a-b579-45ddb9ee7a87",
      "name": "集計用視聴回数準備",
      "type": "n8n-nodes-base.set",
      "position": [
        960,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "9aaec402-4a0a-4908-a416-35dbe86f4278",
              "name": "Video 1 views",
              "type": "number",
              "value": "={{ $json.items[0].statistics.viewCount }}"
            },
            {
              "id": "5d5eec14-2ca7-41d7-b447-4784de1d77b5",
              "name": "Video 2 views",
              "type": "number",
              "value": "={{ $json.items[1].statistics.viewCount }}"
            },
            {
              "id": "02b2879b-e0bb-4a1e-a0c0-ce59a03bc2de",
              "name": "Video 3 views",
              "type": "number",
              "value": "={{ $json.items[2].statistics.viewCount }}"
            },
            {
              "id": "75d4f2f3-5b07-48d1-b22a-dda29140426e",
              "name": "Video 4 views",
              "type": "number",
              "value": "={{ $json.items[3].statistics.viewCount }}"
            },
            {
              "id": "83e29b86-bb0e-4661-a1a3-6907d46dbc0d",
              "name": "Video 5 views",
              "type": "number",
              "value": "={{ $json.items[4].statistics.viewCount }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "94c8c406-ab91-44f1-aba4-74df7bf2e347",
      "name": "動画視聴回数合計",
      "type": "n8n-nodes-base.code",
      "position": [
        1180,
        0
      ],
      "parameters": {
        "jsCode": "// Get the first item (your input object)\nconst data = items[0].json;\n\nlet totalViews = 0;\n\nfor (const key in data) {\n  if (data.hasOwnProperty(key) && key.includes('views')) {\n    totalViews += data[key];\n  }\n}\n\nreturn [\n  {\n    json: {\n      ...data,\n      totalViews\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "58f38623-d210-45da-9eb3-71f7914859da",
      "name": "チャンネルメール取得 (SerpAPI)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1460,
        0
      ],
      "parameters": {
        "url": "=https://serpapi.com/search.json?engine=youtube_channel_about&channel_url=https://www.youtube.com/channel/{{ $('New Channel Added').item.json['Channel ID'] }}&api_key=YOUR_SERPAPI_KEY",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "a8f1aab2-ad08-4711-9a2c-2d4e953407af",
      "name": "シートデータ準備",
      "type": "n8n-nodes-base.set",
      "position": [
        1680,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "9ab4a9fc-15ed-459a-96b6-22d4b8fb05bd",
              "name": "Recent Views",
              "type": "string",
              "value": "={{ $('Sum Video Views').item.json.totalViews }}"
            },
            {
              "id": "4681d235-d066-4d09-9c79-54f2395a6750",
              "name": "Total Subscribers",
              "type": "string",
              "value": "={{ $('Get info about channel').item.json.items[0].statistics.subscriberCount }}"
            },
            {
              "id": "351ec081-ea7f-4ceb-a1f6-038a4747b754",
              "name": "Email",
              "type": "string",
              "value": "={{ $json.channel_about_page.email }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ac7a8ddc-3347-4860-a080-70efcaded6b6",
      "name": "チャンネルインサイト更新",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1980,
        0
      ],
      "parameters": {
        "columns": {
          "value": {
            "Email": "={{ $json.Email }}",
            "Channel ID": "={{ $('New Channel Added').item.json['Channel ID'] }}",
            "Recent Views": "={{ $json['Recent Views'] }}",
            "Total Subscribers": "={{ $json['Total Subscribers'] }}"
          },
          "schema": [
            {
              "id": "Channel ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Channel ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Recent Views",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Recent Views",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Total Subscribers",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Total Subscribers",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": false,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "Channel ID"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1TpaJAx7eM1XogAZWPSHls4H1AhYsrQ_FTcohkoZyedQ/edit?usp=drivesdk",
          "cachedResultName": "Youtube Channel Intelligence Collector"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "K5yYfUnKFTqaRn6A",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "300c814f-fca0-439e-8b4f-3d7031644b42",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -40,
        -760
      ],
      "parameters": {
        "color": 3,
        "width": 640,
        "height": 960,
        "content": "### 🔹 SECTION 1: **Channel Identification & Stats Fetching**\n\n🔔 It all begins when a new channel URL is added to Google Sheets. The `New Channel Added` trigger detects this input and passes it to the next node.\n\n🔎 The `Get Channel ID from URL` node uses YouTube’s Data API to convert the given channel username or custom URL into a valid `channelId`.\n\n📊 Once the channel ID is resolved, the `Get Channel Stats` node fetches vital metrics like subscriber count, total video count, and overall view count — giving you an immediate sense of the channel’s reach and authority.\n\nThis section acts as the \"identity and reputation layer\" — establishing who the channel is and how large its audience might be.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c4da8233-ca33-4f73-b9dc-034216af6a78",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        680,
        -720
      ],
      "parameters": {
        "color": 5,
        "width": 640,
        "height": 920,
        "content": "## 🔹 SECTION 2: **Recent Video Intelligence**\n\n🆕 The `Get Recent Video IDs` node fetches the 5 most recent uploads by the channel using the `search` endpoint, ordered by date. This helps focus on the freshest content for engagement analysis.\n\n🧹 Next, the `Prepare Video Views to Sum` node extracts and organizes the returned video IDs into a structured format ready for bulk analysis.\n\n➕ The `Sum Video Views` node — a custom Code block — takes each video ID, fetches its statistics, and aggregates the `viewCount`. You can either sum or average these views to calculate recent performance.\n\nThis section is your \"engagement tracker,\" offering insight into how actively viewers are interacting with the channel’s newest content — critical for B2B qualification or influencer assessment.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7a4f720e-380b-4557-bbcc-8cf864b32117",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1420,
        -840
      ],
      "parameters": {
        "color": 6,
        "width": 400,
        "height": 1040,
        "content": "### 🔹 SECTION 3: **Contact Intelligence**\n\n✉️ The `Get Channel Email (SerpAPI)` node attempts to retrieve the public email address listed on the channel’s “About” page. Since this action requires bypassing CAPTCHA (which APIs like YouTube don't support), we use SerpAPI to simulate and extract the result.\n\n⚠️ If no email is available due to protection or limitations, fallback logic can be added later to log this for manual review.\n\nThis section aims to uncover the **real outreach opportunity**, pulling direct contact information when available — making it a powerful lead-gen component.\n\n---\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c3c77b39-7d8b-4f9e-9f4c-d8ea5c990f06",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1880,
        -960
      ],
      "parameters": {
        "color": 4,
        "width": 340,
        "height": 1160,
        "content": "### 🔹 SECTION 4: **Data Assembly & Sheet Update**\n\n🧩 The `Prepare Sheet Data` node cleanly formats all collected insights — channel statistics, recent video performance, and email — into one tidy object.\n\n📤 Finally, the `Update Channel Insights` node updates the original Google Sheet row with the newly enriched data. This makes your sheet a live intelligence dashboard, auto-updated every time a new channel is added.\n\nThis last section is the \"insight publishing engine,\" ensuring all collected intelligence is centralized, structured, and ready for decision-making or follow-up.\n\n---\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "3d4d8722-e423-4941-8413-4953ec41487c",
      "name": "付箋9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1660,
        -760
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9d04bc2b-eea5-4d93-9b43-044011b99876",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1660,
        -420
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 1938,
        "content": "## 🎯 **YouTube Channel Intelligence Collector — Grouped Workflow Overview**\n\n---\n\n### 🔹 SECTION 1: **Channel Identification & Stats Fetching**\n\n🔔 It all begins when a new channel URL is added to Google Sheets. The `New Channel Added` trigger detects this input and passes it to the next node.\n\n🔎 The `Get Channel ID from URL` node uses YouTube’s Data API to convert the given channel username or custom URL into a valid `channelId`.\n\n📊 Once the channel ID is resolved, the `Get Channel Stats` node fetches vital metrics like subscriber count, total video count, and overall view count — giving you an immediate sense of the channel’s reach and authority.\n\nThis section acts as the \"identity and reputation layer\" — establishing who the channel is and how large its audience might be.\n\n---\n\n### 🔹 SECTION 2: **Recent Video Intelligence**\n\n🆕 The `Get Recent Video IDs` node fetches the 5 most recent uploads by the channel using the `search` endpoint, ordered by date. This helps focus on the freshest content for engagement analysis.\n\n🧹 Next, the `Prepare Video Views to Sum` node extracts and organizes the returned video IDs into a structured format ready for bulk analysis.\n\n➕ The `Sum Video Views` node — a custom Code block — takes each video ID, fetches its statistics, and aggregates the `viewCount`. You can either sum or average these views to calculate recent performance.\n\nThis section is your \"engagement tracker,\" offering insight into how actively viewers are interacting with the channel’s newest content — critical for B2B qualification or influencer assessment.\n\n---\n\n### 🔹 SECTION 3: **Contact Intelligence**\n\n✉️ The `Get Channel Email (SerpAPI)` node attempts to retrieve the public email address listed on the channel’s “About” page. Since this action requires bypassing CAPTCHA (which APIs like YouTube don't support), we use SerpAPI to simulate and extract the result.\n\n⚠️ If no email is available due to protection or limitations, fallback logic can be added later to log this for manual review.\n\nThis section aims to uncover the **real outreach opportunity**, pulling direct contact information when available — making it a powerful lead-gen component.\n\n---\n\n### 🔹 SECTION 4: **Data Assembly & Sheet Update**\n\n🧩 The `Prepare Sheet Data` node cleanly formats all collected insights — channel statistics, recent video performance, and email — into one tidy object.\n\n📤 Finally, the `Update Channel Insights` node updates the original Google Sheet row with the newly enriched data. This makes your sheet a live intelligence dashboard, auto-updated every time a new channel is added.\n\nThis last section is the \"insight publishing engine,\" ensuring all collected intelligence is centralized, structured, and ready for decision-making or follow-up.\n\n---\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {
    "Get Channel Email (SerpAPI)": [
      {
        "json": {
          "channel_about_page": {
            "email": "contact@googledevs.com",
            "location": "United States",
            "channel_url": "https://www.youtube.com/channel/UC_x5XG1OV2P6uZZ5FSM9Ttw",
            "description": "Welcome to Google Developers!"
          }
        }
      }
    ]
  },
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "7a80e42b-85b9-4bb9-8f43-adea423f228d",
  "connections": {
    "94c8c406-ab91-44f1-aba4-74df7bf2e347": {
      "main": [
        [
          {
            "node": "58f38623-d210-45da-9eb3-71f7914859da",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "57841966-eedc-4ac5-b699-1c8241409880": {
      "main": [
        [
          {
            "node": "86b1b984-aa03-4aed-b4d8-3eb861408e1b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c59d8ffd-f78e-4ac5-ae00-19075db988a8": {
      "main": [
        [
          {
            "node": "4cd2932b-953c-4ece-af21-6b68e7c7fc7c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a8f1aab2-ad08-4711-9a2c-2d4e953407af": {
      "main": [
        [
          {
            "node": "ac7a8ddc-3347-4860-a080-70efcaded6b6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "edbac4ab-c0c6-402a-b579-45ddb9ee7a87": {
      "main": [
        [
          {
            "node": "94c8c406-ab91-44f1-aba4-74df7bf2e347",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "86b1b984-aa03-4aed-b4d8-3eb861408e1b": {
      "main": [
        [
          {
            "node": "edbac4ab-c0c6-402a-b579-45ddb9ee7a87",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4cd2932b-953c-4ece-af21-6b68e7c7fc7c": {
      "main": [
        [
          {
            "node": "57841966-eedc-4ac5-b699-1c8241409880",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "58f38623-d210-45da-9eb3-71f7914859da": {
      "main": [
        [
          {
            "node": "a8f1aab2-ad08-4711-9a2c-2d4e953407af",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - マーケティング

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

関連ワークフロー

ワークフロー情報
難易度
中級
ノード数15
カテゴリー1
ノードタイプ6
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
Yaron Been

Yaron Been

@yaron-nofluff

Building AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34