TikTokAPIAutomationScheduling

How to Schedule TikTok Videos Automatically Using the API

A complete guide to automating TikTok video publishing via the Multi Upload Tool API — covering authentication, video upload, scheduling, and best practices.

By Multi Upload Tool Team3 min readUpdated Feb 10, 2026

Manually uploading videos to TikTok every day is time-consuming — especially if you manage multiple accounts or produce content at scale. The Multi Upload Tool API lets you schedule and publish TikTok videos programmatically, freeing you to focus on what matters: creating great content.

1B+
TikTok monthly users (TikTok Newsroom, 2024)
17×
More organic reach vs. Facebook (Influencer Marketing Hub, 2023)
3–5
Optimal posts per week (Hootsuite research, 2024)
<2 min
To schedule via API

Why Automate TikTok Publishing?

ℹ️

Sources: TikTok Newsroom (Q4 2024 MAU report), Influencer Marketing Hub 2023 Benchmark Report, Hootsuite Social Media Trends 2024.

The TikTok algorithm rewards consistency. Accounts that post regularly — at the right times — see significantly more impressions. But maintaining that cadence manually is unsustainable. Automation solves this by letting you batch-produce content and schedule it to go out at optimal times.

Key benefits of API-based scheduling:

  • Batch publishing — Upload a week of content in minutes
  • Optimal timing — Schedule posts for peak engagement windows without being online
  • Multi-account management — Post to dozens of accounts simultaneously
  • No manual work — Eliminate repetitive daily tasks
  • Workflow integration — Trigger posts from n8n, Zapier, Make, or your own backend

What You Need to Get Started

Before making your first API call, you need three things: an API key, a connected TikTok account, and the video file you want to upload.

  1. 1.Get your API key — Sign in to Multi Upload Tool and go to Settings → API Keys to generate a key.
  2. 2.Connect a TikTok account — In the dashboard, click "Connect Account" and authorize TikTok. You'll receive an accountId to use in API calls.
  3. 3.Prepare your video — TikTok requires MP4 or MOV files, 9:16 aspect ratio, maximum 500 MB.
💡

TikTok Business Accounts unlock higher API rate limits and access to analytics. We recommend switching if you post more than 10 videos per day.

Making Your First API Request

The upload endpoint accepts a multipart form or a public video URL. Here's a minimal example using curl to post a video immediately:

upload-now.sh
curl -X POST https://api.multi-upload-tool.com/upload/tiktok \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "accountId=acc_123abc" \
-F "caption=My first automated TikTok post #automation" \
-F "video=@/path/to/video.mp4"

A successful response returns a postId you can use to track status:

{
"success": true,
"postId": "post_7f3a9b2c",
"status": "queued",
"platform": "tiktok",
"estimatedPublishAt": "2026-01-15T14:00:00Z"
}

Scheduling a Post for Later

To schedule instead of posting immediately, add a scheduledAt field in ISO 8601 format. The API will queue your video and publish it at exactly that time, even if your server is offline.

schedule-post.ts
const response = await fetch('https://api.multi-upload-tool.com/upload/tiktok', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.MUT_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
accountId: 'acc_123abc',
videoUrl: 'https://cdn.yoursite.com/video.mp4', // public URL
caption: 'Posted at peak time automatically ✨ #automation',
scheduledAt: '2026-01-16T09:00:00Z', // ISO 8601 UTC
hashtags: ['automation', 'contentcreator', 'productivity'],
}),
})
const { postId, status } = await response.json()
console.log(`Scheduled: ${postId} — status: ${status}`)
ℹ️

The minimum scheduling lead time is 10 minutes into the future. TikTok needs time to process the video on their end before it goes live.

Bulk Scheduling Multiple Videos

The bulk endpoint lets you schedule an entire content calendar in one request — perfect for agencies or creators batching a week of content:

