NetworksTikTok
TikTok APIthrough Siar.
Short vertical video and photo posts. TikTok decides which privacy levels and interaction settings each creator may use, so Siar reads them from the account and validates your request against them.
At a glance
Account needed: Any TikTok account. Creator details and privacy options are read from TikTok before every post.
| Connection | OAuth 2.0 in the browser |
|---|---|
| Channel | Not needed |
| Post types | video, image |
| Text length | 2,200 characters |
| Comment length | 150 characters |
| Media per post | Up to 35 |
Media rules
| Kind | Formats | Max size | Duration | Other |
|---|---|---|---|---|
| Image | jpeg, webp | 20 MB | n/a | None |
| Video | mp4, webm, mov | 4 GB | 3 s to 10 min | None |
What Siar can do on TikTok
| Comments and replies | Yes |
|---|---|
| First comment | Yes |
| Edit a published post | No |
| Delete a published post | No |
| Edit a comment | No |
| Delete a comment | Yes |
| Import comments | Yes |
| Post analytics | Yes |
| Account analytics | Yes |
| Post history import | Yes |
| Direct messages | No |
Siar can create comments and replies up to 150 characters, and import the comments people leave on your posts.
Publish a post
Put TikTok's payload under data.TIKTOK and list TIKTOK in socialAccountTypes. Add other networks to the same request to post to all of them at once.
curl -X POST "https://api.siaran.my/api/v1/post" \
-H "x-api-key: $SIAR_API_KEY" \
-H "content-type: application/json" \
-d '{
"teamId": "TEAM_ID",
"title": "TikTok post",
"postDate": "2026-11-02T09:00:00.000Z",
"status": "SCHEDULED",
"socialAccountTypes": [
"TIKTOK"
],
"data": {
"TIKTOK": {
"type": "VIDEO",
"text": "Hello from Siar",
"uploadIds": [
"UPLOAD_ID"
]
}
}
}' TikTok fields
-
typestring default "VIDEO"One of:VIDEOIMAGE -
textstring nullable -
uploadIdsstring[] nullable -
thumbnailstring nullable -
privacystring nullableOne of:SELF_ONLYPUBLIC_TO_EVERYONEMUTUAL_FOLLOW_FRIENDSFOLLOWER_OF_CREATOR -
photoCoverIndexinteger nullable default 0 ≥ 0 -
isBrandContentboolean nullable default false -
isOrganicBrandContentboolean nullable default false -
disableCommentsboolean nullable default false -
disableDuetboolean nullable default false -
disableStitchboolean nullable default false -
thumbnailOffsetnumber nullable default 0 -
isAiGeneratedboolean nullable default false -
autoAddMusicboolean nullable default false -
autoScaleboolean nullable default false -
uploadToDraftboolean nullable default false -
musicSoundInfoobject nullable5 fields
-
musicSoundIdstring required min length 1 -
musicSoundVolumeinteger nullable ≥ 0≤ 100 -
musicSoundStartinteger nullable ≥ 0 -
musicSoundEndinteger nullable ≥ 0 -
videoOriginalSoundVolumeinteger nullable ≥ 0≤ 100
-
Daily caps
| Per connected account, per UTC day | Free | Pro | Business |
|---|---|---|---|
| Posts | 5 | 10 | 15 |
| Comments | 3 | 10 | 15 |
See pricing for monthly quotas. Enterprise uses the Business caps unless agreed otherwise.
Connecting a TikTok account
Siar sends the user to the network's consent page and stores the tokens it gets back, refreshing them before they expire. Use POST /social-account/connect from your own UI, or send your customer a hosted link from POST /social-account/create-portal-link; see connecting accounts.
Permissions requested
Siar requests only these scopes at connect time:
user.info.basicuser.info.profileuser.info.statsvideo.listvideo.publishvideo.uploaduser.info.usernameuser.account.typeuser.insightsvideo.insightscomment.listcomment.list.manage
TikTok-specific operations
These exist for TikTok only and live under /misc/tiktok.
| Operation | Endpoint |
|---|---|
| Get popular tracks from TikTok Commercial Music Library | GET /misc/tiktok/cml/trending-list |
| Delete a TikTok comment | DELETE /misc/tiktok/comment |
When TikTok says no
Siar relays TikTok's error code and message verbatim on the post, next to a status you can act on. The TikTok error reference covers 15 common cases with what each one means and the fix. Open the TikTok error reference.
TikTok API questions
What can I post to TikTok through the API?
video, image. Short vertical video and photo posts. TikTok decides which privacy levels and interaction settings each creator may use, so Siar reads them from the account and validates your request against them.
How many TikTok posts can I publish per day?
Per connected account and UTC day: 5 on Free, 10 on Pro, 15 on Business. The caps keep the account within what TikTok tolerates.
Can I schedule TikTok posts?
Yes. Set postDate in the future and a status of SCHEDULED. Siar publishes at that time and sends a post.published webhook when the post reaches a final state.
How do I connect a TikTok account?
Any TikTok account. Creator details and privacy options are read from TikTok before every post. Siar sends the user to the network's consent page and stores the tokens it gets back, refreshing them before they expire.
What do I do when TikTok rejects a post?
The post carries TikTok's own code and message. The TikTok error reference explains 15 common rejections and how to fix them.
Your first post isone request away.
The Free plan includes 20 posts and 200 uploads a month across 3 teams. No card needed.