TikTok API

TikTok 搜索话题标签 API

按话题标签搜索 TikTok,以标准化 JSON 获取匹配的视频(文案、播放量、点赞数、评论数、分享数)。

US$1.20/千次请求,按请求付费,无需订阅。

#recipe | TikTok
tiktok.com/tag/recipe
Log in
#

#recipe

Show us your perfect #recipe.
4.8M

5 minute garlic butter shrimp, no cap this is the easiest weeknight dinner #recipe

API 返回的内容videos[0]
{
"id": "7483012938467123901",
"caption": "5 minute garlic butter shrimp, no cap this is the easiest weeknight dinner #recipe",
"author": "marcochef",
"views": 4820000,
"likes": 612000,
"comments": 8420,
"shares": 31200,
"createdUtc": 1758844800,
... 还有 14 个字段
}
可用率
100.00%
30d · 9,087 次调用
请求数
9,087
30d · 按周,近 12 周
响应时间
4.3s
中位数 · 30d

价格与服务商

TikTok 搜索话题标签 API 价格:一个 API,2 个可互换的服务商

最便宜的服务商优先响应。如果它失败,下一个会在同一次调用中接手。

你需支付
US$12.00
US$1.20/千次请求,只为实际用量付费。没有月度套餐。
有了 US$0.10 的初始余额,你的前 83 次请求免费。

试一试

一个请求获取 TikTok 搜索话题标签

requireFieldsarray
Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `soundTitle` or `locationName`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a video that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. On a paginated walk it applies to the first page only; later pages stay with the source that page chose, at the price it was quoted.
打开于
获取免费密钥
示例响应
免费运行只返回前 3 条结果。为密钥充值即可获得完整响应。

这个示例展示了 27 个字段中的 21 个。查看全部字段

{
  "found": true,
  "data": {
    "nextCursor": "MTc1ODkzMTIwMA",
    "videos": [
      {
        "id": "7483012938467123901",
        "caption": "5 minute garlic butter shrimp, no cap this is the easiest weeknight dinner #recipe",
        "author": "marcochef",
        "views": 4820000,
        "likes": 612000,
        "comments": 8420,
        "shares": 31200,
        "createdUtc": 1758844800,
        "url": "https://www.tiktok.com/@marcochef/video/7483012938467123901",
        "image": "https://p16-sign-va.tiktokcdn.com/tos-maliva-p-0068/recipe-hero-clean~tplv-obj.jpeg?x-signature=Kq3fN1p",
        "videoUrl": "https://v16-webapp.tiktok.com/8f2a1c9e0b3d4e5f6a7b8c9d0e1f2a3b/tiktok/video.mp4?x-expires=1759344000&x-signature=Kq3fN1p",
        "durationSeconds": 42,
        "saves": 94300,
        "authorName": "Marco Delgado",
        "authorUserId": "6801238450918273920",
        "authorImage": "https://p16-sign-va.tiktokcdn.com/tos-useast5-avt-0068/marcochef-avatar~tplv-obj.jpeg?x-signature=Rf8pQ2m",
        "authorVerified": false
      },
      {
        "id": "7482977213904456782",
        "caption": "one pan chicken and rice that tastes like your grandma made it #recipe",
        "author": "sundaykitchen",
        "views": 1930000,
        "likes": 248000,
        "comments": 3110,
        "shares": 9800,
        "createdUtc": 1758758400,
        "url": "https://www.tiktok.com/@sundaykitchen/video/7482977213904456782",
        "image": "https://p16-sign-va.tiktokcdn.com/tos-maliva-p-0068/recipe-second-clean~tplv-obj.jpeg?x-signature=Lm4hR2v",
        "durationSeconds": 58,
        "saves": 41200,
        "authorName": "Priya Anand",
        "authorUserId": "6712398450918204561",
        "authorImage": "https://p16-sign-va.tiktokcdn.com/tos-useast5-avt-0068/sundaykitchen-avatar~tplv-obj.jpeg?x-signature=Tg9wE3n",
        "authorVerified": true
      },
      {
        "id": "7482801122938467892",
        "caption": "budget meal prep for the week, $22 total #recipe #mealprep",
        "author": "budgetbites",
        "views": 862000,
        "likes": 91400,
        "comments": 1560,
        "shares": 4200,
        "createdUtc": 1758672000,
        "url": "https://www.tiktok.com/@budgetbites/video/7482801122938467892",
        "image": "https://p16-sign-va.tiktokcdn.com/tos-maliva-p-0068/recipe-third-clean~tplv-obj.jpeg?x-signature=Xp2qZ8k",
        "durationSeconds": 71,
        "saves": 18700,
        "authorName": "Jasmine Cole",
        "authorUserId": "6623409851029384712",
        "authorImage": "https://p16-sign-va.tiktokcdn.com/tos-useast5-avt-0068/budgetbites-avatar~tplv-obj.jpeg?x-signature=Vn7yC1s",
        "authorVerified": false
      }
    ]
  }
}

完整的参数与响应参考:这个接口的每个字段、类型和示例。

参考

一个请求,一种响应结构。

你发送的每个字段和收到的每个字段,都附有真实示例。

最近验证于 2026-11-14 · 可用率和延迟按 30d 统计

请求体

