TikTok API · post · schedule · analyze

The TikTok Content Posting API, without the audit

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.

TikTok API pricing and access

TikTok gives the Content Posting API away for free, then gates the part you actually need - public posting - behind a content audit and a verified media domain.

What TikTok charges
Nothing. The Content Posting API, Display API and Login Kit carry no licence fee. The cost is the audit, not the access.
Going direct to TikTok
A developer app, an approved use case, a content-posting audit before you can publish anything publicly, and a verified domain before TikTok will pull media from your URLs. Until all three land, every post you make is SELF_ONLY.
Going through Outstand
An Outstand API key. Our app is already audited and our media domain already verified, so your first API call can publish publicly to a real audience.
Outstand pricing
$19/month including 3,000 posts, then $0.007/post - dropping to $0.005/post at volume. No per-seat fees and no annual lock-in.
Bringing your own app
Once TikTok audits your own app, drop your client key and secret in and Outstand runs OAuth under your brand instead of ours.

Content Posting is the only TikTok product that publishes. The Display API reads a creator’s own videos, and the Research API is limited to approved academic use - neither can post on a creator’s behalf.

More than a TikTok wrapper

One integration that grows with everything you ship next.

One API, 11 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.

How much does the TikTok API cost?

TikTok charges nothing for the Content Posting API - the barrier is the content-posting audit and domain verification, not a fee. Outstand costs $19/month including 3,000 posts, then $0.007/post dropping to $0.005 at volume, on an app that is already audited.

How do I get access to the TikTok Content Posting API?

Directly, you register an app on the TikTok Developer Portal, request the Content Posting API, pass a content-posting audit before you can publish publicly, and verify a domain before TikTok will pull media from your URLs. With Outstand you sign up and call POST /v1/posts/ - our audited app and verified domain are already in place.

How do I upload a video to TikTok via the API?

TikTok expects an INIT call, a byte-range chunked upload, and then status polling until the video finishes processing. With Outstand you pass a video URL in the media array and we run the whole upload and polling cycle, returning the published post ID when TikTok confirms it.

What is the difference between the Content Posting, Display and Research APIs?

Content Posting publishes videos and photo posts on a creator’s behalf - this is the one Outstand runs. The Display API reads a connected creator’s own videos and profile. The Research API returns public TikTok data and is restricted to approved researchers. Only Content Posting can publish.

What are the TikTok API rate limits?

TikTok applies per-app and per-user limits to the Content Posting API and returns 429 responses when you exceed them, without publishing the ceilings in full. Outstand queues, throttles and retries on your behalf, so a burst of scheduled posts drains at a safe rate instead of failing.

Can I pull TikTok analytics via the API?

Yes. GET /v1/posts/{id}/analytics returns views, likes, comments, shares, profile views and reach for a post published through Outstand, in the same shape as every other network.

Ship TikTok posting today

Grab an API key and publish your first TikTok in the next five minutes. 3,000 posts included, then $0.007/post - dropping to $0.005 at volume.