Skip to main content
Two endpoints, one key. Post reads one public video or photo post. Profile reads one public account. Both read the page TikTok serves a signed-out visitor, which carries no video list or comments, so neither is returned. See the TikTok API: overview, pricing, and free tier.

Post

GET /v1/tiktok/video · 1 request
Share links (vm.tiktok.com, tiktok.com/t/) hide the post id and return 400: open one and pass the address it lands on. query.video_id is the id, even when you sent a link.

Profile

GET /v1/tiktok/profile · 1 request
The body is profile: user_id, sec_uid (TikTok’s other account id), username, nickname, url, bio, bio_link, avatar, verified, private, organization, language, created_at, and exact followers_count, following_count, likes_count (likes on all its posts), and videos_count.

Errors

A post that is gone or never existed, and an account that is gone, banned, or never existed, return 404 not_found. A video_id that is not a post id or post link, a share link, or a malformed username is 400. Any other status TikTok answers with fails as 502 scrape_failed, with TikTok’s status in the message.

What this API does not do

  • It does not list an account’s videos, or return comments or search results.
  • It does not read anything that needs a signed-in TikTok account.
  • It does not download videos.
Auth, plans, rate limits, and error codes: Authentication.