TikTok API for developers

The TikTok API,without the audit

Publish videos and photo carousels with every TikTok posting control. Answer comments and read views, likes and shares. One API key, on OmniSocials’ approved TikTok app.
Webhooksyour-app.com/hooks
post.scheduledpost 1024just now200
post.publishedpost 10192 h ago200
post.approvedpost 10193 h ago200
POST/v1/posts/createapplication/json
01{
02 "type": "reel",
03 "content": "Post from your own code: SDKs in 8 languages. #api",
04 "accounts": ["tiktok"],
05 "media_urls": ["https://cdn.example.com/sdks.mp4"],
06 "schedule_at": "2026-10-22T18:00:00Z",
07 "tiktok": {
08 "privacy_level": "PUBLIC_TO_EVERYONE",
09 "video_cover_timestamp_ms": 2000,
10 "first_comment": "Which SDK do you use?"
11 }
12}
Sending201 Created412 ms
Send
13{
14 "data": {
15 "id": "1024",
16 "status": "scheduled",
17 "app_url": "https://app.omnisocials.com/create-post/1024"
18 }
19}
A request creates a TikTok video for Thu at 18:00; it appears in the OmniSocials calendar and the webhook post.scheduled fires.
Your coding agent runs the same calls through the CLI

Skip the TikTok audit

TikTok’s own API needs a developer app, approved scopes and an audit before it can post to public accounts, then a creator check before every post and status polling after. OmniSocials already did that work.
On your own
user.info.basicuser.info.profileuser.info.stats
video.listvideo.uploadvideo.publish
TikTok appApp reviewAuditDomainsTokensCreator infoPollingVideo idsFirst post
On OmniSocials
Sign inAPI keyPOSTFirst postAll 6 scopes already approved

Videos and photo posts, one request

Videos, single photos and carousels of up to 35 photos share one request shape. Set the type, add media URLs, the TikTok settings and a time. OmniSocials checks the media against TikTok’s rules before it uploads.
TikTok Profile
Posting to: omnisocials@omnisocials
Video Duration Limit
Maximum video duration: 3600 seconds
Post from your own code: SDKs in 8 languages. #api
Choose which frame to use as the video thumbnail
Move the slider to select which frame to use as thumbnail
omnisocials · Just now
Post from your own code: SDKs in 8 languages. #api
original sound - omnisocials
Public
POST/v1/posts/create
01{
02 "type": "reel",
03 "content": "Post from your own code: SDKs in 8 languages. #api",
04 "accounts": ["tiktok"],
05 "media_urls": ["https://cdn.example.com/sdks.mp4"],
06 "schedule_at": "2026-10-22T18:00:00Z",
07 "tiktok": {
08 "privacy_level": "PUBLIC_TO_EVERYONE",
09 "video_cover_timestamp_ms": 2000,
10 "first_comment": "Which SDK do you use?"
11 }
12}
201 Createdstatus: "scheduled"
Videos
One video per post, up to 1 GB. Pick the cover frame, and add a first comment once comments are enabled.
type: "reel"video_cover_timestamp_msfirst_comment
Photo posts
Up to 35 photos, 10 of them as media URLs, with a title of up to 90 characters. TikTok adds music only when you ask.
tiktok.titleauto_add_music
Straight from a URL
Send any public media URL. OmniSocials moves it to a domain TikTok accepts, turns PNGs into JPEGs and re-encodes video TikTok can’t take.
media_urls

Every TikTok posting control

Who can view, comments, duets, stitches, promotional content and the AI label each have a field. The composer shows the same settings with TikTok’s posting declaration, and you can change them until the post goes out.
omnisocials · Just now
Post from your own code: SDKs in 8 languages. #api
original sound - omnisocials
Public
PATCH/v1/posts/1024
01{
02 "tiktok": {
03 "privacy_level": "PUBLIC_TO_EVERYONE",
04 "disable_comment": false,
05 "disable_duet": false,
06 "disable_stitch": true,
07 "is_aigc": false,
08 "brand_organic_toggle": true,
09 "brand_content_toggle": false
10 }
11}
200 OK131 ms
12{
13 "data": { "id": "1024", "status": "scheduled" }
14}
Who can view
Public, Friends, Followers or Private. Before each post OmniSocials asks TikTok what the account allows; a level it can’t use goes out as Private.
tiktok.privacy_level
Comments, duets, stitches
Turn each one off per post. Videos take all three; photo posts take comments and can let TikTok add music.
disable_commentdisable_duetdisable_stitchauto_add_music
Disclosure built in
Mark a post that promotes your own brand or a paid partnership, and label AI-generated videos. TikTok puts the label on the post.
brand_organic_togglebrand_content_toggleis_aigc

