TikTok API

TikTok posting API via an audited app for social media agents

Blotato's TikTok posting API publishes videos and photo posts from one request, through an app TikTok has already audited.

That audit is the part most builders discover late. Until your own app passes it, TikTok restricts what it publishes to private visibility.

REST
POST https://backend.blotato.com/v2/posts
Auth
blotato-api-key: YOUR_API_KEY
MCP
https://mcp.blotato.com/mcp

Updated September 2026. API access is included on every paid plan and excluded from the free trial.

What the TikTok posting API does in Blotato

POST /v2/posts with targetType tiktok takes a video or a set of images plus seven required target fields, the same privacy and disclosure settings TikTok's Content Posting API demands. Captions run to 2,200 characters. Video is up to 10 minutes and 4 GB in MP4, WebM, or MOV. Photo posts take images at a maximum resolution of 1080 pixels and 20 MB each, with an optional 90-character title and autoAddMusic.

Videos and photo carousels

One video URL publishes a video. Several image URLs publish a photo post, with imageCoverIndex choosing the cover.

Drafts and cover frames

isDraft saves to TikTok drafts instead of publishing. videoCoverTimestamp picks the cover frame in milliseconds.

Analytics on published videos

GET /analytics ranks your TikTok posts by views, reach, likes, or comments, and GET /posts/:id/analytics returns one post over time.

Scheduling into the calendar

scheduledTime queues the post. useNextFreeSlot takes the next open TikTok slot in your calendar.

The seven fields TikTok will not publish without

privacyLevel, disabledComments, disabledDuet, disabledStitch, isBrandedContent, isYourBrand, and isAiGenerated are required on every call. TikTok requires these disclosures from any app, and Blotato passes them through rather than guessing on your behalf.

privacyLevel takes SELF_ONLY, PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, or FOLLOWER_OF_CREATOR. Set isAiGenerated to true for AI-generated video, the disclosure TikTok requires.

POST https://backend.blotato.com/v2/posts
{
  "post": {
    "accountId": "98432",
    "content": {
      "text": "The 15-second version of our launch",
      "mediaUrls": ["https://cdn.example.com/launch.mp4"],
      "platform": "tiktok"
    },
    "target": {
      "targetType": "tiktok",
      "privacyLevel": "PUBLIC_TO_EVERYONE",
      "disabledComments": false,
      "disabledDuet": false,
      "disabledStitch": false,
      "isBrandedContent": false,
      "isYourBrand": true,
      "isAiGenerated": false
    }
  }
}

Response: { "postSubmissionId": "uuid" }, a receipt. Poll GET /posts/:postSubmissionId for published or failed. Every field: help.blotato.com/api/llm. TikTok's own reference: the TikTok Content Posting API docs.

Audited app, written-down warm-up: the TikTok case for Blotato

  • The warm-up rules are written down. Blotato's rule: a TikTok account is warmed up by a human for at least four weeks before you connect it. It costs nothing if you read it first and a flagged account if you do not.
  • Nine platforms, one envelope. The same request posts to Instagram, YouTube, LinkedIn, X, Facebook, Threads, Bluesky, and Pinterest once you swap targetType and the target fields.
  • The app is already audited. TikTok's Content Posting API keeps unaudited apps in a mode where posts are visible only to the poster. Blotato's app passed the audit, so your posts are public from the first call.

How to post to TikTok through the API

  1. Connect a warmed-up TikTok account. At least four weeks of normal human use before you connect it, per the warm-up guide.
  2. Generate an API key. The API tab under Settings generates the key. Paid Starter begins the moment the key exists, since the trial excludes API access.
  3. Fetch the accountId. GET /users/me/accounts?platform=tiktok.
  4. POST with all seven fields and poll. Send the request above. Poll GET /posts/:postSubmissionId, and if it reads failed, the error message usually names the missing disclosure field.

An agent can send the seven fields for you: the TikTok tools are on the MCP server at https://mcp.blotato.com/mcp. Setup per client is on the TikTok MCP server page, and the walkthrough of posting to TikTok from Claude shows the prompt-to-post flow. A prompt like "Post this video to TikTok, public, comments on, and mark it as AI-generated." calls the same endpoint this page documents.

See every plan and its limits

TikTok posting caps and pricing

On Starter, Blotato limits you to 3 unique TikTok accounts per 24 hours at 10 posts per account. You can connect more than 3, but only 3 can receive posts in any 24-hour window. That is where the illustrative 900 uploads a month figure on the pricing page comes from, and the limit does not apply on Creator or Agency.

TikTok limitValue through Blotato
Blotato daily capStarter: 3 unique accounts, 10 posts each, per 24 hours; not applied on Creator or Agency
Caption2,200 characters
VideoMP4, WebM or MOV, up to 10 minutes and 4 GB, 23 to 60 fps
Imagesmaximum resolution 1,080 pixels, up to 20 MB each
Warm-up4 weeks of human use before connecting
Off-spec videoconverted by Blotato only under 120 seconds

TikTok publishes no per-call price for its API. What the audit takes and where going direct still makes sense is covered in the TikTok API pricing guide.

On TikTok, this API covers publishing, scheduling and analytics. Comments, DMs and DM automation are Instagram and Facebook only. Caps are listed at help.blotato.com/settings/social-accounts.

MCP tools that reach TikTok

The tool names an agent calls on the MCP server for this platform, verbatim from the server's tool list. The REST endpoint behind each one is in the API reference.

  • blotato_list_accounts
  • blotato_create_post
  • blotato_get_post_status
  • blotato_list_posts
  • blotato_list_schedules
  • blotato_get_schedule
  • blotato_update_schedule
  • blotato_delete_schedule
  • blotato_create_presigned_upload_url
  • blotato_list_top_posts
  • blotato_get_post_analytics
FAQ

TikTok posting API FAQs

01 Why is my TikTok API post visible only to me?
Because the app that published it has not passed TikTok's audit. Unaudited apps can only post privately. Blotato's app is audited, so posts sent through it with privacyLevel PUBLIC_TO_EVERYONE are public.
02 Which fields are required to post to TikTok through the API?
Seven, all inside target: privacyLevel, disabledComments, disabledDuet, disabledStitch, isBrandedContent, isYourBrand, and isAiGenerated. Title, autoAddMusic, isDraft, imageCoverIndex, and videoCoverTimestamp are optional.
03 Can I post photo carousels to TikTok via API?
Yes. Send several image URLs, each at a maximum resolution of 1080 pixels and 20 MB, in content.mediaUrls. Add a title of up to 90 characters and set autoAddMusic if you want TikTok to add a track.
04 How many TikTok posts a day does the Starter plan allow?
10 posts per account, across at most 3 unique TikTok accounts in any 24-hour window. That is a Blotato limit on Starter only. Creator and Agency do not carry it.

Same key, eight more platforms

TikTok is one targetType on the same endpoint. The social media API page has the comparison table of every platform's required fields and caps.