TikTok API

TikTok 视频下载 API

获取 TikTok 视频 URL 背后的可播放媒体文件:干净的无水印 MP4、TikTok 自带保存按钮生成的带水印版本,以及封面图,并附时长和像素尺寸。图文帖子不含视频文件,这类帖子请用 tiktok.photos。

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

I gave away my private island | TikTok
tiktok.com/@mrbeast/video/7654638524729216287

@mrbeast

Follow

I gave away my private island

Share to

RepostEmbed
Save video

1080x1920 · 0:58

API 返回的内容
{
"id": "7654638524729216287",
"videoUrl": "https://v16-webapp.tiktok.com/video/tos/useast5/mrbeast-7654638524729216287-nowm/?x-signature=Nk3pQr5s",
"watermarkedUrl": "https://v16-webapp.tiktok.com/video/tos/useast5/mrbeast-7654638524729216287-wm/?x-signature=Ot6uVw8x",
"image": "https://p16-sign-va.tiktokcdn.com/tos-useast5-p-0068-tx/mrbeast-cover-7654638524729216287~tplv-obj.jpeg?x-signature=Pq9rSt2u",
"durationSeconds": 58.3,
"width": 1080,
"height": 1920,
"caption": "I gave away my private island",
... 还有 14 个字段
}
可用率
100.00%
30d · 162,808 次调用
请求数
162,866
30d · 按周,近 12 周
响应时间
1.1s
中位数 · 30d

价格与服务商

TikTok 视频下载 API 价格:一个 API,3 个可互换的服务商

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

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

试一试

一个请求获取 TikTok 视频下载

requireFieldsarray
可选;省略时路由不变,由最便宜的数据源处理。列出本次请求必须能返回的输出字段,例如 `height` 或 `width`,请求就只会由能返回全部这些字段的数据源处理。未列出的字段,只要处理请求的数据源有,仍会照常返回。这可能提高你的价格:最便宜的数据源无法返回某个列出的字段时,会改由更贵的数据源处理,并按它的价格报价和扣费。如果某个视频确实没有某个列出的字段,该字段仍可能缺失。如果列出的字段组合没有任何单一数据源能同时返回,请求会作为无效输入被拒绝,不扣费。
打开于
获取免费密钥
示例响应
免费运行只返回前 3 条结果。为密钥充值即可获得完整响应。

这个示例展示了 25 个字段中的 16 个。查看全部字段

{
  "found": true,
  "data": {
    "id": "7654638524729216287",
    "videoUrl": "https://v16-webapp.tiktok.com/video/tos/useast5/mrbeast-7654638524729216287-nowm/?x-signature=Nk3pQr5s",
    "watermarkedUrl": "https://v16-webapp.tiktok.com/video/tos/useast5/mrbeast-7654638524729216287-wm/?x-signature=Ot6uVw8x",
    "image": "https://p16-sign-va.tiktokcdn.com/tos-useast5-p-0068-tx/mrbeast-cover-7654638524729216287~tplv-obj.jpeg?x-signature=Pq9rSt2u",
    "durationSeconds": 58.3,
    "width": 1080,
    "height": 1920,
    "caption": "I gave away my private island",
    "url": "https://www.tiktok.com/@mrbeast/video/7654638524729216287",
    "createdUtc": 1758758400,
    "region": "US",
    "authorHandle": "mrbeast",
    "authorName": "MrBeast",
    "authorUserId": "6759339930298942501"
  }
}

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

参考

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

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

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

请求体

JSON,POST 到这个接口。

  • urlstring

    https://www.tiktok.com/@mrbeast/video/7654638524729216287

    TikTok 视频的完整 URL。分享链接和带跟踪参数的 URL 都可以。

  • requireFieldsarray

    可选;省略时路由不变,由最便宜的数据源处理。列出本次请求必须能返回的输出字段,例如 `height` 或 `width`,请求就只会由能返回全部这些字段的数据源处理。未列出的字段,只要处理请求的数据源有,仍会照常返回。这可能提高你的价格:最便宜的数据源无法返回某个列出的字段时,会改由更贵的数据源处理,并按它的价格报价和扣费。如果某个视频确实没有某个列出的字段,该字段仍可能缺失。如果列出的字段组合没有任何单一数据源能同时返回,请求会作为无效输入被拒绝,不扣费。

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

响应

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

