TikTok comments API
Pass a public TikTok video URL and get top-level comments with text, likes, reply counts, and authors — same Social Fetch envelope as profile and transcript routes.
GET /v1/tiktok/videos/comments1 credit Failed requests are free
About this endpoint
GET /v1/tiktok/videos/comments takes a required url query param (standard /@user/video/… links or vm.tiktok.com short links). Optional cursor pages further; optional trim=true returns a smaller payload when you only need text and ids. On a found lookup, read data.comments and data.page. Each top-level row can include id, text, createdAt, likes, replyCount, language, and an author object (handle, displayName, avatarUrl, optional platformUserId / secUid). Branch on data.lookupStatus (found or not_found) before you write rows.
Pagination is cursor-based with a variable page size — there is no fixed comments-per-page count. When data.page.hasMore is true, pass data.page.nextCursor as cursor on the next request. Do not loop on totalComments alone; that total may not match how many rows you can paginate. Cost is 1 credit per successful page; confirm with meta.creditsCharged. Nested replies are a separate route: GET /v1/tiktok/videos/comments/replies with the parent commentId plus the same video url.
TikTok comments API FAQ
How do I list TikTok video comments via API?
Call GET /v1/tiktok/videos/comments with your Social Fetch API key (x-api-key) and a public video url query param. Read data.lookupStatus, then data.comments and data.page. See the API docs for parameters and examples.
How much does the TikTok comments endpoint cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth. Each paginated page is a separate billed request.
How does pagination work on TikTok video comments?
Each response includes data.page.nextCursor and data.page.hasMore. When hasMore is true, pass nextCursor as the cursor query param on the next request. Page size is not fixed — do not assume a constant number of comments per page or stop based on totalComments alone.
What fields are in each TikTok comment?
Top-level rows can include id, text, createdAt, likes, replyCount, language, and author (handle, displayName, avatarUrl, optional platformUserId and secUid). Always branch on data.lookupStatus before treating comments as present.
How do I get replies to a TikTok comment?
Use GET /v1/tiktok/videos/comments/replies with commentId from a row in this list response plus the same video url. Top-level listing and reply threads are separate operations, each billed on its own.
What does data.lookupStatus mean on TikTok comments?
found means the video resolved and the comments page (which may be empty) is valid. not_found means the video could not be resolved; comments is empty and totalComments is null. HTTP 200 alone does not mean you have a thread to store.
What URL formats does the TikTok comments API accept?
Public TikTok video URLs, including /@user/video/… links and vm.tiktok.com short links. Pass one url per request.
Do I need TikTok OAuth to read video comments?
No. You authenticate to Social Fetch with an API key. The route reads public comment data; it does not act on behalf of a logged-in TikTok user.
Other TikTok endpoints
- ProfileGET /v1/tiktok/profiles/{handle}
- Profile videosGET /v1/tiktok/profiles/{handle}/videos
- Profile followersGET /v1/tiktok/profiles/{handle}/followers
- Profile followingGET /v1/tiktok/profiles/{handle}/following
- Profile regionGET /v1/tiktok/profiles/{handle}/region
- Profile audienceGET /v1/tiktok/profiles/{handle}/audience
- Profile engagementGET /v1/tiktok/profiles/{handle}/engagement
- Live streamGET /v1/tiktok/profiles/{handle}/live