Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

keyapi-youtube-channel-analysiskeyapi youtube 频道分析

Agent Skill

keyapi-youtube-channel-analysis 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,398

周安装

97

GitHub Stars

公开资料未说明

下载量

753
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:keyapi-youtube-channel-analysis(keyapi youtube 频道分析)
来源仓库:https://github.com/lycici/keyapi-youtube-channel-analysis
安装命令:
openclaw skills install keyapi-youtube-channel-analysis
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install keyapi-youtube-channel-analysis

简介

用于检索 YouTube 频道元数据、视频库及频道 ID 与 URL 转换信息,支持关键词搜索。

  • 适合在 OpenClaw 中调研竞品频道、规划内容矩阵或寻找合作对象时使用。
  • 输出频道订阅数、更新频率与内容分类标签,辅助策略制定。
  • 安装命令:openclaw skills install keyapi-youtube-channel-analysis。
  • 部分私有或受限频道数据无法访问,结果可能存在偏差。

SKILL.md

name
keyapi-youtube-channel-analysis
description
Discover, profile, and analyze YouTube channels — retrieve channel metadata, video libraries, convert between channel IDs and URLs, search channels by keyword, and explore advanced search with filters.
metadata
{"openclaw":{"requires":{"env":["KEYAPI_TOKEN"],"bins":["node"]},"primaryEnv":"KEYAPI_TOKEN","emoji":"📺"}}
author
KeyAPI
license
MIT
repository
https://github.com/EchoSell/keyapi-skills

keyapi-youtube-channel-analysis

Discover, profile, and analyze YouTube channels — from identity resolution and metadata retrieval to video inventory, channel search, and advanced filtered discovery.

This skill provides comprehensive YouTube channel intelligence using the KeyAPI MCP service. It enables detailed channel profile retrieval (including a two-step process for full metadata), video library enumeration, bidirectional conversion between channel IDs and URLs, keyword-based channel search, within-channel content search, advanced filtered search across YouTube, and search suggestion retrieval — all through a cache-first workflow.

Use this skill when you need to:

  • Retrieve full channel metadata including description, subscriber count, view count, join date, and social links
  • Convert between channel URLs (various formats) and channel IDs, or resolve @username handles
  • Enumerate a channel's published video library with pagination support
  • Search for channels by keyword with result filtering to channel-type only
  • Search within a specific channel's content by keyword
  • Perform advanced YouTube searches with filters (upload time, duration, content type, features, sort order)
  • Get real-time search suggestions for keyword research and autocomplete

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


Prerequisites

RequirementDetails
KEYAPI_TOKENA valid API token from keyapi.ai. If you don't have one, register at the site to obtain your free token. Set it as an environment variable: export KEYAPI_TOKEN=your_token_here
Node.jsv18 or higher
DependenciesRun npm install in the skill directory to install @modelcontextprotocol/sdk

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


MCP Server Configuration

All tool calls in this skill target the KeyAPI YouTube MCP server:

Server URL : https://mcp.keyapi.ai/youtube/mcp
Auth Header: Authorization: Bearer $KEYAPI_TOKEN

Setup (one-time):

# 1. Install dependencies
npm install

# 2. Set your API token (get one free at https://keyapi.ai/)
export KEYAPI_TOKEN=your_token_here

# 3. List all available tools to verify the connection
node scripts/run.js --platform youtube --list-tools

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


Analysis Scenarios

Channel Identity & Metadata Nodes

User NeedNode(s)Best For
Full channel metadata (two-step process)get_channel_descriptionComplete channel audit — call twice: first with channel_id, then with continuation_token from response
Extract channel ID from any URL formatget_channel_id_from_urlURL normalization — supports @username, /channel/, /c/, /user/ formats
Get @username handle from channel IDget_channel_url_from_channel_idReverse lookup — channel ID → @handle
Resolve channel name to channel IDget_channel_idKeyword-based ID lookup by channel name

Channel Content Nodes

User NeedNode(s)Best For
List all videos from a channelget_channel_videosVideo inventory, content cadence analysis — requires UC-format channel ID

Search & Discovery Nodes

User NeedNode(s)Best For
Search for channels by keywordsearch_channelsChannel discovery — returns only channel-type results, filters out videos/playlists
Search within a specific channelsearch_channelIn-channel content search by keyword — requires channel ID
Advanced filtered search across YouTubegeneral_search_with_filtersPrecision discovery — filter by upload time, duration, content type, features, sort order
Get search suggestions / autocompleteget_search_suggestionsKeyword research, query expansion — returns 10–20 suggestions in <1 second

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


