TikTok API

TikTok's Content Posting API requires developer app registration, OAuth 2.0 flows, chunk uploads, and async status polling. Zernio replaces all of that with one POST request. No TikTok developer app needed.

  • Free tier
  • No credit card
  • 99.97% uptime
@casa.lumenBehind the winter drop, shot in one take.Original sound · casa.lumen
Friday 316:00 PMScheduled

Join 200,000+ of the world's most ambitious developers and builders

Warner Music Group
MoFlo
ClickUp
Readdy
RE/MAX
Moving Monkey®
How it works

Live in three steps, no TikTok app review

1

Profile

default

TikTok

Connect TikTok

Sign up for free, get your API key and connect TikTok accounts through our OAuth flow.

2

POST /v1/posts

const { data } = await zernio.posts.createPost({
  body: {
    content: 'Launch day! 🚀',
    mediaItems: [{ url: 'https://cdn.acme.com/launch.mp4' }],
    platforms: [
      { platform: 'tiktok', accountId: 'acc_8f2a' },
    ],
    scheduledFor: '2027-01-15T14:30:00',
    timezone: 'Europe/Madrid',
  },
});

Make one call

Send content to TikTok from one REST endpoint, right away or scheduled.

3

post.failed

Webhook sent to your app

Failed

Mon, 18 Jan

09:00, Europe/Madrid

Scheduled

Launch day! 🚀

Fri, 15 Jan at 14:30

Published

Track every post

Follow each post from scheduled to published, with a webhook when one fails.

Endpoints

TikTok endpoints on one REST API

EndpointWhat it does
POST/v1/postsCreate, schedule, or draft a TikTok video or photo post
GET/v1/posts/{id}Get status, details, and platform-specific metadata of a TikTok post
PUT/v1/posts/{id}Update a scheduled TikTok post (content, timing, or settings)
DELETE/v1/posts/{id}Cancel a scheduled or delete a draft TikTok post
GET/v1/profilesList all connected TikTok accounts with usernames and follower counts
GET/v1/analytics/{postId}Get views, likes, comments, shares, and engagement rate for a TikTok post
Media specs

What you can upload to TikTok

Zernio transcodes and optimizes media for TikTok's requirements automatically.

tiktok/media-specs
TypeFormatMax sizeNotes
VideoMP4, MOV, WebM287.6 MB3 sec – 10 min duration. Vertical (9:16) recommended.
PhotosJPEG, JPG, WebP20 MB per imageUp to 35 images per carousel post. PNG not supported by TikTok.
Aspect Ratio9:16 recommended1080×1920 pxVertical content gets significantly more reach on TikTok
AudioAAC128 kbps+Required for video posts. Zernio auto-transcodes if needed.
CaptionPlain text + hashtags2,200 charactersTikTok ignores line breaks in captions
Capabilities

Everything the API handles for you

TikTok enforces strict rate limits and async video processing, and caps each account at 15 videos plus 15 photo posts a day, counted separately. Zernio handles queuing, backoff, and retries automatically: a post over the cap is held and published as soon as the window frees up. You get a webhook when your post goes live.

Photo carousels

Up to 35 images per TikTok photo post.

Multi-account

Connect unlimited TikTok accounts from one API key.

Video posting

Post videos to TikTok Creator and Business accounts via REST API.

Scheduling

Schedule TikTok posts for any future date and time, with timezone support.

Interaction settings

Turn comments, duets, and stitches on or off per post.

AI content labels

Label AI-generated content for compliance.

Processing webhooks

Get a webhook when TikTok finishes processing your video.

Draft mode

Create TikTok drafts for content approval workflows.

Video transcoding

Videos are transcoded to TikTok's encoding requirements automatically.

Privacy controls

Photo posts go public, followers-only, friends-only, or private. Videos publish public, or go to drafts for any other audience.

Cross-posting

Post to TikTok and 15 other platforms in a single API call.

Captions and hashtags

Captions and hashtags up to TikTok's 2,200-character limit.

Branded content

Toggle branded and promotional content disclosure per post.

No app registration

No TikTok developer app registration. Zernio handles all platform approvals.

Response

What comes back from every call

Plain JSON back from every TikTok call, with the IDs and statuses your app needs to follow up.

cURL

$

{
  "post": {
    "_id": "post_65f1c0a9e2b5af",
    "status": "scheduled",
    "content": "How to build a social media app in 2026 \u{1F680} #coding #developer #api",
    "scheduledFor": "2026-03-15T14:00:00Z",
    "platforms": [{
      "platform": "tiktok",
      "accountId": { "_id": "acc_abc123", "username": "@yourhandle" },
      "status": "pending"
    }],
    "createdAt": "2026-03-10T10:30:00Z"
  },
  "message": "Post scheduled successfully"
}

Start building with the TikTok API

Free tier available. No credit card required.

  • Free tier
  • No credit card
  • 99.97% uptime