JSON,POST 到这个接口。

  • querystring

    recipe

    要搜索的话题标签或关键词(不带开头的 #)。

  • cursorstring

    上一次响应返回的分页游标。

  • requireFieldsarray

    Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `soundTitle` or `locationName`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a video that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. On a paginated walk it applies to the first page only; later pages stay with the source that page chose, at the price it was quoted.

你发送。 一个简短的 JSON 请求体。显示的值只是示例,请换成你自己的。

响应

JSON,每个字段一个示例值。

datadata
  • nextCursorstring

    MTc1ODkzMTIwMA

    Opaque cursor for the next page of videos, or null when this lane has no more. Pass it back as cursor to continue.

each videodata.videos[]

Populated whenever the provider has data for the entity.

  • authorstring

    marcochef

    Populated whenever the provider has data for the entity.

  • authorImagestring

    https://p16-sign-va.tiktokcdn.com/tos-useast5-avt-0068/marcochef-avatar~tplv-obj.jpeg?x-signature=Rf8pQ2m

    Author's avatar image URL. Signed and short-lived, so the query string is load-bearing and kept intact.

  • authorNamestring

    Marco Delgado

    Author's display name.

  • authorUserIdstring

    6801238450918273920

    Author's numeric TikTok user id.

  • authorVerifiedboolean

    false

    Whether the author's account carries a TikTok verification badge.

  • captionstring

    5 minute garlic butter shrimp, no cap this is the easiest weeknight dinner #recipe

    Populated whenever the provider has data for the entity.

  • commentsinteger

    8420

  • createdUtcnumber

    1758844800

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.

  • durationSecondsnumber

    42

    Video duration in seconds.

  • hashtagsstring[]

    Hashtags carried in the caption, without the leading #. Empty when the post uses none; @-mentions are excluded. Populated whenever the provider has data for the entity.

  • idstring

    7483012938467123901

    Populated whenever the provider has data for the entity.

  • imagestring

    https://p16-sign-va.tiktokcdn.com/tos-maliva-p-0068/recipe-hero-clean~tplv-obj.jpeg?x-signature=Kq3fN1p

    URL of the video's cover image. Signed and short-lived, so the query string is load-bearing and kept intact.

  • likesinteger

    612000

  • locationNamestring可设为必填

    Name of the place the video is tagged at, or null when it has no location tag or the serving source does not report it.

  • savesinteger

    94300

    Save count.

  • sharesinteger

    31200

  • soundAuthorstring可设为必填

    Credited author of the sound. Null when the serving source does not report it.

  • soundClipIdstring

    Id of the sound the video uses. Pass it to tiktok.song or tiktok.song_videos as clipId. Populated whenever the provider has data for the entity.

  • soundTitlestring可设为必填

    Name of the sound. "original sound" means the creator's own audio rather than a licensed track. Null when the serving source does not report it.

  • urlstring

    https://www.tiktok.com/@marcochef/video/7483012938467123901

    Canonical TikTok URL of the video.

  • videoUrlstring

    https://v16-webapp.tiktok.com/8f2a1c9e0b3d4e5f6a7b8c9d0e1f2a3b/tiktok/video.mp4?x-expires=1759344000&x-signature=Kq3fN1p

    Playable video URL. Signed and short-lived, so the query string is load-bearing and kept intact.

  • viewsinteger

    4820000

top level
  • foundboolean

    true

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

你收到。 字段有名称、有类型,无论哪个数据源响应,结构都一样。

常见问题

关于 TikTok 搜索话题标签 API

AnyAPI 的 TikTok 搜索话题标签 API 只需一次 POST 请求 /v1/run/tiktok.search_hashtag,就以统一格式的 JSON 返回 TikTok 数据。按话题标签搜索 TikTok,以标准化 JSON 获取匹配的视频(文案、播放量、点赞数、评论数、分享数)。AnyAPI 会在 2 个数据源之间路由每个请求,某个数据源失败时自动切换。费用:每千次请求 US$1.20 起,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 TikTok 搜索话题标签 API 调用中有 100.0% 成功,响应时间中位数为 4.3 秒,共测量 9,087 次调用。

费用:每千次请求 US$1.20 起,以美元计价,无需订阅,也没有每月最低消费。你只需为一个美元钱包充值,每次调用从中扣费。部分由钱包付费的失败请求会产生处理费用,我们按成本原价转嫁,不加价;错误响应会显示收取的金额。

按话题标签搜索 TikTok,以标准化 JSON 获取匹配的视频(文案、播放量、点赞数、评论数、分享数)。响应是统一格式的 JSON,外层结构与每个 AnyAPI 接口相同,所以解析另一个接口只需换一个 URL,别的都不用改。

过去 30 天,通过 AnyAPI 发起的 TikTok 搜索话题标签 API 调用中有 100.0% 成功,响应时间中位数为 4.3 秒,共测量 9,087 次调用。这些是 AnyAPI 对经过网关的流量的自有测量,持续重新计算,并非公开承诺的服务等级目标。

可以。新的 AnyAPI 账户自带 US$0.10 免费余额,无需绑卡,足够调用 83 次 TikTok 搜索话题标签,每次 US$0.0012。

AnyAPI 会在同一个请求中依次尝试它的 2 个数据源,从最便宜的开始,所以一个数据源宕机不会让你的调用失败。

向 https://api.getanyapi.com/v1/run/tiktok.search_hashtag 发送 POST 请求,在 “Authorization: Bearer” 请求头中放入你的 AnyAPI 密钥,并以 JSON 请求体传入参数。同一个密钥和同一个钱包适用于所有 AnyAPI 接口。

不需要。你向一个预付费的 AnyAPI 余额充值美元,每个请求从中扣费。没有月度套餐,也没有最低消费,同一个余额可用于所有 AnyAPI 接口。

有。TypeScript 用 npm 安装 @getanyapi/sdk,Python 用 pip 安装 getanyapi。两者都用同一个密钥调用所有 AnyAPI 接口,任何 HTTP 客户端也都可以。

可以。智能体可以连接 https://api.getanyapi.com/mcp 上的 AnyAPI MCP 服务器,或者向 https://api.getanyapi.com/agent/signup 发送一次无需认证的 POST 来创建自己的免费试用密钥,再通过 HTTP 调用这个接口。