Workflow

Step 1 — Identify the Channel Analysis Objective and Select Nodes

Clarify the research goal and map it to one or more nodes. Common patterns:

  • Channel profile deep-dive: Use get_channel_description twice — first call with channel_id returns basic info + continuation_token; second call with that token returns advanced info (join date, social links, view count).
  • URL → ID conversion: Use get_channel_id_from_url to normalize any channel URL format to a channel ID.
  • ID → @handle conversion: Use get_channel_url_from_channel_id to get the user-friendly @username from a channel ID.
  • Channel discovery: Use search_channels with keyword → optionally deepen with get_channel_description for each result.
  • Video inventory: Use get_channel_videos with channel_id (must be UC-format) → paginate with continuation_token.
  • Advanced search: Use general_search_with_filters with upload time, duration, content type, and sort filters.
Channel ID formats - UC-format: 24-character string starting with UC (e.g., UCeu6U67OzJhV1KwBansH3Dg) — required for get_channel_videos and get_channel_description. - @username format: User-friendly handle (e.g., @CozyCraftYT) — use get_channel_id_from_url to convert to UC-format. - URL formats: Supports youtube.com/@username, youtube.com/channel/UCxxxxxx, youtube.com/c/name, youtube.com/user/name.
get_channel_description two-step process This endpoint requires two sequential calls to retrieve complete channel information: 1. First call: Pass channel_id → returns basic info (name, description, subscriber count, video count, banner) + continuation_token. 2. Second call: Pass continuation_token from step 1 → returns advanced info (join date, social media links, featured sections, total view count). Do NOT call both simultaneously — the second call depends on the token from the first.

Step 2 — Retrieve API Schema

Before calling any node, inspect its input schema to confirm required parameters and available options:

node scripts/run.js --platform youtube --schema <tool_name>

# Examples
node scripts/run.js --platform youtube --schema get_channel_description
node scripts/run.js --platform youtube --schema general_search_with_filters

Step 3 — Call APIs and Cache Results Locally

Execute tool calls and persist responses to the local cache.

Calling a tool:

node scripts/run.js --platform youtube --tool <tool_name> \
  --params '<json_args>' --pretty

# Skip cache for fresh results
node scripts/run.js --platform youtube --tool <tool_name> \
  --params '<json_args>' --no-cache --pretty

Example — get full channel metadata (two-step):

# Step 1: Get basic info + continuation_token
node scripts/run.js --platform youtube --tool get_channel_description \
  --params '{"channel_id":"UCeu6U67OzJhV1KwBansH3Dg","language_code":"en-US","country_code":"US","need_format":true}' --pretty

# Step 2: Get advanced info using continuation_token from Step 1
node scripts/run.js --platform youtube --tool get_channel_description \
  --params '{"continuation_token":"<token_from_step_1>","language_code":"en-US","country_code":"US","need_format":true}' --pretty

Example — convert channel URL to ID:

node scripts/run.js --platform youtube --tool get_channel_id_from_url \
  --params '{"channel_url":"https://www.youtube.com/@CozyCraftYT"}' --pretty

Example — get @handle from channel ID:

node scripts/run.js --platform youtube --tool get_channel_url_from_channel_id \
  --params '{"channel_id":"UCeu6U67OzJhV1KwBansH3Dg"}' --pretty

Example — get channel videos (first page):

node scripts/run.js --platform youtube --tool get_channel_videos \
  --params '{"channel_id":"UCJHBJ7F-nAIlMGolm0Hu4vg","language_code":"en-US","country_code":"US"}' --pretty

Example — paginate to next video page:

node scripts/run.js --platform youtube --tool get_channel_videos \
  --params '{"channel_id":"UCJHBJ7F-nAIlMGolm0Hu4vg","continuation_token":"<token>"}' --pretty

Example — search channels by keyword:

# First page
node scripts/run.js --platform youtube --tool search_channels \
  --params '{"keyword":"fitness","need_format":true}' --pretty

# Next page
node scripts/run.js --platform youtube --tool search_channels \
  --params '{"continuation_token":"<token>","need_format":true}' --pretty

Example — search within a channel:

node scripts/run.js --platform youtube --tool search_channel \
  --params '{"channel_id":"UCXuqSBlHAE6Xw-yeJA0Tunw","search_query":"AMD","language_code":"en","country_code":"US"}' --pretty

Example — advanced filtered search:

node scripts/run.js --platform youtube --tool general_search_with_filters \
  --params '{"search_query":"Python tutorial","upload_time":"month","duration":"medium","content_type":"video","feature":"hd","sort_by":"view_count","language_code":"en-US","country_code":"US"}' --pretty

