TikTok API · post · schedule · analyze

The TikTok API built for developers

Publish videos and photo posts to TikTok with one API call — no chunked upload, no creator_info pre-flight, no privacy or disclosure guesswork. We run the Content Posting API so you ship in hours, not weeks.

VideosPhoto postsDraftsSchedulingAnalytics

✓ 5 minutes to first post ✓ 99.92% uptime ✓ Videos, photo posts & drafts

bash
curl https://api.outstand.so/v1/posts/ \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "POV: your API just shipped itself 😅 #devlife",
    "accounts": ["tiktok"],
    "media": [{ "url": "https://media.outstand.so/clip.mp4", "filename": "clip.mp4" }],
    "tiktok": { "postMode": "DIRECT_POST", "privacyLevel": "PUBLIC_TO_EVERYONE" }
  }'

A video posts directly to TikTok. Send images for a photo post, or MEDIA_UPLOAD to drop it in drafts.

TikTok's Content Posting API is powerful — and painful

Posting through the TikTok Content Posting API means an audited app before you can publish publicly, a verified media domain for PULL_FROM_URL, a creator_info pre-flight to learn the allowed privacy options, a chunked video upload, and mandatory branded-content and AI-disclosure flags. Outstand turns all of it into a single request.

Unaudited apps can only post privately (SELF_ONLY)
Use our audited app and verified media domain — post publicly from day one
You must query creator_info for allowed privacy and limits first
We run the creator_info pre-flight and validate privacy for you
Video upload is chunked: INIT → upload by byte-range → poll status
Pass a video URL; we run the chunked upload and poll status
Branded-content and AI-generated disclosure flags are mandatory
Set brandContentToggle / isAigc — we send the right compliance flags
24-hour tokens that expire silently
Automatic token refresh — you never see a 401
Undocumented rate limits and 429s
We queue, throttle and retry — you never see a 429

Everything TikTok supports, through one endpoint

Every content type and capability available on TikTok via Outstand today.

Videos

Photo posts

Direct post

Upload to drafts

PublishingSchedulingAnalyticsMedia handlingComments

Plus duet/stitch/comment toggles, branded-content and AI-generated disclosure, and thumbnail control. Reading comments and deleting posts are not offered by TikTok’s API.

Copy, paste, ship

The same accounts array also fans out to Instagram, X, YouTube and more — one request, many platforms.

Upload to drafts (inbox)

bash
curl https://api.outstand.so/v1/posts/ \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Draft for review before it goes live",
    "accounts": ["tiktok"],
    "media": [{ "url": "https://media.outstand.so/clip.mp4", "filename": "clip.mp4" }],
    "tiktok": { "postMode": "MEDIA_UPLOAD" }
  }'

Publish a photo post (with sound)

bash
curl https://api.outstand.so/v1/posts/ \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Swipe through the lookbook 👗",
    "accounts": ["tiktok"],
    "media": [
      { "url": "https://media.outstand.so/1.jpg", "filename": "1.jpg" },
      { "url": "https://media.outstand.so/2.jpg", "filename": "2.jpg" }
    ],
    "tiktok": { "privacyLevel": "PUBLIC_TO_EVERYONE", "autoAddMusic": true }
  }'

Disable duet, stitch & comments

bash
curl https://api.outstand.so/v1/posts/ \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Original sound only 🔒",
    "accounts": ["tiktok"],
    "media": [{ "url": "https://media.outstand.so/clip.mp4", "filename": "clip.mp4" }],
    "tiktok": { "privacyLevel": "PUBLIC_TO_EVERYONE", "disableDuet": true, "disableStitch": true, "disableComment": true }
  }'

Disclose branded / AI content

bash
curl https://api.outstand.so/v1/posts/ \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Paid partnership — made with AI ✨",
    "accounts": ["tiktok"],
    "media": [{ "url": "https://media.outstand.so/clip.mp4", "filename": "clip.mp4" }],
    "tiktok": { "privacyLevel": "PUBLIC_TO_EVERYONE", "brandContentToggle": true, "isAigc": true }
  }'

