ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何通过 API 监控 TikTok 标签活动
教程

如何通过 API 监控 TikTok 标签活动

实时跟踪 TikTok 主题标签活动的表现。使用 TikTok API 监控视频数量、观看次数、参与度和顶级创作者。

获取免费API密钥API文档

TikTok 主题标签活动需要持续监控,以衡量覆盖范围、参与度和创作者参与度。一旦活动涉及数十名创作者,手动检查就变得不切实际。本教程使用 Scavio TikTok API 构建自动主题标签监控管道,用于跟踪总观看次数、新视频提交、参与度指标和表现最好的内容。每个 API 调用需要 1 个积分(0.005 美元),完整的营销活动检查需要 2-3 个积分。

前置条件

  • 已安装 Python 3.9+
  • 请求已安装库
  • 来自 scavio.dev 的 Scavio API 密钥
  • 要监控的活动主题标签

操作指南

步骤 1: 获取主题标签概述统计数据

获取您的营销活动主题标签的总体统计信息:总观看次数、总视频数和主题标签 ID。这为您提供了顶级的营销活动指标。

Python
import requests, os

API_KEY = os.environ['SCAVIO_API_KEY']
TIKTOK_URL = 'https://api.scavio.dev/api/v1/tiktok'

def get_hashtag_stats(hashtag: str) -> dict:
    resp = requests.post(f'{TIKTOK_URL}/hashtag',
        headers={'Authorization': f'Bearer {API_KEY}',
                 'Content-Type': 'application/json'},
        json={'hashtag': hashtag})
    resp.raise_for_status()
    data = resp.json().get('data', {})
    return {
        'hashtag': hashtag,
        'id': data.get('id', ''),
        'view_count': data.get('stats', {}).get('view_count', 0),
        'video_count': data.get('stats', {}).get('video_count', 0)
    }

stats = get_hashtag_stats('yourcampaign')
print(f'#{stats["hashtag"]}: {stats["view_count"]:,} views, {stats["video_count"]:,} videos')

步骤 2: 获取主题标签下的最新视频

获取使用您的活动主题标签发布的最新视频。这显示了实时活动活动和创作者参与。

Python
def get_hashtag_videos(hashtag: str, count: int = 30) -> list:
    resp = requests.post(f'{TIKTOK_URL}/hashtag/posts',
        headers={'Authorization': f'Bearer {API_KEY}',
                 'Content-Type': 'application/json'},
        json={'hashtag': hashtag, 'count': count, 'cursor': 0})
    resp.raise_for_status()
    videos = resp.json().get('data', {}).get('videos', [])
    return [{
        'id': v.get('id', ''),
        'author': v.get('author', {}).get('uniqueId', ''),
        'author_followers': v.get('author', {}).get('stats', {}).get('followerCount', 0),
        'desc': v.get('desc', ''),
        'plays': v.get('stats', {}).get('playCount', 0),
        'likes': v.get('stats', {}).get('diggCount', 0),
        'comments': v.get('stats', {}).get('commentCount', 0),
        'shares': v.get('stats', {}).get('shareCount', 0),
        'create_time': v.get('createTime', 0)
    } for v in videos]

videos = get_hashtag_videos('yourcampaign')
print(f'Found {len(videos)} recent videos')
for v in videos[:3]:
    print(f'  @{v["author"]}: {v["plays"]:,} plays, {v["likes"]:,} likes')

步骤 3: 计算活动参与度指标

计算所有营销活动视频的聚合参与度指标:总覆盖范围、平均参与率和参与度分布。

Python
import statistics

