Communitygithub.com

techhorizonlabs/youtube-channel-profile

透過 YouTube Data API v3 分析 YouTube 頻道資料,包含訂閱數、觀看次數、上片頻率、互動率、Shorts 比例、熱門影片及預估廣告收益範圍。

youtube-channel-profile 是什麼?

這項技能可讓 AI 代理透過官方 YouTube Data API v3 讀取公開頻道資料,並產出詳細的 Markdown 或 JSON 報告。它涵蓋了頻道的訂閱數、總觀看次數、上片節奏(中位數天數、每月上片數)、近期影片的觀看趨勢、互動率(按讚與留言除以觀看數)、Shorts 與長片的比例、前 5 熱門影片,以及每月廣告收益的預估區間(採用 Social Blade 的 CPM 範圍)。該工具僅依賴官方 API,不進行網頁爬取,且不會將任何資料寫入磁碟,確保符合 YouTube 資料政策。 使用前需要一個啟用 YouTube Data API v3 的 Google Cloud 專案,並將 API 金鑰設定在 `YOUTUBE_API_KEY` 環境變數中。支援以頻道 ID、@handle、`/channel/`、`/user/` 或 `/c/` 網址作為輸入。報告結尾會顯示本次呼叫消耗的 API 配額(預設執行約耗用 3 單位),並在發生錯誤時提供清晰的退出碼與建議處理方式。對於非 YouTube 網址或影片/播放清單連結,工具會直接拒絕,並要求提供正確的頻道連結。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/techhorizonlabs/gearlist/tree/HEAD/skills/youtube-channel-profile

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

YouTube 頻道分析

scripts/channel_profile.py 透過 YouTube Data API v3 讀取公開頻道資料,並產出 Markdown 報告,或使用 --json 輸出 JSON。它只使用官方 API,從不載入 YouTube 網頁,也不會寫入任何資料到磁碟。

執行前準備

  1. 使用者需要一個 Google Cloud 專案,已啟用 YouTube Data API v3 並取得一個僅限該 API 使用的 API 金鑰。
  2. 金鑰需設定在 YOUTUBE_API_KEY 環境變數中。切勿將其放入提示詞、檔案、對話中,也絕不能列印出來。如果該變數未設定,請停止並要求使用者設定。請勿在其他地方尋找金鑰。
  3. 安裝一個依賴套件:pip install -r scripts/requirements.txt(即 requests)。

執行

python3 scripts/channel_profile.py @handle
python3 scripts/channel_profile.py https://www.youtube.com/@handle --videos 100
python3 scripts/channel_profile.py UCxxxxxxxxxxxxxxxxxxxxxx --json

選項:--videos N(要讀取的近期上傳數量,預設 50,最多 500)、--json、--no-search、--cpm-low 和 --cpm-high(預設值為 0.25 和 4.00)。

頻道搜尋方式

  • 頻道 ID 或 /channel/UC... 網址:使用 channels.list 搭配 id。
  • @handle 或 /@handle 網址:使用 channels.list 搭配 forHandle。
  • /user/ 網址:使用 forUsername。/c/ 網址會嘗試作為 handle。
  • 如果以上皆不符合,則會退回使用 search.list 尋找最佳匹配,並在報告中說明。請在依賴結果前檢查標題和 ID。--no-search 可關閉此備用機制。
  • 影片連結、播放清單連結及非 YouTube 網址會被拒絕。請要求提供頻道連結。

配額

呼叫費用
channels.list1 單位
playlistItems.list每 50 部上傳 1 單位
videos.list每 50 部影片 1 單位
search.list(僅備用)1 次呼叫(使用獨立配額)

預設執行會耗用每日 10,000 單位預設配額中的 3 單位。自 2026 年 6 月 1 日起,search.list 擁有每日 100 次呼叫的獨立配額。在此之前,一次搜尋會從主要配額中耗用 100 單位,因此舊版指南會顯示 100。失敗的呼叫仍會消耗配額。配額於太平洋時間午夜重置。每份報告結尾會顯示所耗用的配額。

報告內容

來自 YouTube 的原始資料:

  • 訂閱數,YouTube 會將其四捨五入至三位有效數字。如果擁有者隱藏了該數字,報告會顯示「隱藏」且不提供猜測。
  • 頻道總觀看次數與公開影片數量。
  • 每部近期影片的觀看次數、喜歡數與留言數。

由腳本計算並以 * 標記的衍生資料:

  • 上片節奏:最近 N 部上傳之間的中位數天數、每月上傳數((N - 1) 個間隔 / 總天數 x 30.44)以及距離上次上傳的天數。
  • 近期影片的中位數與平均觀看次數。直播與即將上線的影片會被排除。
  • 趨勢:最後 10 部上傳與前 10 部上傳的中位數觀看次數比較。較新的影片累積觀看次數的時間較短。
  • 互動率:每部影片的(喜歡數 + 留言數)/ 觀看次數,再取中位數。隱藏喜歡數的影片會被排除。關閉留言功能的影片,留言數計為 0。
  • 依時長區分 Shorts 與長片。這是一種啟發式方法:時長 180 秒或以下視為 Shorts,因為 API 沒有專門的 Shorts 標記。
  • 按觀看次數排序的前 5 名熱門影片。
  • 預估每月觀看次數:過去 30 天內發布的影片當前觀看次數總和。這不包括舊片庫的觀看次數。如果樣本未涵蓋過去 30 天,報告會說明並建議增大 --videos 參數。該檢查假設上傳播放清單按最新優先排列(通常如此)。

YouTube API 政策 III.E.4.h 允許在 YouTube 自己的總數旁邊顯示衍生數據,但需明確註明這些數據並非來自 YouTube。報告已遵循此規範。每當引用標有星號的數據時,請務必附上該註明。

收益計算方式

低估值 = 預估每月觀看次數 / 1,000 x US$0.25
高估值 = 預估每月觀看次數 / 1,000 x US$4.00

US$0.25 到 US$4.00 是 Social Blade 公布的預設 CPM 區間(socialblade.com/youtube/calculator)。報告會以實際數字展示此公式。這僅是廣告收入,不包括贊助、會員、購物、聯盟行銷以及粉絲資助。實際 RPM 會因利基、觀眾國家與影片格式而異。Shorts 收入以不同條款合併計算。未加入 YouTube 合作夥伴計畫的頻道不會獲得任何廣告收入。請務必稱其為「預估區間」,而非實際收入。

錯誤代碼

退出碼意義處理方式
0報告已產出
2輸入錯誤、缺少金鑰或找不到頻道修正輸入,或要求使用者提供金鑰或正確連結
3配額用盡停止。告知使用者配額將於太平洋時間午夜重置。請勿在迴圈中重試或切換金鑰
4其他 API 錯誤,例如金鑰無效或 API 未啟用向使用者顯示錯誤訊息
5網路錯誤重試一次,若仍失敗則回報

錯誤訊息會輸出失敗前已耗用的配額。所有訊息與報告在輸出前都會清除金鑰。

規則

  • 僅使用官方 API。切勿為了填補資料缺口而爬取 YouTube 網頁。應報告該缺口。
  • 不緩存任何超出此次執行的資料。不儲存原始 API 回應。如果使用者保留報告,API 統計資料不得儲存超過 30 天(政策 III.E.4.b)。
  • 僅處理公開資料。觀眾人口統計非公開資訊:請參閱 creator-audience 技能。

最後檢查日期:2026 年 11 月 5 日,對照 YouTube Data API 參考文件、配額頁面、修訂歷史與開發者政策。腳本的測試在離線模式下使用固定資料進行。此處尚未對正式 API 執行。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能