Connect TikTok once, post from code

Sign in with TikTok once inside OmniSocials. Create an API key, and your code posts, replies and reports for that account.
OmniSocials
Name, icon, social channels and who can open this workspace.
GeneralMembersClientsApproval workflowsAPI
Workspace iconJPG or PNG, up to 2 MB.
Workspace nameOmniSocials
Social channels
The accounts this workspace posts to.
Connected
@omnisocials_
Instagram
@omnisocials_
Threads
OmniSocials
LinkedIn Page
@omnisocials_
X
Add a channel
TikTokVideos & Photo posts
FacebookPosts, Stories & Reels
LinkedIn ProfilePosts & Carousels
YouTubeShorts
PinterestPins & Carousels
BlueskyPosts & Threads
MastodonAny server
Google BusinessUpdates, Events & Offers
TelegramChannels and groups
Coming soonDiscordTumblrWordPressWhopSlack
Danger zone
Delete workspace
Deletes this workspace with its posts, media and settings for good. This cannot be undone.
OmniSocials
Name, icon, social channels and who can open this workspace.
GeneralMembersClientsApproval workflowsAPI
API keys
Keys that can only reach this workspace.
NameKeyLast used
Claude
omsk_live_••••7c2eOct 20, 2026
GET/v1/accounts?platform=tiktok
200 OK88 ms
01{
02 "data": [
03 {
04 "id": "4127_tiktok",
05 "platform": "tiktok",
06 "username": "omnisocials",
07 "display_name": "omnisocials",
08 "content_types": ["post", "reel"],
09 "status": "active"
10 }
11 ],
12 "workspace_name": "OmniSocials"
13}
Authorization: Bearer $OMNISOCIALS_API_KEY
TikTok sign-in
Sign in with TikTok once; no Business account needed. OmniSocials always shows TikTok’s consent screen, so you see which account connects.
Enable comments
One more TikTok sign-in turns on the comments inbox, first comments and watch-time analytics.
What the account can post
The accounts call lists the connected account with the formats it takes.
GET /v1/accountscontent_types

Answer TikTok comments

List the comments on your TikTok posts, then reply, hide or delete them from your own code. Comments come in once Enable comments is on for the workspace.
Social Inbox
AllUnread2CommentsDMs
TikTokNew: Best times to post. When you schedule, you now see up to three recommended time slots.14mHana and 2 others: Does it use my own TikTok numbers?2 newTikTokNew: 1GB video uploads. Upload videos up to 1GB.1hSara: Finally, our raw clips are huge.1 newTikTokNew: PDF uploads. Upload a PDF and turn it into a swipeable post.3hLeo: Saved for our next client report.TikTokNew: Alt text on every imageYesterdayDaan: Love this for accessibility.
Comments on your videoTikTok video · 4 commentsOpen post
TikTokYour video
New: Best times to post. When you schedule, you now see up to three recommended time slots.
4 comments2 new since you looked
Priya NairYesterday
Saved this for our Monday planning.
omnisocialsYouYesterday
Happy planning, Priya!
2 new
Tomas Novak13:20
Which day came out best for you?
Hana Park13:58
Does it use my own TikTok numbers?
Reply to Hana…0/150
Replies are public on TikTok and post as omnisocials
GET/v1/inbox/conversations?platform=tiktok&type=comment
200 OK104 ms
01{
02 "data": [
03 {
04 "conversation_id": "8812",
05 "platform": "tiktok",
06 "type": "comment",
07 "participant": {
08 "name": "Hana Park"
09 },
10 "unread_count": 2,
11 "last_message": {
12 "id": "90388",
13 "direction": "incoming",
14 "text": "Does it use my own TikTok numbers?"
15 }
16 }
17 ]
18}
Authorization: Bearer $OMNISOCIALS_API_KEY
Replies
Text replies of up to 150 characters, under the comment you pick. TikTok can take a few minutes to show them while they pass its spam review.
/conversations/:id/replymessage_id
Hide and delete
Hide a comment on your post or delete it. Liking a comment works in the OmniSocials app.
/inbox/messages/:id/hideDELETE /inbox/messages/:id
Comments only
TikTok DMs are not part of the inbox. Comments arrive through TikTok’s webhook, with a check every 15 minutes as a safety net.
platform=tiktok