def campaign_metrics(videos: list) -> dict:
    if not videos:
        return {'total_reach': 0, 'avg_engagement': 0}
    total_plays = sum(v['plays'] for v in videos)
    total_likes = sum(v['likes'] for v in videos)
    total_comments = sum(v['comments'] for v in videos)
    total_shares = sum(v['shares'] for v in videos)
    eng_rates = [
        (v['likes'] + v['comments'] + v['shares']) / max(v['plays'], 1) * 100
        for v in videos
    ]
    unique_creators = len(set(v['author'] for v in videos))
    return {
        'total_videos': len(videos),
        'unique_creators': unique_creators,
        'total_reach': total_plays,
        'total_engagement': total_likes + total_comments + total_shares,
        'avg_engagement_rate': round(statistics.mean(eng_rates), 2),
        'median_engagement_rate': round(statistics.median(eng_rates), 2),
        'total_likes': total_likes,
        'total_comments': total_comments,
        'total_shares': total_shares
    }

metrics = campaign_metrics(videos)
for k, v in metrics.items():
    print(f'{k}: {v:,}' if isinstance(v, int) else f'{k}: {v}')

步骤 4: 确定表现最好的内容和创作者

按效果对视频和创作者进行排名,以确定最佳内容和最有价值的活动参与者。

Python
def top_performers(videos: list) -> dict:
    # Top videos by engagement
    by_engagement = sorted(videos,
        key=lambda v: v['likes'] + v['comments'] + v['shares'], reverse=True)
    # Top creators by total plays across their videos
    creator_plays = {}
    for v in videos:
        creator_plays.setdefault(v['author'], 0)
        creator_plays[v['author']] += v['plays']
    top_creators = sorted(creator_plays.items(), key=lambda x: x[1], reverse=True)
    return {
        'top_videos': [{
            'author': v['author'],
            'plays': v['plays'],
            'likes': v['likes'],
            'desc': v['desc'][:60]
        } for v in by_engagement[:5]],
        'top_creators': [{
            'username': c[0],
            'total_plays': c[1]
        } for c in top_creators[:5]]
    }

performers = top_performers(videos)
print('Top videos:')
for v in performers['top_videos']:
    print(f'  @{v["author"]}: {v["plays"]:,} plays, {v["likes"]:,} likes')
print('Top creators:')
for c in performers['top_creators']:
    print(f'  @{c["username"]}: {c["total_plays"]:,} total plays')

步骤 5: 通过历史跟踪建立日常监控

保存每日快照以跟踪活动随时间的增长情况。将今天的指标与昨天进行比较,以了解每日的进展。

Python
import json
from datetime import date

def daily_campaign_report(hashtag: str) -> dict:
    stats = get_hashtag_stats(hashtag)
    videos = get_hashtag_videos(hashtag, count=30)
    metrics = campaign_metrics(videos)
    performers = top_performers(videos)
    report = {
        'date': date.today().isoformat(),
        'hashtag': hashtag,
        'overview': stats,
        'metrics': metrics,
        'top_performers': performers,
        'credits_used': 2
    }
    # Save and compare with previous
    history_file = f'campaign_{hashtag}_history.json'
    try:
        with open(history_file) as f:
            history = json.load(f)
    except FileNotFoundError:
        history = []
    history.append(report)
    with open(history_file, 'w') as f:
        json.dump(history, f, indent=2)
    if len(history) > 1:
        prev = history[-2]
        view_delta = stats['view_count'] - prev['overview']['view_count']
        print(f'Daily growth: +{view_delta:,} views')
    print(f'Campaign #{hashtag}: {stats["view_count"]:,} total views, '
          f'{metrics["unique_creators"]} creators, {metrics["avg_engagement_rate"]}% avg engagement')
    return report

# daily_campaign_report('yourcampaign')

Python 示例

Python
import os, requests, statistics

API_KEY = os.environ['SCAVIO_API_KEY']
TT = 'https://api.scavio.dev/api/v1/tiktok'

def tiktok(endpoint, body):
    return requests.post(f'{TT}/{endpoint}',
        headers={'Authorization': f'Bearer {API_KEY}', 'Content-Type': 'application/json'},
        json=body).json()