bulk-schedule.ts
const posts = [
{
platform: 'tiktok',
accountId: 'acc_123abc',
videoUrl: 'https://cdn.yoursite.com/monday.mp4',
caption: 'Start your week strong 💪',
scheduledAt: '2026-01-20T09:00:00Z',
},
{
platform: 'tiktok',
accountId: 'acc_123abc',
videoUrl: 'https://cdn.yoursite.com/wednesday.mp4',
caption: 'Midweek motivation 🔥',
scheduledAt: '2026-01-22T09:00:00Z',
},
{
platform: 'youtube', // post to YouTube Shorts at the same time
accountId: 'acc_yt456',
videoUrl: 'https://cdn.yoursite.com/wednesday.mp4',
title: 'Midweek Motivation #Shorts',
scheduledAt: '2026-01-22T09:00:00Z',
},
]
const response = await fetch('https://api.multi-upload-tool.com/upload/bulk', {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.MUT_API_KEY}` },
body: JSON.stringify({ posts }),
})

Best Practices for Automated TikTok Posts

  • Post at peak times — Typically 7–9 AM and 6–9 PM in your audience's timezone. Use the analytics endpoint to find your personal peak hours.
  • Vary your captions — Duplicate captions hurt reach. Use template strings with dynamic variables to keep each caption unique.
  • Include 3–5 relevant hashtags — More than 5 dilutes the signal. Use niche hashtags (100K–1M posts) for better discoverability.
  • Keep videos between 15–60 seconds — This range consistently outperforms longer content on TikTok's algorithm.
  • Use `scheduledAt` over cron jobs — Let the API manage delivery; your scheduler only needs to create the request.
⚠️

TikTok's API limits posting to 10 videos per 24 hours per account. Plan your schedule accordingly, or spread content across multiple connected accounts.

Monitoring Post Status

After scheduling, you can poll the status endpoint or set up a webhook to receive real-time notifications when a post goes live or fails:

check-status.ts
// Poll status
const status = await fetch(`https://api.multi-upload-tool.com/posts/${postId}`, {
headers: { Authorization: `Bearer ${process.env.MUT_API_KEY}` },
}).then(r => r.json())
// status.status can be: 'queued' | 'processing' | 'published' | 'failed'
console.log(status.status, status.publishedAt, status.tiktokPostId)

For production systems, webhooks are more efficient than polling. Register a webhook URL in your dashboard and the API will POST a notification the moment each video publishes.

Ready to automate your posts?

Schedule TikTok, YouTube, Instagram and more — no credit card required.

Start for free

Frequently asked questions

Do I need a TikTok Business Account?

No — a personal TikTok account works for most use cases. However, Business Accounts unlock higher API rate limits (up to 50 posts/day), access to analytics data, and commercial music availability. We recommend upgrading if you post frequently.

How many videos can I schedule per day?

TikTok enforces a limit of 10 videos per 24 hours per account via their API. The Multi Upload Tool API respects this limit and will queue excess posts, delivering them as soon as the window resets. You can spread posts across multiple accounts with no upper limit.

Can I post to multiple TikTok accounts simultaneously?

Yes. Connect multiple accounts to your dashboard and include each accountId in separate bulk upload requests. Each account is independent, so you can schedule different content or the same video to multiple accounts at once.

What video formats and sizes are supported?

TikTok accepts MP4 and MOV files up to 500 MB. Recommended specs: 9:16 aspect ratio, 1080×1920 resolution, H.264 codec, 30fps or 60fps, AAC audio. Videos outside these specs may still upload but could experience quality degradation.

What happens if a scheduled post fails?

The API retries failed posts up to 3 times with exponential backoff. If all retries fail, the post status changes to "failed" and — if webhooks are configured — you receive an error notification with the reason code. Common causes include expired account tokens (refresh with the /accounts/refresh endpoint) or TikTok API downtime.

Is there a free tier?

Yes. The free plan allows up to 10 scheduled posts per month across all platforms with no credit card required. Paid plans start at $19/month for unlimited scheduling.

Start scheduling for free

Join thousands of creators who automate their social media with Multi Upload Tool.

Get started — it's free