# vm.tiktok.com 短链接怎么拿到视频 ID 和数据？

> 一次调用把 vm.tiktok.com、vt.tiktok.com 短链转成 TikTok 视频 ID、完整链接和数据；为什么自己跟随跳转在服务器上容易失败，以及费用。

网页版：https://okdata.online/zh/answers/tiktok-short-link-video-id/

**简短回答：**把短链作为 url 传给 TikTok 视频详情接口（/v1/tiktok/videos/get）。vm.tiktok.com 和 vt.tiktok.com 短链会自动解析，返回数字视频 ID、完整链接、文案、作者和各项数据，每个链接 $0.002。500 个链接共 $1.00。

达人用手机填你的投放回传表，交上来的链接大多长这样：`https://vm.tiktok.com/ZMhvqjqjq/`。做报表需要视频 ID，而且要存进数据库，不能每次都靠跳转去找。最直接的想法是自己跟随跳转。在笔记本上一般能成功；放到服务器上，TikTok 经常给跳转请求返回登录页、地区页或者人机验证，正则一个 ID 也匹配不到。

## 一次调用搞定

[TikTok 视频详情](/zh/apis/tiktok/videos/get/)接受短链作为 `url` 参数，解析的事交给接口：

```bash
curl -s -G "https://api.okdata.online/v1/tiktok/videos/get" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode "url=https://vm.tiktok.com/ZMhvqjqjq/" \
  -d fields=id,url,text,published_at,author.username,metrics
```

返回里的 `data.item.id` 就是视频 ID，`data.item.url` 是标准的 `tiktok.com/@用户名/video/…` 地址。播放、点赞、评论、分享、收藏也一起返回，报表要的数一次就齐了。

## 支持的链接格式

| 链接类型 | 示例 |
|---|---|
| 分享按钮生成的短链 | `https://vm.tiktok.com/…` 或 `https://vt.tiktok.com/…` |
| 完整视频链接 | `https://www.tiktok.com/@user/video/7305085486984858894` |
| 图文帖 | `https://www.tiktok.com/@user/photo/…` |
| 手机网页版 | `https://m.tiktok.com/…/video/…` |

完整链接在本地直接解析，后面带着 `?is_from_webapp=1` 这类追踪参数也没关系。

## 费用

| 链接数 | 调用次数 | 费用 |
|---|---|---|
| 1 | 1 | $0.002 |
| 500 | 500 | $1.00 |

指向已删除或不可见视频的链接返回 `not_found`，格式不对的链接返回 `invalid_params`，都不扣费。循环里可能重试的话，每个链接带一个 `Idempotency-Key`，24 小时内重复请求会直接返回存好的结果，不再收费。

## ID 一定存成文本

TikTok 视频 ID 有 19 位。JavaScript 的数字超过 16 位就会丢精度，Excel 会显示成科学计数法，后几位直接变成 0。所有地方都按字符串存，今天存下的 ID 下个月拿去调 [TikTok 视频评论](/zh/apis/tiktok/videos/comments/list/)照样能用。

## 什么时候用不着它

- 只要 ID，而且你在自己的运行环境里跟随跳转一直成功，那就继续用，零成本。失败的时候再退回到接口。
- TikTok 公开的 oEmbed 接口传入视频链接，会返回嵌入代码、标题、作者和封面图，做个预览够用，但没有播放点赞这些数据。
- 只有几个链接，用浏览器打开、复制地址栏也完全可以。

所有错误码以及哪些值得重试，见[错误说明](/zh/docs/errors/)。要长期跟踪同一批视频，参考[竞品监测方案](/zh/solutions/competitor-monitoring/)。

## 用到的接口

- [TikTok 视频详情](https://okdata.online/zh/apis/tiktok/videos/get/) `tiktok.videos.get`：$0.002/次

更新于 2026-11-12