def monitor_hashtag(hashtag):
    stats = tiktok('hashtag', {'hashtag': hashtag}).get('data', {})
    videos = tiktok('hashtag/posts', {'hashtag': hashtag, 'count': 30, 'cursor': 0})
    vids = videos.get('data', {}).get('videos', [])
    total_plays = sum(v.get('stats', {}).get('playCount', 0) for v in vids)
    creators = len(set(v.get('author', {}).get('uniqueId', '') for v in vids))
    print(f'#{hashtag}: {stats.get("stats", {}).get("view_count", 0):,} views')
    print(f'  Recent: {len(vids)} videos, {creators} creators, {total_plays:,} plays')
    print(f'  Cost: 2 credits ($0.01)')

monitor_hashtag('yourcampaign')

JavaScript 示例

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const TT = 'https://api.scavio.dev/api/v1/tiktok';

async function tiktokApi(endpoint, body) {
  const resp = await fetch(`${TT}/${endpoint}`, {
    method: 'POST',
    headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
    body: JSON.stringify(body)
  });
  return resp.json();
}

async function monitorHashtag(hashtag) {
  const stats = await tiktokApi('hashtag', { hashtag });
  const videos = await tiktokApi('hashtag/posts', { hashtag, count: 30, cursor: 0 });
  const vids = videos.data?.videos || [];
  const plays = vids.reduce((s, v) => s + (v.stats?.playCount || 0), 0);
  const creators = new Set(vids.map(v => v.author?.uniqueId)).size;
  console.log(`#${hashtag}: ${vids.length} videos, ${creators} creators, ${plays.toLocaleString()} plays`);
}

monitorHashtag('yourcampaign').catch(console.error);

预期输出

JSON
#yourcampaign: 2,450,000 views, 1,234 videos
Found 30 recent videos
  @creator1: 145,000 plays, 12,300 likes
  @creator2: 89,000 plays, 7,800 likes
  @creator3: 67,000 plays, 5,400 likes

total_videos: 30
unique_creators: 22
total_reach: 1,234,000
avg_engagement_rate: 8.45

Daily growth: +45,000 views
Cost: 2 credits ($0.01)

相关教程

  • 如何打造 TikTok 影响者评分者
  • 如何通过 API 检测 TikTok 假粉丝
  • 如何构建 TikTok UGC 采集管道

常见问题

大多数开发者在15到30分钟内完成本教程。您需要一个Scavio API密钥(免费套餐即可)和可用的Python或JavaScript环境。

已安装 Python 3.9+. 请求已安装库. 来自 scavio.dev 的 Scavio API 密钥. 要监控的活动主题标签. Scavio API密钥注册即送50个免费积分。

可以。免费套餐注册即送50个积分,完全足够完成本教程并构建一个可运行的原型解决方案。

Scavio提供原生LangChain包(langchain-scavio)、MCP服务器以及适用于任何HTTP客户端的REST API。本教程使用 the raw REST API, 但您可以根据需要适配您选择的框架。

相关资源

Best Of

最佳 TikTok 标签分析 API (2026)

Read more
Best Of

2026 年最佳无需身份验证的 TikTok 数据 API

Read more
Glossary

TikTok 非官方 API

Read more
Comparison

TikTok Proxy Scraping vs TikTok Third-Party API (Scavio, TikAPI)

Read more
Glossary

TikTok API 合规与抓取对比

Read more
Comparison

Apify TikTok Scraper vs Scavio TikTok API

Read more

开始构建

实时跟踪 TikTok 主题标签活动的表现。使用 TikTok API 监控视频数量、观看次数、参与度和顶级创作者。

获取免费API密钥阅读文档
ScavioScavio

面向AI智能体的实时搜索API。搜索所有平台,不仅仅是Google。

产品

  • 功能
  • 定价
  • 控制台
  • 联盟计划

开发者

  • 文档
  • API参考
  • 快速开始
  • MCP集成
  • Python SDK

替代方案

  • Tavily替代方案
  • SerpAPI替代方案
  • Firecrawl替代方案
  • Exa替代方案

工具

  • JSON格式化
  • cURL转代码
  • Token计数器
  • 全部工具

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策