“The MCP is the real game changer for me. It makes the whole workflow feel much faster and less messy.”

Ansub Khan
Founder of Supafast

Read what TikTok reports

Views, likes, comments and shares on every post, and the account’s followers per day. With comments enabled, reach, saves and watch time too. The API returns the same numbers the app charts.
AnalyticsReports
AllInstagramFacebookTikTokThreadsBlueskyLinkedIn PageX
AddEdit
Last 30 days
Impressions
5,24521.7%
Engagements
29823.7%
Published Posts
620.0%
Engagement Rate
5.7%0.1pt
Posts6Accounts7
Post
Channels
Impressions
Reach
Likes
Comments
Shares
Saves
Eng. rate
Post thumbnail
New: Bluesky threads. Publish a full multi-post thread in one go.
Oct 21, 2026
tiktok
318274121024.7%
Post thumbnail
New: Best times to post. When you schedule, you now see up to three recommended time slots.
Oct 20, 2026
tiktok
9428063743115.8%
Post thumbnail
New: 1GB video uploads. Upload videos up to 1GB.
Oct 19, 2026Reel
tiktok
1.2K1K5896147.0%
Post thumbnail
New: PDF uploads. Upload a PDF and turn it into a swipeable post.
Oct 19, 2026
tiktok
861702293284.9%
Post thumbnail
New: Alt text on every image
Oct 14, 2026
tiktok
1.1K9274154125.6%
Post thumbnail
New in OmniSocials: Notable Days
Oct 7, 2026
tiktok
776640262364.8%
GET/v1/analytics/posts/1019
Authorization: Bearer $OMNISOCIALS_API_KEY
200 OK143 ms
01{
02 "data": {
03 "post_id": "1019",
04 "platforms": {
05 "tiktok": {
06 "metrics": {
07 "views": 1240, "likes": 58,
08 "comments": 9, "shares": 6,
09 "favorites": 14, "reach": 1012,
10 "average_time_watched": 6.4,
11 "total_time_watched": 7936
12 }
13 }
14 }
15 }
16}
Per post
Views, likes, comments and shares. With comments enabled also reach, saves and watch time.
/analytics/posts/:id
Per account and workspace
A daily snapshot of the account: followers, following and total likes. Plus a workspace overview.
/analytics/accounts/analytics/overview
Best times to post
Days and hours worked out from your own TikTok history, once 15 of your posts are analyzed.
/analytics/best-times
Under the hood

Built for production

Signed webhooks, automatic retries, SDKs in 8 languages and a key per workspace. Create a key and send your first request in minutes.
Webhooks
Signed events for every post
Retries
Failed posts retry on their own
SDKs
One request shape in 8 languages
API keys
One key per workspace
Agents
Your coding agent posts too

TikTok’s rules, in one place

OmniSocials checks every post against them before it reaches TikTok, so a bad file fails in your request, not at publish time.
Caption2,200 characters on videos, 4,000 on photos
Photo title90 characters, photo posts only
Photos1 to 35 (10 in media_urls), JPEG, PNG or WebP, 20 MB each
VideoMP4, MOV or WebM, 100 MB in media_urls, 1 GB via upload-from-url
Video lengthThe account’s own limit, read from TikTok
First comment150 characters, needs comments enabled
Comment reply150 characters, text only
Replies1,000 a day per workspace
Rate limit100 requests a minute per API key
AccountsOne TikTok account per workspace

Your first TikTok video in three steps

About five minutes from sign-up to a scheduled video. Then hand the key to your coding agent.
Create an API key
Start your trial, open Settings, API and create a key. It is shown once.
Settings › API
Step 1
Connect TikTok
Sign in with TikTok in OmniSocials once, and enable comments if you want them. Then list the account from your code.
GET /v1/accounts
Step 2
Send your first video
Post now with create-and-publish, or add schedule_at to plan it.
POST /v1/posts/create
Step 3

Frequently
Asked Questions

Robert Ligthart
Robert LigthartFounder of OmniSocials
Ask me a question

Robert Ligthart
Still have a question?Ask Robert, the founder
Ask

Ship your TikTok
integration this week.

From $10 per seat a month, API included. 14-day free trial.
https://docs.omnisocials.com