Direct Post
Your app sends the reviewed content for posting. It needs video.publish; unaudited clients remain private-only and must use private posting accounts.
Choose the API for the job
Does TikTok have an API? Yes—TikTok offers APIs for signing users in, displaying their videos, publishing content, research and business workflows. An API lets software request those actions directly. Choose by the job: getting a developer account does not grant permission to every API or make a post public.
Start with what the person using your app needs to do. These are separate products, not permissions bundled into one token.
| I want to… | Start here | What to check first |
|---|---|---|
| Let someone sign in with TikTok | Login Kit | User sign-in and authorization. Login alone does not grant posting or research access. |
| Show a creator's profile and videos | Display API | App approval and user authorization for the relevant profile and video scopes. This is not a search API for every account. |
| Publish to an authorized creator's account | Content Posting API: Direct Post | Approved video.publish scope, user authorization and posting consent. Unaudited clients are restricted to private viewing. |
| Send a video for its creator to finish in TikTok | Content Posting API: Upload | Approved video.upload scope and user authorization. The creator opens the inbox notification, edits and completes the post. |
| Study public content for an eligible research project | Research API | A separate application and approved research project. Check research eligibility before building a commercial data product around it. |
| Build advertising, organic business or messaging workflows | API for Business | A separate business catalogue with Marketing, Organic and Business Messaging APIs. Check the chosen product's access requirements. |
This is a task guide, not the entire catalogue. Explore TikTok for Developers for other products. Business APIs are not limited to ads, and access to one business product does not imply access to the others.
For a creator-facing app that sends finished content to TikTok, choose between posting directly and handing the final edit back to the creator.
Your app sends the reviewed content for posting. It needs video.publish; unaudited clients remain private-only and must use private posting accounts.
Your app transfers the content, then the person finishes it in TikTok. It needs video.upload. Upload completion is not publication.
For Direct Post, add Content Posting API, enable Direct Post and obtain approval for video.publish. The target creator must also authorize that scope. Store the user's access token securely; an app key is not a substitute for their authorization.
Fetch current creator information. Show the account and available privacy choices, then let the person preview the content, choose its audience and confirm the required disclosures and consent. Do not silently choose public visibility or treat a stored boolean as proof of consent.
Initialize the Direct Post request. Upload the file or use a URL from a verified domain or URL prefix, as required for that transfer method. Keep the returned publish_id; an accepted request is not a finished post.
Use Get Post Status with the same publish_id. Reconcile a failed or uncertain attempt before starting another. Confirm the actual result and audience rather than announcing public success after an upload.
Follow TikTok's request sequence and creator-facing sharing requirements. This is implementation guidance, not a claim that we registered your app, obtained approval or executed a live TikTok request.
Do not budget from a blanket “free TikTok API” claim. The official setup guides above describe product access; they do not establish one price or unlimited allowance across the whole catalogue.
For research, check eligibility and project approval first. Its client-token setup is not interchangeable with a creator's publishing authorization.
Use the current creator-info response for available privacy choices, disabled interactions and max_video_post_duration_sec. Do not copy an example response's duration or assume every account can use every privacy option.
For dimensions and transfer requirements, use the TikTok video requirements guide. A Postdom upload ceiling is not a universal Direct Post allowance.
For video Direct Post, post_info.title has a documented maximum of 2,200 UTF-16 runes. This is the caption/title field on /v2/post/publish/video/init/, not a limit for every TikTok API.
Official field reference · Caption fact verified . This documented native limit is not enforced by Postdom's caption-length check. Use the caption guide before sending a long caption.
Display access is not an unrestricted scrape of other creators. Research access is not a general commercial-data entitlement. For posting, the person must see the content and make the required choices; a background job cannot manufacture their consent.
TikTok's Direct Post intended-use rules exclude apps that copy arbitrary content from other platforms and utilities limited to uploading to accounts you or your team manage. Check that fit before building an internal uploader and expecting audit approval.
Public-post audit approval is not a guarantee that a particular video will be accepted or distributed. Keep the original request identifier and inspect the actual outcome.
Build directly when you need the native product's controls and can own its approval, authorization, review interface and failure handling. Use a managed layer when its narrower publishing workflow fits the job and you want your backend or agent to work through that interface.
Postdom publishes supplied finished videos to 9 destinations: TikTok, Instagram Reels, YouTube Shorts, LinkedIn, Facebook Reels, X, Snapchat Spotlight, Threads and Bluesky. It does not generate the video or expose TikTok's login, research, ads or messaging products.
For a concrete example, use an accepted existing video URL or already-stored media handle, review the request, submit once and follow the same post ID. The linked example does not upload a new local file. A later publish_at time does not switch a private video to public.
The linked workflow was exercised with a released-package loopback fixture, not a real creator account or a provider publication. Private helper defaults are not evidence of TikTok audit approval.
No. Start with the API product and its access process. Creator-facing products use user authorization and scoped access tokens; an approved Research project uses its own research client and client access token. A developer account or app key does not grant access to all TikTok data or actions.
Yes. Content Posting API's Upload flow sends content for the user to finish in TikTok through an inbox notification. It requires video.upload approval and user authorization. This is different from Direct Post and is not proof that a public post exists.
TikTok restricts content from unaudited Direct Post clients to private viewing and requires the posting accounts to be private. App scope approval and creator authorization do not remove that restriction; TikTok requires a separate audit to lift it. Always use the connected creator's current privacy options.
Do not assume a universal free or unlimited plan. Check the terms and access conditions for the specific TikTok API you need. A third-party service's subscription is a separate cost and does not buy approval for every TikTok API. This guide does not quote an unverified TikTok-wide fee or request allowance.
Display API is for an authorized user's profile and public videos under the granted scopes, not unrestricted searches across TikTok. Research API is a different product with project approval and eligibility requirements. Choose the product that matches your data use.
No. Postdom publishes supplied finished videos to TikTok, Instagram Reels, YouTube Shorts, LinkedIn, Facebook Reels, X, Snapchat Spotlight, Threads and Bluesky. It is not a TikTok research, login, advertising or messaging API, and it does not generate videos. Its released MCP helper uses Only you visibility with fixed AI, consent and interaction settings; stop if they do not fit the actual video and human confirmation.