Schedule a post (up to 30 days out)

bash
curl https://api.outstand.so/v1/posts/ \
  -H "Authorization: Bearer $OUTSTAND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Drops Friday ⏰",
    "accounts": ["tiktok"],
    "media": [{ "url": "https://media.outstand.so/teaser.mp4", "filename": "teaser.mp4" }],
    "tiktok": { "postMode": "DIRECT_POST", "privacyLevel": "PUBLIC_TO_EVERYONE" },
    "scheduledAt": "2026-07-03T16:00:00Z"
  }'

Read analytics

bash
curl https://api.outstand.so/v1/posts/{id}/analytics \
  -H "Authorization: Bearer $OUTSTAND_API_KEY"
# → views, likes, comments, shares, profile_views, reach

Live in three steps

From signup to your first published TikTok in about five minutes.

1

Connect TikTok

Your user authorizes via OAuth. We store and refresh the token. Use our audited Managed Keys to post publicly immediately, or bring your own app.

2

Call POST /v1/posts/

Send a video or images with accounts: ["tiktok"] and a tiktok options block. Add scheduledAt to schedule.

3

We do the Content Posting work

creator_info pre-flight, chunked upload, status polling and disclosure flags — returned as a unified response with the published post ID.

More than a TikTok wrapper

One integration that grows with everything you ship next.

One API, 10+ platforms

One request publishes to TikTok and 10 more networks. Same JSON shape everywhere — learn one API, ship them all.

Managed Keys or BYOK

Use our TikTok-audited app and verified media domain to publish publicly immediately — or bring your own once TikTok approves it.

Built for scale

Intelligent rate limiting, automatic token refresh, webhook events and media processing.

Honest pricing

$19/mo includes 3,000 posts, then from $0.007/post. No seats, no annual lock-in.

What you can build

Same endpoints, same data shapes — pick what you ship.

Social schedulers

Let your users queue and auto-publish TikTok content from your app.

AI agents

Give Claude or GPT a tool to post to TikTok. MCP server included.

Analytics dashboards

Pull TikTok reach and engagement alongside every other platform.

Agencies & white-label

Run TikTok posting for clients under your own brand and app.

TikTok API FAQ

The questions developers ask before they build.

Does TikTok have an official API?

Yes — the TikTok Content Posting API lets approved apps publish videos and photo posts and read analytics. Outstand is a managed layer on top of it, so you skip the audit, domain verification and upload plumbing.

Can I post TikTok videos via API?

Yes. Send a video to POST /v1/posts/ with accounts: ["tiktok"] and tiktok.postMode: "DIRECT_POST" to publish it, or "MEDIA_UPLOAD" to drop it into the creator’s drafts for editing.

Can I post TikTok photo posts via API?

Yes. Send 2 or more images in the media array. You can set tiktok.autoAddMusic to add a soundtrack — a photo-only option that is ignored for videos.

Why can only I see the posts I publish via the API?

TikTok forces SELF_ONLY (private) publishing for apps that have not passed its content-posting audit, and requires a verified domain for URL-based media. Outstand’s Managed Keys use an audited app and verified domain, so you can publish publicly from day one.

What privacy levels can I set?

PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR and SELF_ONLY. For a Direct Post the value must be one the creator actually allows — Outstand checks this against creator_info for you.

Can I schedule TikTok posts via the API?

Yes. Add a scheduledAt ISO-8601 timestamp (up to 30 days ahead) and Outstand publishes it automatically — no cron or queue on your side.

Can I delete a TikTok post via the API?

No — TikTok does not offer deleting posts via its API. Outstand will report this clearly per account rather than failing silently.

Ship TikTok posting today

Grab an API key and publish your first TikTok in the next five minutes. 3,000 posts included, then from $0.005/post.