Skip to content

TikTok

TikTok supports video and photo posts through OAuth and the Content Posting API.

What you need

  • TikTok developer app
  • Login Kit and Content Posting API access
  • Social app entry with provider key tiktok
  • Callback URL: https://your-domain.com/api/v1/accounts/tiktok/callback
  • Public OPENPOST_MEDIA_URL or S3/R2 public media URL for Direct Post media URLs
  • Scopes: user.info.basic, user.info.profile, user.info.stats, video.list, video.publish, video.upload, and photo-post access when using image posts

Example OPENPOST_PROVIDER_APPS entry:

json
[
  {
    "provider": "tiktok",
    "client_id": "your-client-key",
    "client_secret": "your-client-secret",
    "redirect_uri": "https://your-domain.com/api/v1/accounts/tiktok/callback"
  }
]

Support and limits

  • New destinations default to Direct Post. Choose Upload explicitly to send a video to the TikTok inbox without publishing it.
  • Direct Post supports one video.
  • Inbox upload supports one video when enabled.
  • Supports 1-35 JPEG or WebP photos, up to 20 MB each, when TikTok app access allows the photo-post path.
  • Photo descriptions support up to 4,000 characters; video captions support up to 2,200 characters.
  • Text-only posts are not supported.
  • Pull-from-URL media must use public HTTPS URLs under a URL prefix or domain verified in the TikTok developer console.
  • Test the real app and account after TikTok approves access.
  • For Direct Post video, destination settings include a video preview for selecting the TikTok cover frame.

Analytics

OpenPost uses user.info.stats for follower, following, likes, and video totals. It uses video.list for published-video likes, comments, shares, and views. Reconnect accounts created before these scopes were added.

Common issues

  • OPENPOST_MEDIA_URL points at localhost or a private host.
  • TikTok app lacks Content Posting API access or required scopes.
  • The TikTok app's redirect URI does not exactly match OpenPost's callback URL.

Open source under AGPL-3.0-only.