datadata
  • authorFollowersinteger可设为必填

    The author's follower count at the time of the request. Null when the serving source does not report it.

  • authorHandlestring

    mrbeast

    Author's TikTok handle, without the leading @.

  • authorImagestring

    Author's avatar image URL. Signed and short-lived, so the query string is load-bearing and kept intact. Populated whenever the provider has data for the entity.

  • authorNamestring

    MrBeast

    Author's display name.

  • authorUserIdstring

    6759339930298942501

    Author's numeric TikTok user id.

  • authorVerifiedboolean可设为必填

    Whether the author's account carries a TikTok verification badge. Null when the serving source does not report it.

  • captionstring

    I gave away my private island

    Post caption.

  • createdUtcnumber

    1758758400

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

  • durationSecondsnumber

    58.3

    Length of the video in seconds.

  • hashtagsstring[]

    Hashtags carried in the caption, without the leading #. Empty when the post uses none; @-mentions are excluded.

  • heightinteger可设为必填

    1920

    Pixel height of the file in videoUrl.

  • idstring

    7654638524729216287

    TikTok video id. Populated whenever the provider has data for the entity.

  • imagestring

    https://p16-sign-va.tiktokcdn.com/tos-useast5-p-0068-tx/mrbeast-cover-7654638524729216287~tplv-obj.jpeg?x-signature=Pq9rSt2u

    Cover image for the video. A signed, short-lived TikTok CDN URL, often served as HEIC rather than JPEG, so fetch it promptly and transcode if you need broad browser support.

  • regionstring

    US

    Two-letter region code the video was published from.

  • sdVideoUrlstring

    Standard-resolution H.264 MP4 without the watermark (often 720p), playable in every browser; the same file as videoUrl when the source has no higher-resolution file. Signed and short-lived on the same terms as videoUrl.

  • soundAuthorstring

    Credited author of the sound. Populated whenever the provider has data for the entity.

  • 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. Some sources answer in another language ("原声" for original sound). Populated whenever the provider has data for the entity.

  • urlstring

    https://www.tiktok.com/@mrbeast/video/7654638524729216287

    Canonical TikTok URL of the video.

  • videoUrlstring

    https://v16-webapp.tiktok.com/video/tos/useast5/mrbeast-7654638524729216287-nowm/?x-signature=Nk3pQr5s

    Direct MP4 without the TikTok watermark or handle overlay, at the highest resolution the source has: often 1080p and often encoded as H.265 (HEVC), which some browsers such as Firefox cannot play; use sdVideoUrl for those. A signed, short-lived TikTok CDN URL, so fetch it promptly; the query params are the signature and must be kept intact. Send no cookies with the request - a tt_chain_token cookie makes the CDN answer 403. Still returned when the creator has turned off downloads: it is then the clean file TikTok streams for playback. Populated whenever the provider has data for the entity.

  • watermarkedUrlstring

    https://v16-webapp.tiktok.com/video/tos/useast5/mrbeast-7654638524729216287-wm/?x-signature=Ot6uVw8x

    Direct MP4 carrying TikTok's watermark and the creator's handle, the same file TikTok's own save button produces. Signed and short-lived on the same terms as videoUrl. Absent when the creator has turned off downloads, because TikTok then publishes no watermarked file.

  • widthinteger可设为必填

    1080

    Pixel width of the file in videoUrl.

top level
  • foundboolean

    true

    False when the post has no downloadable video file: a deleted or private video, or a photo-mode post (use tiktok.photos for those).

  • 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.video_download,就以统一格式的 JSON 返回 TikTok 数据。获取 TikTok 视频 URL 背后的可播放媒体文件:干净的无水印 MP4、TikTok 自带保存按钮生成的带水印版本,以及封面图,并附时长和像素尺寸。图文帖子不含视频文件,这类帖子请用 tiktok.photos。AnyAPI 会在 3 个数据源之间路由每个请求,某个数据源失败时自动切换。费用:每千次请求 US$0.80 起,以美元计价,无需订阅,也没有每月最低消费。过去 30 天,通过 AnyAPI 发起的 TikTok 视频下载 API 调用中有 100.0% 成功,响应时间中位数为 1.1 秒,共测量 162,808 次调用。

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

获取 TikTok 视频 URL 背后的可播放媒体文件:干净的无水印 MP4、TikTok 自带保存按钮生成的带水印版本,以及封面图,并附时长和像素尺寸。图文帖子不含视频文件,这类帖子请用 tiktok.photos。响应是统一格式的 JSON,外层结构与每个 AnyAPI 接口相同,所以解析另一个接口只需换一个 URL,别的都不用改。

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

可以。新的 AnyAPI 账户自带 US$0.10 免费余额,无需绑卡,足够调用 125 次 TikTok 视频下载,每次 US$0.0008。

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

向 https://api.getanyapi.com/v1/run/tiktok.video_download 发送 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 调用这个接口。