Skip to Content

TikTok API

TikTok video metadata, user profiles, and category browsing.

  • Returns up to 50 videos per request
  • Video download URLs expire quickly
  • Omit the category parameter on /tiktok/categories to get trending videos
  • Fast endpoints (/videos/:id, /users/:username): 2–5 seconds

Videos

GET /tiktok/videos/:videoId — 4 credits

Get TikTok video metadata by video ID.

ParamTypeRequiredDefaultDescription
videoIdstringYesTikTok video ID
curl -H "x-api-key: sk_byc_xxx" \ https://api.bycrawl.com/tiktok/videos/7234567890123456789

Response

{ "id": "7614295022346784030", "url": "https://www.tiktok.com/@tiktok/video/7614295022346784030", "title": "#filmtok LOCK IN, we caught up with your faves...", "description": "#filmtok LOCK IN, we caught up with your faves...", "author": "tiktok", "authorId": "107955", "duration": 88, "views": 72400, "likes": 2346, "comments": 538, "shares": 222, "saves": 192, "createdAt": "2026-03-06T23:53:48.000Z", "thumbnail": "https://...", "music": "original sound" }

Users

GET /tiktok/users/:username — 2 credits

Get TikTok user info and recent videos.

ParamTypeRequiredDefaultDescription
usernamestringYesTikTok username
countintegerNo30Number of recent videos (max 50)
curl -H "x-api-key: sk_byc_xxx" \ https://api.bycrawl.com/tiktok/users/cooluser

Response

{ "username": "tiktok", "displayName": "TikTok", "verified": true, "avatarUrl": "https://...", "bio": "One TikTok can make a big impact", "followers": 93144898, "following": 3, "hearts": 455040412, "videoCount": 1412, "videos": [ { "id": "7614295022346784030", "url": "https://www.tiktok.com/@tiktok/video/7614295022346784030", "title": "#filmtok LOCK IN, we caught up with your faves...", "description": "#filmtok LOCK IN, we caught up with your faves...", "author": "tiktok", "authorId": "107955", "duration": 88, "views": 72400, "likes": 2344, "comments": 538, "shares": 222, "saves": 192, "createdAt": "2026-03-06T23:53:48+00:00", "thumbnail": "", "music": "original sound" } // ... more videos ] }

GET /tiktok/users/:username/videos — 2 credits

Get TikTok user’s video list.

Note: This endpoint typically takes 5–15 seconds. Use a timeout of at least 30s.

ParamTypeRequiredDefaultDescription
usernamestringYesTikTok username
countintegerNo30Number of videos (max 50)
curl -H "x-api-key: sk_byc_xxx" \ "https://api.bycrawl.com/tiktok/users/cooluser/videos?count=10"

Response

{ "username": "tiktok", "displayName": "tiktok", "videos": [ { "id": "7614295022346784030", "url": "https://www.tiktok.com/@tiktok/video/7614295022346784030", "title": "#filmtok LOCK IN, we caught up with your faves...", "description": "#filmtok LOCK IN, we caught up with your faves...", "author": "tiktok", "authorId": "107955", "duration": 88, "views": 72400, "likes": 2344, "comments": 538, "shares": 222, "saves": 192, "createdAt": "2026-03-06T23:53:48+00:00", "thumbnail": "", "music": "original sound" } // ... more videos ] }

Comments

GET /tiktok/videos/:videoId/comments — 90 credits

Get comments for a TikTok video.

Note: This endpoint uses browser automation and typically takes 20–40 seconds. Use a timeout of at least 60s.

ParamTypeRequiredDefaultDescription
videoIdstringYesTikTok video ID
cursorstringNoPagination cursor from previous response
curl -H "x-api-key: sk_byc_xxx" \ https://api.bycrawl.com/tiktok/videos/7234567890123456789/comments

Response

{ "videoId": "7614295022346784030", "commentCount": 538, "comments": [ { "id": "7614301234567890001", "text": "This is amazing!", "likes": 120, "author": "filmfan42", "authorAvatar": "https://...", "createdAt": "2026-03-07T01:15:00+00:00", "replyCount": 5 } // ... more comments ], "cursor": "50", "hasMore": true }

GET /tiktok/videos/search — 4 credits

Search TikTok videos by keyword.

Note: This endpoint uses browser automation and typically takes 20–40 seconds. Use a timeout of at least 60s.

ParamTypeRequiredDefaultDescription
qstringYesSearch keyword
countintegerNo20Number of results (max 30)
curl -H "x-api-key: sk_byc_xxx" \ "https://api.bycrawl.com/tiktok/videos/search?q=cooking&count=10"

Response

{ "keyword": "cooking", "videos": [ { "id": "7608955538445045014", "url": "https://www.tiktok.com/@courtneys_bites/video/7608955538445045014", "title": "Crispy Japanese long fries! the crisp is perfec...", "description": "Crispy Japanese long fries! the crisp is perfec...", "author": "courtneys_bites", "authorId": "6801555983929328646", "duration": 60, "views": 1300000, "likes": 45800, "comments": 165, "shares": 11100, "saves": 21900, "createdAt": "2026-02-20T14:33:41+00:00", "thumbnail": "https://...", "music": "Storytelling" } // ... more videos ] }

Subtitles

GET /tiktok/videos/:videoId/subtitles — 4 credits

Get subtitles/captions for a TikTok video. Returns WebVTT-parsed segments with timestamps and full text. Supports 40+ languages.

ParamTypeRequiredDefaultDescription
videoIdstringYesTikTok video ID
languagestringNoenSubtitle language code (e.g. en, ja, ko, zh-Hans)
curl -H "x-api-key: sk_byc_xxx" \ "https://api.bycrawl.com/tiktok/videos/7234567890123456789/subtitles?language=en"

Response

{ "videoId": "7614295022346784030", "title": "#filmtok LOCK IN, we caught up with your faves...", "language": "en", "isAutoGenerated": true, "availableLanguages": ["zh-Hans", "vi", "en", "ja", "ko", "fr", "de", "es"], "segments": [ { "start": 0.14, "end": 1.86, "text": "Ethan Hawke is standing right behind me." }, { "start": 1.861, "end": 3.621, "text": "He's like my obsession, you know," } // ... more segments ], "fullText": "Ethan Hawke is standing right behind me. He's like my obsession, you know, in a normal way, not in a creepy way..." }

Categories

GET /tiktok/categories — 210 credits

Browse TikTok videos by category.

Note: This endpoint uses browser automation and typically takes 20–40 seconds. Use a timeout of at least 60s.

ParamTypeRequiredDefaultDescription
categorystringNoCategory name (e.g. Food, Dance, Comedy). Omit for trending.
countintegerNo30Number of videos (max 50)
curl -H "x-api-key: sk_byc_xxx" \ "https://api.bycrawl.com/tiktok/categories?category=Food&count=10"

Response

{ "category": "Food", "videos": [ { "id": "7609855487655283982", "url": "https://www.tiktok.com/@tacobella420/video/7609855487655283982", "title": "actually played just dance after this hehe #munc...", "description": "actually played just dance after this hehe #munc...", "author": "tacobella420", "authorId": "7457324121388581931", "duration": 12, "views": 10400000, "likes": 1200000, "comments": 10400, "shares": 160400, "saves": 43784, "createdAt": "2026-02-23T00:46:15+00:00", "thumbnail": "https://...", "music": "tranloptruon" } // ... more videos ] }