keyapi-tiktok-influencer-discovery
Discover, profile, and deeply analyze TikTok influencers — from keyword-based search to multi-dimensional performance intelligence.
This skill powers end-to-end TikTok influencer research using the KeyAPI MCP service. It enables you to find creators by keyword or region, retrieve their profile and performance metrics, analyze historical growth trajectories, and benchmark them against ranking data — all through a single, orchestrated workflow.
Use this skill when you need to:
- - Identify high-performing influencers for brand collaborations or affiliate campaigns
- Audit a creator's follower growth, engagement rate, and live-stream GMV history
- Build ranked shortlists and compare multiple creators across key performance dimensions
- Track historical trends for competitive intelligence and market positioning
author: KeyAPI
license: MIT
repository: https://github.com/EchoSell/keyapi-skills
Prerequisites
| Requirement | Details |
|---|
| KEYAPITOKEN | A 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: INLINECODE0 |
| Node.js |
v18 or higher |
|
Dependencies | Run
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 MCP server:
CODEBLOCK0
Setup (one-time):
CODEBLOCK1
author: KeyAPI
license: MIT
repository: https://github.com/EchoSell/keyapi-skills
Analysis Scenarios
Select one or more nodes based on the research objective. Multiple nodes can be combined for cross-dimensional analysis.
| User Need | Node(s) | Best For |
|---|
| Find influencers by keyword, category, or region | INLINECODE3 | Initial discovery, broad prospecting |
| Verify an influencer's identity and resolve IDs |
get_influencer_detail | ID resolution (user
id + uniqueid), profile snapshot |
| Filter influencers with analytics (ER, GMV, followers, sales) |
influencer_list_analytics | Data-driven shortlisting from large datasets |
| Full multi-dimensional performance audit |
influencer_detail_analytics | Deep-dive due diligence on one or more creators |
| Analyze historical growth trends over time |
influencer_trends_analytics | Growth velocity, follower trajectory, trend analysis |
| Review video content performance history |
influencer_videos_analytics | Content strategy benchmarking, top-video analysis |
| Evaluate live-stream commerce history (GMV, viewers) |
influencer_livestreams_analytics | Live commerce capability assessment |
| Examine promoted product portfolio and sales |
influencer_products_analytics | Brand-fit assessment, niche/category alignment |
| Competitive ranking by followers, GMV, or ER |
influencer_ranking_analytics | Leaderboard analysis, category benchmarks |
| Retrieve latest published videos with engagement stats |
get_influencer_videos | Recent content monitoring, freshness check |
| Sample an influencer's follower list |
get_influencer_followers | Audience quality sampling |
| Explore the accounts an influencer follows |
get_influencer_following | Network and affinity analysis |
| Geographic breakdown of audience distribution |
get_influencer_region | Geo-targeting fit for regional campaigns |
| Generate a shareable profile QR code |
get_influencer_qr_code | Marketing material assets |
| Key milestone and achievement history |
get_influencer_milestones | Growth storytelling, historical highlights |
author: KeyAPI
license: MIT
repository: https://github.com/EchoSell/keyapi-skills
Workflow
Step 1 — Identify Analysis Targets and Select Nodes
Clarify the user's objective and map it to one or more nodes from the table above. Typical entry points:
- - Keyword discovery: Start with
search_influencers, then optionally deepen with influencer_list_analytics for richer filtering. - Direct profile lookup: Use
get_influencer_detail with a known unique_id (@handle). - Performance deep-dive: Combine
influencer_detail_analytics + influencer_trends_analytics + influencer_videos_analytics. - Live commerce evaluation: Use
influencer_livestreams_analytics + influencer_products_analytics. - Competitive ranking: Use
influencer_ranking_analytics with appropriate category/region filters.
⚠️ Critical: Resolving user_id vs. unique_id
Two distinct identifier types are used across endpoints:
- -
unique_id — the user's public @handle (e.g., charlidamelio). User-visible, mutable. - INLINECODE32 — TikTok's permanent, immutable numeric UID assigned to each account.
When a workflow requires nodes that accept different identifier types, always call get_influencer_detail first using the unique_id to obtain both identifiers before proceeding.
Step 2 — Retrieve API Schema
Before calling any node, inspect its input schema to confirm required parameters, data types, and valid enumeration values:
CODEBLOCK2
For analytics nodes, pay particular attention to filter parameters (region, category, date range, follower range, etc.) and confirm the expected page_num/page_size fields.
Step 3 — Call APIs and Cache Results Locally
Execute the required tool calls and persist all responses to the local cache to enable result reuse across sessions and avoid redundant API calls.
Calling a tool (using scripts/run.js):
CODEBLOCK3
Example — search influencers:
CODEBLOCK4
Example — filter influencers with analytics (all pages):
CODEBLOCK5
Example — get influencer's latest videos (cursor-based):
CODEBLOCK6
Pagination for analytics endpoints:
All *_analytics endpoints use page_num (1-indexed) and page_size (max 10). run.js injects these automatically if not specified. Use --all-pages to let run.js iterate all pages and merge the results.
CODEBLOCK7
Note: get_influencer_videos, get_influencer_followers, get_influencer_following use cursor-based pagination via an offset parameter — not page_num/page_size. Pass "offset":"0" to start, then use the max_cursor (or min_time) value from the response as the next offset.
Cache directory structure:
CODEBLOCK8
Cache-first policy:
Before every API call, check whether a cached result already exists for the given entity and node. If a valid cache file exists, load from disk and skip the API call.
Cover image processing:
After each API call, scan all response image URLs. If any URL's host matches echosell-images.tos-ap-southeast-1.volces.com, collect those URLs and call batch_download_cover_images in a single batch request. Replace the original URLs in your working dataset with the converted URLs returned by this node.
Step 4 — Synthesize and Report Findings
After collecting all API responses (from cache or live calls), produce a structured research report:
- 1. Creator Profile Summary — Name, @handle, follower count, engagement rate, primary niche, and operating region.
- Performance Analysis — Follower growth curve, average video views, engagement benchmarks, and live-stream GMV history.
- Content Strategy Insights — Top-performing video themes, posting cadence, product promotion patterns, and audience interaction quality.
- Competitive Positioning — Ranking within category/region, peer comparisons when analyzing multiple creators.
- Actionable Recommendations — Best fit use cases (brand sponsorship, affiliate, live commerce), audience-campaign alignment, risk signals (follower authenticity, trend consistency).
Cross-reference multiple data sources where available — for example, correlate influencer_trends_analytics with influencer_livestreams_analytics to identify whether GMV peaks align with follower growth events.
author: KeyAPI
license: MIT
repository: https://github.com/EchoSell/keyapi-skills
Common Rules
| Rule | Detail |
|---|
| Pagination | All *_analytics endpoints use page_num (starts at 1) and page_size. Never use page 0. |
| Cover images |
Batch-convert all image URLs from
echosell-images.tos-ap-southeast-1.volces.com via
batch_download_cover_images before storing or displaying. |
|
Success check |
code = 0 → success. Any other value → failure. Always check the response code before processing data. |
|
Retry on 500 | If
code = 500, retry the identical request once after a brief pause before reporting the error. |
|
Cache first | Always check the local
.keyapi-cache/ directory before issuing a live API call. |
|
ID resolution | When a workflow requires both
user_id and
unique_id, call
get_influencer_detail first with the
unique_id to resolve both. |
author: KeyAPI
license: MIT
repository: https://github.com/EchoSell/keyapi-skills
Error Handling
| Code | Meaning | Action |
|---|
| INLINECODE72 | Success | Continue workflow normally |
| INLINECODE73 |
Bad request — invalid or missing parameters | Validate input against the tool schema; correct and retry |
|
401 | Unauthorized — token missing or expired | Confirm
KEYAPI_TOKEN is set correctly; visit
keyapi.ai to renew |
|
403 | Forbidden — plan quota exceeded or feature restricted | Review plan limits at
keyapi.ai |
|
404 | Resource not found — influencer not indexed or ID incorrect | Verify
unique_id /
user_id; try
search_influencers to locate the creator |
|
429 | Rate limit exceeded | Wait 60 seconds, then retry |
|
500 | Internal server error | Retry once after 2–3 seconds; if it persists, log the full request and response and skip this node |
| Other non-0 | Unexpected error | Log the full response body and surface the error message to the user |
keyapi-tiktok-influencer-discovery
发现、分析并深度剖析TikTok网红——从关键词搜索到多维度表现智能分析。
本技能利用KeyAPI MCP服务,支持端到端的TikTok网红研究。您可以通过关键词或地区查找创作者,获取其个人资料和表现指标,分析历史增长轨迹,并根据排名数据进行对标——所有这些都通过一个统一编排的工作流完成。
在以下场景中使用本技能:
- - 为品牌合作或联盟营销活动识别高表现网红
- 审核创作者的粉丝增长、互动率和直播GMV历史
- 构建排名短名单,并在关键表现维度上比较多个创作者
- 跟踪历史趋势,用于竞争情报和市场定位
作者:KeyAPI
许可证:MIT
仓库:https://github.com/EchoSell/keyapi-skills
前提条件
| 要求 | 详情 |
|---|
| KEYAPITOKEN | 来自keyapi.ai的有效API令牌。如果没有,请在该网站注册以获取免费令牌。将其设置为环境变量:export KEYAPITOKEN=yourtoken_here |
| Node.js |
v18或更高版本 |
|
依赖项 | 在技能目录中运行npm install以安装@modelcontextprotocol/sdk |
作者:KeyAPI
许可证:MIT
仓库:https://github.com/EchoSell/keyapi-skills
MCP服务器配置
本技能中的所有工具调用均指向KeyAPI MCP服务器:
服务器URL:https://mcp.keyapi.ai
认证头:Authorization: Bearer $KEYAPI_TOKEN
设置(一次性):
bash
1. 安装依赖项
npm install
2. 设置您的API令牌(在https://keyapi.ai/免费获取)
export KEYAPI
TOKEN=yourtoken_here
3. 列出所有可用工具以验证连接
node scripts/run.js --list-tools
作者:KeyAPI
许可证:MIT
仓库:https://github.com/EchoSell/keyapi-skills
分析场景
根据研究目标选择一个或多个节点。多个节点可以组合用于跨维度分析。
| 用户需求 | 节点 | 最佳用途 |
|---|
| 按关键词、类别或地区查找网红 | searchinfluencers | 初始发现、广泛勘探 |
| 验证网红身份并解析ID |
getinfluencer
detail | ID解析(userid + unique_id)、个人资料快照 |
| 通过分析数据(互动率、GMV、粉丝数、销售额)筛选网红 | influencer
listanalytics | 基于数据从大数据集中筛选短名单 |
| 全面的多维度表现审计 | influencer
detailanalytics | 对一个或多个创作者进行深度尽职调查 |
| 分析历史增长趋势 | influencer
trendsanalytics | 增长速度、粉丝轨迹、趋势分析 |
| 查看视频内容表现历史 | influencer
videosanalytics | 内容策略对标、热门视频分析 |
| 评估直播电商历史(GMV、观看人数) | influencer
livestreamsanalytics | 直播电商能力评估 |
| 检查推广产品组合和销售情况 | influencer
productsanalytics | 品牌契合度评估、细分领域/品类对齐 |
| 按粉丝数、GMV或互动率进行竞争排名 | influencer
rankinganalytics | 排行榜分析、品类对标 |
| 获取最新发布的视频及其互动数据 | get
influencervideos | 近期内容监控、新鲜度检查 |
| 抽样网红的粉丝列表 | get
influencerfollowers | 受众质量抽样 |
| 探索网红关注的账号 | get
influencerfollowing | 网络和亲和力分析 |
| 受众分布的地理细分 | get
influencerregion | 区域营销活动的地理定位契合度 |
| 生成可分享的个人资料二维码 | get
influencerqr_code | 营销素材资产 |
| 关键里程碑和成就历史 | get
influencermilestones | 增长故事讲述、历史亮点 |
作者:KeyAPI
许可证:MIT
仓库:https://github.com/EchoSell/keyapi-skills
工作流
第1步 — 确定分析目标并选择节点
明确用户目标,并将其映射到上表中的一个或多个节点。典型入口点:
- - 关键词发现:从searchinfluencers开始,然后可选地使用influencerlistanalytics进行更丰富的筛选。
- 直接个人资料查找:使用已知的uniqueid(@用户名)调用getinfluencerdetail。
- 表现深度挖掘:组合使用influencerdetailanalytics + influencertrendsanalytics + influencervideosanalytics。
- 直播电商评估:使用influencerlivestreamsanalytics + influencerproductsanalytics。
- 竞争排名:使用influencerrankinganalytics并设置适当的品类/地区筛选条件。
⚠️ 关键:解析userid与uniqueid
各端点使用两种不同的标识符类型:
- - uniqueid — 用户的公开@用户名(例如charlidamelio)。用户可见,可更改。
- userid — TikTok分配给每个账户的永久、不可变的数字UID。
当工作流需要接受不同标识符类型的节点时,务必先调用getinfluencerdetail,使用unique_id获取两个标识符,然后再继续。
第2步 — 获取API模式
在调用任何节点之前,检查其输入模式以确认所需参数、数据类型和有效枚举值:
bash
node scripts/run.js --schema <工具名称>
示例
node scripts/run.js --schema influencer
listanalytics
对于分析节点,请特别注意筛选参数(地区、品类、日期范围、粉丝数范围等),并确认预期的pagenum/pagesize字段。
第3步 — 调用API并在本地缓存结果
执行所需的工具调用,并将所有响应持久化到本地缓存中,以便跨会话重用结果,避免重复的API调用。
调用工具(使用scripts/run.js):
bash
单页调用 — 结果自动缓存
node scripts/run.js --tool <工具名称> --params
--pretty
一次获取所有页面(自动分页)
node scripts/run.js --tool <工具名称> --params --all-pages --page-size 50
强制重新调用,跳过缓存
node scripts/run.js --tool <工具名称> --params --no-cache
示例 — 搜索网红:
bash
node scripts/run.js --tool search_influencers \
--params {keyword:fitness,region:US} --pretty
示例 — 使用分析数据筛选网红(所有页面):
bash
node scripts/run.js --tool influencerlistanalytics \
--params {region:US,influencercategoryname:Fitness} --all-pages
示例 — 获取网红的最新视频(基于游标):
bash
第一页:offset=0
node scripts/run.js --tool getinfluencervideos \
--params {unique_id:charlidamelio,offset:0} --pretty
下一页:使用上一响应中的max_cursor值作为offset
分析端点的分页:
所有*analytics端点使用pagenum(从1开始)和page_size(最大10)。如果未指定,run.js会自动注入这些参数。使用--all-pages让run.js遍历所有页面并合并结果。
--page-num 1 --page-size 10 → 第一页(默认)
--all-pages → 所有页面合并为一个结果
注意: getinfluencervideos、getinfluencerfollowers、getinfluencerfollowing使用基于游标的分页,通过offset参数实现 — 而不是pagenum/pagesize。传入offset:0开始,然后使用响应中的maxcursor(或mintime)值作为下一个offset。
缓存目录结构:
.keyapi-cache/
└── influencers/
└── {unique_id}/
├── detail.json # getinfluencerdetail
├── analytics.json # influencerdetailanalytics
├── trends.json # influencertrendsanalytics
├── videosanalytics.json # influencervideos_analytics
├── livestreamsanalytics.json # influencerlivestreams_analytics