comment.received events, and returns profile counts. A creator connection uses TikTok’s Content Posting API instead, and has no comments or mentions. SocialAPI’s own TikTok app connects the account, so you register nothing: see Platform apps.
At a glance
Capabilities
An unsupported call returns501 resource.not_supported. This table is for the default connection. A creator connection has its own table.
The cross-platform matrix is on Platforms.
Connect an account
Connect withPOST /v1/accounts/connect and "platform": "tiktok". The shared flow, request fields, and result are in Connect accounts, and the redirect parameters are in Redirect parameters.
- Consent screen. The person always sees TikTok’s consent screen, including when they authorized SocialAPI’s app before.
- Account ID. The connected account has an
acc_ID. Itsnameis the TikTok display name,usernameis the TikTok handle, andbiois the profile bio. Profile counts are not on the account: read them with Account summary. - Account type. Listing mentions needs a TikTok Business Account: see Mentions.
- Connection type.
metadata.connection_typeis"business"(the default) or"creator": see Creator connection. Withoutconnection_typethe connect uses"business". Any other value, including an empty string or a non-string, returns400 validation.connection_type_invalid. - Reconnect. Reconnect with the same flow: see Reconnect an account.
- Accounts connected before 2026-10-13. Comment and mention calls on them return
501 resource.not_supporteduntil you reconnect them.
When TikTok authorization ends
This section covers the default connection. A creator connection is removed when the person removes SocialAPI’s app. The authorization ends when the person removes SocialAPI’s app in TikTok’s settings, or when TikTok refuses to renew it. TikTok sends SocialAPI no notice of a removal, so SocialAPI learns it from the next call that reaches TikTok.- First call. It returns
401 platform.tiktok.auth. - Later calls. They return
403 account.reconnection_requireduntil you reconnect the account. 401 platform.tiktok.unauthorized. TikTok refused one call as unauthorized without saying the authorization is invalid. The account stays usable. Reconnect it if the error repeats.account.disconnectedevent. When SocialAPI’s own refresh of the account’s videos meets the ended authorization before one of your calls does, it sendsaccount.disconnectedwithreconnect_required: trueandreason: "posts_sync_auth_failed". A removal in TikTok’s settings does not delete the account from SocialAPI.
Creator connection
A creator connection connects the TikTok account through TikTok’s Content Posting API instead of TikTok API for Business. It works with a personal or creator TikTok account, which does not need to become a TikTok Business Account. Send"connection_type": "creator" in metadata:
platform is tiktok.
A creator connection asks on TikTok’s consent screen for
user.info.basic and user.info.profile, plus the scopes of the permissions you select:
When the person removes SocialAPI’s app in TikTok’s settings, SocialAPI removes the creator connection’s account and sends
account.disconnected.
Switching connection type. Connecting the same TikTok username with the other connection_type moves the account to that connection type. It keeps its acc_ ID, brand, and history while the account’s authorization on the previous connection type still works. If that authorization no longer works, the connect creates a new account. A reconnect without connection_type uses "business", so send "creator" on every reconnect of a creator connection.
Creator info
GET /v1/accounts/{id}/creator-info returns the settings TikTok applies to the account’s next post. Read it before you publish. It needs the accounts:read scope.
Other platforms return
501 resource.not_supported from this endpoint.
Account summary
GET /v1/platforms/tiktok/accounts/{id}/summary reads the account’s profile and counts from TikTok at the time of the call. It needs the accounts:read scope, and the account needs the analytics.read permission: without it the call returns 403 account.permission_missing.
403 with the TikTok code in platform.tiktok.<code> (40001, 40118, or 40125). Reconnect the account to grant the scope.
Sync videos
GET /v1/posts?platform=tiktok&account_ids={id} lists the TikTok posts SocialAPI has stored for the account: public videos and photo posts, including posts published outside SocialAPI. Each target carries permalink, media_type (VIDEO or PHOTO), and metrics.
SocialAPI refreshes an account’s stored posts on its own, no more than once every 15 minutes. The account needs the posts.read permission. Without it, both sync endpoints return 403 account.permission_missing and SocialAPI refreshes nothing on its own. POST /v1/platforms/tiktok/accounts/{id}/sync refreshes them at once from the 20 most recent posts on TikTok. It needs the accounts:manage scope and has no cooldown. POST /v1/accounts/{id}/sync reads the same 20 posts and allows 1 sync per account every 5 minutes: see Analytics.
TikTok updates likes, comments, shares, and views with a delay of 24 to 48 hours. A call reads TikTok’s latest figures, so a new post shows
0 until TikTok publishes them. Reach, saves, and watch time are not available. GET /v1/posts/{pid}/metrics reads the account’s 20 most recent posts and reuses that read for 10 minutes. For an older post, the target returns 404 resource.not_found. Examples are in TikTok publishing.
Comments
SocialAPI reads, writes, and moderates comments on the account’s own TikTok posts through the shared Comments endpoints. This section holds only what differs on TikTok.- IDs.
{postId}is the TikTok video ID, which is the target’splatform_post_id. A comment’splatform_idis{video_id}_{comment_id}, and itsidis thesapi_cmt_ID. Useidorplatform_idas{commentId}. Hide, unhide, reply, and list replies need that full form: a bare TikTok comment ID returns400 validation.comment_id_invalid. Delete and like accept either form. - List.
GET /v1/inbox/comments/{postId}returns up to 30 comments per page, and the replies endpoint returns up to 30 replies per page. The list includes hidden comments:is_hiddenistruefor them. A reply to a hidden comment cannot be listed. Comment text only: images in comments are not returned. GET /v1/inbox/comments. It lists the account’s posts that have comments, with their comment counts. A read refreshes that list when it is older than 1 hour.- Reply.
POST /v1/inbox/comments/{postId}withcomment_idreplies to that comment. Withoutcomment_idit comments on the post as the connected account. The text holds up to 1,200 characters, and a reply costs 1 interaction credit. - Hide and unhide. For comments written by other people.
capabilities.can_hideisfalseon the connected account’s own comments. - Delete. For comments the connected account wrote.
capabilities.can_deleteisfalseon other people’s comments. Hide those instead. - Like.
POSTandDELETEon/v1/inbox/comments/{postId}/{commentId}/likelike and unlike as the connected account.liked_by_vieweristruewhen the connected account liked the comment. - Private replies. TikTok has none:
501 resource.not_supported, andcan_private_replyisfalse. - Author fields.
author_idis TikTok’s unique identifier for the person,author_nameis the display name (the handle when TikTok gives none), andauthor_usernameis the handle. - Replies. A reply has
parent_idset to theplatform_idof the comment it answers.
429 platform.tiktok.rate_limit.
Mentions
GET /v1/accounts/{id}/mentions lists the public posts that mention the account in the caption and the comments that mention it. TikTok serves mentions for TikTok Business Accounts only. For another account, TikTok refuses the call and SocialAPI returns the TikTok code as platform.tiktok.<code>. The shared endpoints are in Mentions.
- Delay. TikTok makes a mention available 24 to 48 hours after it is made, and 24 hours after the account is connected. TikTok asks apps to read each mention list at most once per account per day, after 07:00 UTC.
- Page size. A page holds up to 20 mentions, split between caption mentions and comment mentions. Newest first within a page. Follow
next_cursorfor the rest. - Item fields.
author.usernameis the handle of the person,content.textis the caption or comment text,platform_post_idis the TikTok video ID, andpermalinkis the video link.metadataisnull. A comment mention’sidcarries both the video and the comment. - Reply.
POST /v1/accounts/{id}/mentions/replyworks for a mention made in a comment. Send the mention’ssapi_mnt_ID asmedia_id, or send the video ID asmedia_idwith the comment’splatform_idascomment_id. For a mention in a caption, TikTok has no reply: the call returns400 validation.mention_reply_unsupported. A reply costs 1 interaction credit. - Events. TikTok sends SocialAPI no mention notifications. Each call that returns at least one mention sends a
mention.receivedevent: see Mentions you list.
Webhook events
comment.received details on TikTok:
- Author.
author.idis TikTok’s unique identifier for the person.author.name,author.username, andauthor.avatar_urlcome from the comment. - Post.
platform_post_idis the TikTok video ID.post_idandpermalinkare not set. - Not sent. Comments written by the connected account, and TikTok’s deletions and visibility changes. A comment that TikTok no longer lists when SocialAPI reads it, for example one deleted within seconds, produces no event.
- Timing. TikTok reports a new comment to SocialAPI within 5 minutes of the comment.
- Raw payload.
raw_payloadholds the TikTok notification.
mention.received: see Mentions you list. Every event is described in Webhook events.
Limits
Scopes
SocialAPI’s TikTok app asks the person for these scopes on TikTok’s consent screen. You apply for no app review. On the default connection, the consent screen is the same whichever permissions you select, and the account is limited to your selection. A creator connection asks for other scopes: see Creator connection.Related
- TikTok publishing: fields, media rules, and quirks for publishing
- Comments: the shared comment endpoints
- Mentions: the shared mention endpoints
- Connect accounts: the shared connect flow
- Track post delivery: statuses and the
publishingstate - Platforms: the capability matrix
- Errors: every error code