What TikTok’s Content Posting API requires of an app
Most of what looks like a design decision in a TikTok publishing tool is not one. The API comes with obligations, and they show up directly in the interface — which is why two compliant tools ask you the same questions in the same order, and why a tool that skips them is telling you something about itself.
Worth knowing whether you are building one or choosing one.
Nothing may be chosen on your behalf
A privacy level must be set explicitly for every post. Not defaulted to public, not carried over from the last upload, not remembered as a preference. An application is not permitted to decide who sees your video.
The same holds for interaction settings. Comments, duets and stitches cannot arrive pre-enabled — they start off and you switch on the ones you want. There is a second layer here too: a creator can disable some of these on their account, and the API reports that before publishing, so a tool has to ask TikTok what this particular account is allowed to do rather than assume.
If you have ever wondered why a publishing tool makes you pick the privacy level on the eleventh upload of the day, that is why. The alternative is not a smoother tool, it is a non-compliant one.
Music and commercial disclosure
Posting content that uses music requires confirming you hold the rights to it — a checkbox that has to be ticked knowingly rather than assumed. It is a term you are agreeing to, so it appears on every upload rather than once at signup.
Commercial content carries its own obligation: if a post promotes something, the appropriate branded-content disclosure has to be enabled. There is one combination TikTok forbids outright — branded content cannot be posted with the most restrictive privacy setting, since a disclosure nobody can see is not a disclosure.
Rate limits are per account
TikTok publishes request limits for the posting endpoints, counted per authorised account, with a separate and larger allowance for polling the status of a post already in flight. The split matters: a tool that publishes and then checks progress is making two different kinds of request, and only one of them is scarce.
The practical consequence is that a tool publishing to many accounts should not run at the limit. It should keep headroom for the status checks it still owes you — otherwise the publish succeeds and the progress reporting starts failing, which looks identical to a broken upload from where you are sitting.
Publishing is not instant, and should not pretend to be
Submitting a video hands it to TikTok for processing and review. The API answers with an identifier, not a finished post, and the app polls until it resolves. Content can be rejected at that stage by moderation the same way it can when uploaded in the app.
A tool that shows “published” the moment the request returns is reporting the wrong event. What you want to see is the state the platform actually reached, and a permalink once there is one.
How EasyDrop holds to it
Privacy level starts empty on every upload and publishing is blocked until it is set. Interaction toggles start off. Music confirmation is asked each time. Creator restrictions are fetched from TikTok before the form is usable, so options the account cannot use are locked rather than offered and then rejected.
The queue runs below the documented request limit rather than at it, keeping room for status polls, and paces each account separately. Jobs move through their real states and land on published only when TikTok says so.
Common questions
What is the TikTok Content Posting API?
The interface TikTok publishes for applications that post video on a creator's behalf. The creator authorises the app on TikTok's own screen, the app receives a token scoped to that account, and video is uploaded and published through documented endpoints rather than through the app's user interface.
Why does every upload ask me for a privacy level again?
Because the API does not allow an application to choose one for you. A privacy level has to be set explicitly for each post, which is why a compliant tool shows the field empty every time rather than remembering last time's answer.
Why are comments, duets and stitches switched off by default?
The same rule. Interaction settings cannot be pre-enabled on a creator's behalf, so they start unchecked and you turn on the ones you want. Some are also unavailable depending on the creator's own account settings, which the API reports before you publish.
What are the rate limits?
TikTok documents per-account limits on posting requests, with a separate and more generous allowance for checking the status of a post already submitted. They are counted per authorised account rather than per application, so publishing to several accounts does not consume one shared budget.
Related: what happens between pressing publish and the post going live.