Example — get search suggestions:

node scripts/run.js --platform youtube --tool get_search_suggestions \
  --params '{"keyword":"machine learning","language":"en","region":"US"}' --pretty

Example — resolve channel name to ID:

node scripts/run.js --platform youtube --tool get_channel_id \
  --params '{"channel_name":"LinusTechTips"}' --pretty

Pagination:

EndpointPaginationNotes
get_channel_descriptioncontinuation_tokenTwo-step: first call returns token for second call
get_channel_videoscontinuation_tokenFrom previous response
search_channels, search_channel, general_search_with_filterscontinuation_tokenFrom previous response
get_channel_id_from_url, get_channel_url_from_channel_id, get_channel_id, get_search_suggestionsSingle-call; no pagination

Cache directory structure:

.keyapi-cache/
└── YYYY-MM-DD/
    ├── get_channel_description/
    │   └── {params_hash}.json
    ├── get_channel_id_from_url/
    │   └── {params_hash}.json
    ├── get_channel_url_from_channel_id/
    │   └── {params_hash}.json
    ├── get_channel_videos/
    │   └── {params_hash}.json
    ├── get_channel_id/
    │   └── {params_hash}.json
    ├── search_channels/
    │   └── {params_hash}.json
    ├── search_channel/
    │   └── {params_hash}.json
    ├── general_search_with_filters/
    │   └── {params_hash}.json
    └── get_search_suggestions/
        └── {params_hash}.json

Cache-first policy:

Before every API call, check whether a cached result already exists. If valid, load from disk and skip the API call.

Step 4 — Synthesize and Report Findings

For channel analysis:

  1. Channel Overview — Name, @handle, channel ID, subscriber count, total video count, total view count, join date, verification status.
  2. Channel Description — Bio, featured links, social media connections, country/language.
  3. Content Inventory — Video count, upload frequency, most recent video date, content categories.
  4. Audience Signals — Subscriber-to-view ratio, engagement indicators from recent videos.
  5. Featured Sections — Playlists, channels, or content highlighted by the creator.

For channel discovery:

  1. Search Results Overview — Matched channels, subscriber counts, verification status, content focus.
  2. Comparative Analysis — Side-by-side metrics for shortlisted channels.
  3. Keyword Expansion — Search suggestions for related queries, trending topics.

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


Common Rules

RuleDetail
Channel ID formatget_channel_videos and get_channel_description require UC-format channel IDs (24 characters starting with UC). Use get_channel_id_from_url to convert @username or other URL formats.
get_channel_description two-stepCritical: This endpoint requires two sequential calls. First call with channel_id returns basic info + continuation_token. Second call with that token returns advanced info. Do NOT call both simultaneously.
URL format supportget_channel_id_from_url supports multiple formats: @username, /channel/UCxxxxxx, /c/name, /user/name.
search_channels vs search_channelsearch_channels searches across YouTube for channels by keyword. search_channel searches within a specific channel's content.
need_format parameter quirkThe get_channel_videos schema has a trailing space in the parameter name: "need_format " (with space). However, the API accepts both forms. Omit this parameter in examples to avoid confusion. Available on get_channel_description and search_channels without the space issue.
Language / region paramslanguage_code and country_code influence result language and regional content bias. Use en-US / US for English-language global results.
Success checkcode = 0 → success. Any other value → failure. Always check the response code before processing data.
Retry on 500If code = 500, retry the identical request up to 3 times with a 2–3 second pause between attempts before reporting the error.
Cache firstAlways check the local .keyapi-cache/ directory before issuing a live API call.

author: KeyAPI license: MIT repository: https://github.com/EchoSell/keyapi-skills


Error Handling

CodeMeaningAction
0SuccessContinue workflow normally
400Bad request — invalid or missing parametersValidate input against the tool schema; check channel ID format (must be UC-format for some endpoints), URL format, and required fields
401Unauthorized — token missing or expiredConfirm KEYAPI_TOKEN is set correctly; visit keyapi.ai to renew
403Forbidden — plan quota exceeded or feature restrictedReview plan limits at keyapi.ai
404Resource not found — channel may not exist or URL is invalidVerify the channel ID or URL; the channel may have been deleted or made private
429Rate limit exceededWait 60 seconds, then retry
500Internal server errorRetry up to 3 times with a 2–3 second pause; if it persists, log the full request and response and skip this node
Other non-0Unexpected errorLog the full response body and surface the error message to the user

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

92.17%
按下载量换算694

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills