mcpField
T
TikTok Trends API

TikTok Trends API

远程服务
trendsapi.ai社交媒体22 周前更新

关于 TikTok Trends API

TikTok Trends API 提供 TikTok 标签和搜索兴趣趋势的数据 API,并附带 Python 与 JavaScript/TypeScript 客户端。它支持历史序列、增长计算和实时热门榜单查询。

主要功能

  1. 01查询标签历史趋势序列
  2. 02计算多个时间窗口的增长
  3. 03获取实时热门标签与搜索
  4. 04提供同步和异步客户端
  5. 05支持分页及数据类别参数

适用场景

  1. 01追踪某个标签的兴趣变化
  2. 02比较关键词在不同周期的增长
  3. 03查看 TikTok 实时热门标签或搜索

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://tiktok.api.trendsapi.ai/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://tiktok.api.trendsapi.ai/mcp需要授权

工具

详细介绍

TikTok 话题标签热度 API

通过 TikTok Trends API 获取 TikTok 话题标签和搜索兴趣趋势。历史数据、增长情况和实时热门话题标签。

许可证:MIT PyPI Python npm

密钥:trendsapi.ai/#get-key。HTTP 契约和所有来源:trendsapi-ai/trendsapi。

身份验证

pip install trendsapi-tiktok
export TRENDSAPI_KEY=your_key

Python 3.9+。与 HTTP API 使用相同的密钥。

from trendsapi_tiktok import TrendsAPI

client = TrendsAPI()                    # TRENDSAPI_KEY
# client = TrendsAPI(api_key="YOUR_KEY")

关键词辅助方法默认使用 source: "tiktok"。传入 source=,即可通过同一客户端访问其他平台。完整官方客户端(支持所有来源,无预设):trendsapi。

方法

方法REST mode返回值
get_time_series(keyword, source=, data_mode=)get_time_serieslist[TrendsDataPoint]
get_growth(keyword, percent_growth=, source=, data_mode=)get_growthGetGrowthResponse
get_live(limit=, offset=, category=)get_top_trendsGetTopTrendsResponse
get_top_trends(type=, ...)get_top_trendsGetTopTrendsResponse

source 使用小写(tiktok)。type 必须完全匹配(TikTok Trending Hashtags)。混用会返回 400 错误。

from trendsapi_tiktok import TrendsAPI

client = TrendsAPI()                    # TRENDSAPI_KEY
# client = TrendsAPI(api_key="YOUR_KEY")

series = client.get_time_series("matcha")
print(series[-1].date, series[-1].value)

growth = client.get_growth("matcha", percent_growth=["3M", "12M"])
print(growth.results[0].growth, growth.results[0].direction)

hot = client.get_live(limit=10)
print(hot.data)                         # [[1, "..."], ...]

get_time_series

points = client.get_time_series("matcha")

每个数据点:

字段始终包含含义
date是YYYY-MM-DD
value是此序列的 0-100 指数
keyword是原样返回的关键词
volume否可用时提供绝对热度
source 或 datatype否数据管道标签

Python 返回 list[TrendsDataPoint]。使用 .date 和 .value,而不是 ["date"]。 JS 返回的字段相同,作为对象属性提供。

get_growth

g = client.get_growth("matcha", percent_growth=["12M", "3M", "YTD"])
print(g.results[0].growth, g.results[0].direction)

percent_growth 默认值:["12M"]。预设值:7D 14D 30D 1M 2M 3M 6M 9M 12M/1Y 18M 24M/2Y 36M/3Y 48M 60M/5Y MTD QTD YTD。自定义:{"name": "Launch", "recent": "2024-06-01", "baseline": "2024-01-01"}。

字段含义
search_term关键词
data_source来源
results每个时间窗口对应一个对象(period、growth、direction、日期、数值)
metadata计数 / 成功标志

多个时间窗口仍计为一次请求。Python:growth.results[0].growth。JS:growth.results[0].growth。

get_live

hot = client.get_live(limit=10)
字段含义
as_of_ts快照时间
type信息流名称
limit、offset、count分页
data[rank, label] 行

Python:hot.data。JS:hot.data。可选参数 offset= 和 category=(仅适用于 Amazon Best Sellers by Category、Top Websites)。

异步

import asyncio
from trendsapi_tiktok import AsyncTrendsAPI

async def main():
    c = AsyncTrendsAPI()
    return await asyncio.gather(
        c.get_time_series("matcha"),
        c.get_time_series("matcha", source="google search"),
    )

asyncio.run(main())

每个 200 响应计为一次付费请求。

Pandas

from dataclasses import asdict
import pandas as pd
from trendsapi_tiktok import TrendsAPI

df = pd.DataFrame(asdict(p) for p in TrendsAPI().get_time_series("matcha"))
df["date"] = pd.to_datetime(df["date"])
print(df.set_index("date")["value"].resample("ME").mean().tail())

JavaScript / TypeScript

npm install trendsapi-tiktok

适用于 Node 18+、Deno、Bun 和 Workers。使用相同的 API 密钥。以上字段表同样适用。

方法
方法REST mode返回值
getTimeSeries(keyword, { source, data_mode })get_time_series周数据点
getGrowth(keyword, { percent_growth, source, data_mode })get_growth增长对象
getLive({ limit, offset, category })get_top_trends实时信息流
getTopTrends({ type, ... })get_top_trends实时信息流
import { TrendsAPI } from "trendsapi-tiktok";

const client = new TrendsAPI({ apiKey: process.env.TRENDSAPI_KEY! });
const series = await client.getTimeSeries("matcha");
console.log(series.at(-1)?.date, series.at(-1)?.value);

const growth = await client.getGrowth("matcha", {
  percent_growth: ["3M", "12M"],
});
console.log(growth.results[0].growth, growth.results[0].direction);

const live = await client.getLive({ limit: 10 });
console.log(live.data);                 // [[1, "..."], ...]

调用(curl)

字段值
EndpointPOST https://api.trendsapi.ai/api
身份验证Authorization: Bearer $TRENDSAPI_KEY
历史数据使用 get_time_series 或 get_growth,并设置 source: tiktok
关键词话题标签或主题,例如 matcha(# 可选)
实时 typeTikTok Trending Hashtags、TikTok Trending Searches、TikTok Shop Hot Products
curl -sS -X POST https://api.trendsapi.ai/api \
  -H "Authorization: Bearer $TRENDSAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode":"get_time_series","source":"tiktok","keyword":"matcha"}'

来源说明

  • value 表示此话题标签的 0-100 数值,不是观看次数。
  • tiktok trending hashtags(大小写错误)返回 400。
  • 发布视频仍需使用 TikTok 自己的 API。此端点仅提供需求数据。

错误

HTTP客户端
200已解析的载荷。Python 数据类 / JS 类型化对象
400抛出错误。请修正 source 或 type 的拼写
401抛出错误。请检查 TRENDSAPI_KEY
404抛出错误。该关键词没有对应的时间序列。请勿重试
429抛出错误。配额不足
5xx客户端重试后抛出错误

HTTP body 字段是 JSON 字符串。SDK 会对其解码。原始 curl 必须再解析一次 body。

网站:https://trendsapi.ai/trends/tiktok-trends。

许可证

MIT。请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。