TikTok Content Posting API

TikTok content posting API for videos, privacy, and scheduling

Build TikTok video and photo publishing workflows with explicit content fields, upload references, privacy options, status tracking, and campaign scheduling.

Last updated: May 2026

API key authScheduled publishing14 platforms
Quick start
API request
1const response = await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "TikTok launch video",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["TIKTOK"],13    data: {14      TIKTOK: {15        type: "VIDEO",16        text: "Launch day behind the scenes.",17        uploadIds: ["upload_tiktok_video"],18        privacy: "PUBLIC_TO_EVERYONE"19      }20    }21  })22});

Building on TikTok's native posting model

TikTok content posting brings account eligibility, review constraints, media processing, and privacy settings.
Video-first workflows need reliable upload references before a publishing request is created.
Teams still need scheduling and status tracking beyond the native content API response.

What bundle.social handles

Create TikTok content payloads through the same post workflow used for the rest of your campaign.
Track status and errors per TikTok post instead of hiding failures inside a batch.
Connect TikTok publishing to music, analytics, and cross-platform scheduling workflows.

TikTok posting needs more than a file upload

bundle.social keeps upload IDs, privacy settings, captions, campaign timing, and status together so TikTok fits the rest of your publishing product.

Workflow

How it works

Connect accounts once, then create and schedule posts with channel-specific fields from one API.

01

Upload media via Media API

Upload your video file once using our Media Upload API and get an upload ID. We handle the complex resumable upload process.

02

Set privacy controls

Configure TikTok-specific settings like privacy level, comments, and duets in your post payload.

03

Schedule the post

Send the final payload with the upload ID and a post date. We will publish it exactly when you want.

Capabilities

TikTok content posting workflows built around status

Videos, photo mode, captions, privacy controls, and scheduling in one API workflow.

Video-first payloads

Create TikTok posts with uploaded media references and TikTok-specific fields. Skip the 45-hour integration process.

Privacy controls

Pass privacy and interaction options supported by the connected TikTok account. Disable comments or duets easily.

Campaign scheduling

Queue TikTok content with the rest of the launch calendar instead of publishing manually. Set to draft for human review.

Analytics connection

Pair published TikToks with audience and performance data where permissions allow. See age splits and watch-time data.

Platform specifics

TikTok content posting specifics to handle before launch

TikTok is video-first, but photo mode, privacy, review status, music, and analytics each have practical API edge cases.

Photo mode is JPG-only

TikTok Photo Mode accepts 1 to 10 images, but only JPG or JPEG files. Each image must stay under 20 MB, so convert PNG and WebP assets before upload.

Music is controlled

Trending in-app audio is generally not available through the API. Use Commercial Music Library tracks, autoAddMusic, or burn licensed audio into the video file.

Review and privacy states

TikTok is commonly the platform that moves posts into REVIEW. Private SELF_ONLY videos may not return a public permalink immediately.

Developer example

Create a TikTok content post

Examples use bundle.social's public API shape: API key authentication, a post date, selected social account types, and platform-specific data.

TypeScript
API request
1const response = await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "TikTok launch video",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["TIKTOK"],13    data: {14      TIKTOK: {15        type: "VIDEO",16        text: "Launch day behind the scenes.",17        uploadIds: ["upload_tiktok_video"],18        privacy: "PUBLIC_TO_EVERYONE"19      }20    }21  })22});

Supported content

TikTok videosPhoto modeCaptionsPrivacy settingsCommercial sounds

Honest limitations

  • TikTok account eligibility, content policy, and app permissions still apply.
  • Media must satisfy TikTok's format and duration requirements.
  • Some music and sound options depend on business account and licensing rules.

Guarantees

Developer-first infrastructure

2% error rate

We handle the platform edge cases, media processing, and rate limits so your requests succeed.

Verbose errors

When native APIs fail, we return human-readable error messages and actionable recovery steps.

Flat pricing

No per-post counting. Predictable pricing for teams managing many users, workspaces, and connected accounts.

Same-day support

Direct access to the engineers building the API. We respond to technical issues the same day. Sometimes the same hour. Test us c;

Resources

Technical guides & documentation

FAQ

Questions developers ask before building

Is this the same as TikTok API?

This page focuses specifically on content posting workflows. The broader TikTok API page covers more capabilities.

Can I schedule TikTok videos?

Yes. Create a TikTok post with a future postDate and SCHEDULED status.

Can I add commercial music?

Commercial music support depends on TikTok's rules and account type. See the TikTok music pages for that intent.