Skip to main content
Available TikTok is supported for listing videos and publishing new posts via the TikTok Content Posting API.

Details

FieldValue
Platform slugtiktok
Auth typeOAuth 2.0 (TikTok)
APITikTok API v2

Feature support

FeatureSupportedNotes
List postsReturns published videos
Comments-Not supported via TikTok API
Reply to comment-
Moderate comment-
Toggle post comments-
DMs-Not supported by platform API
Reviews-Not applicable
Mentions-Not supported via TikTok API
Create postVia TikTok Content Posting API
Delete post-Not supported via TikTok API

Connecting

curl -X POST https://api.social-api.ai/v1/accounts/connect \
  -H "Authorization: Bearer $SOCAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "tiktok",
    "metadata": {
      "redirect_uri": "https://app.example.com/oauth/callback"
    }
  }'
Response:
{
  "auth_url": "https://www.tiktok.com/v2/auth/authorize/?client_key=...&state=...",
  "state": "4a8f2c1e9b3d7f06a5c2e8b4d1f3a7e2"
}
Redirect your user to auth_url. After they authorize, TikTok redirects to your redirect_uri with ?code=...&state=.... Then call:
curl -X POST https://api.social-api.ai/v1/oauth/exchange \
  -H "Authorization: Bearer $SOCAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "tiktok",
    "code": "abc123...",
    "metadata": {
      "state": "4a8f2c1e9b3d7f06a5c2e8b4d1f3a7e2",
      "redirect_uri": "https://app.example.com/oauth/callback"
    }
  }'

Account metadata

TikTok accounts include a metadata object with profile data:
{
  "id": "acc_01HZ9X3Q4R5M6N7P8V2K0W1J",
  "platform": "tiktok",
  "name": "Acme Corp",
  "username": "acmecorp",
  "metadata": {
    "avatar_url": "https://p16.tiktokcdn.com/...",
    "follower_count": 12400,
    "following_count": 180,
    "video_count": 94,
    "likes_count": 340000
  }
}
FieldTypeDescription
avatar_urlstringProfile picture URL
follower_countintegerNumber of followers
following_countintegerNumber of accounts followed
video_countintegerTotal published videos
likes_countintegerTotal likes across all videos
Other platforms do not currently populate metadata. The field is omitted from their Account objects.

Publishing

Create a TikTok post. media_type and privacy_level are optional: media_type defaults to video, and privacy_level falls back to a compliance-safe choice from the creator’s allowed options (SELF_ONLY when available) if omitted. Set privacy_level explicitly for production use.
curl -X POST https://api.social-api.ai/v1/posts \
  -H "Authorization: Bearer $SOCAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "account_ids": ["acc_01HZ9X3Q4R5M6N7P8V2K0W1J"],
    "text": "Check out this video!",
    "media_ids": ["https://cdn.example.com/video.mp4"],
    "platform_data": {
      "tiktok": {
        "media_type": "video",
        "privacy_level": "PUBLIC"
      }
    }
  }'
For the full field reference, media constraints, and error recovery, see TikTok posts.

Notes

  • Publishing - Post creation uses the TikTok Content Posting API. Videos are uploaded via media upload, then published.
  • Read-only interactions - TikTok’s API does not expose comment management or DM access. Only post listing and publishing are available.
  • Token refresh - TikTok OAuth tokens expire. SocialAPI handles refresh automatically. If you receive 401 with code: "invalid_token", reconnect the account.
  • Required scopes - Your TikTok Developer App must have these scopes approved: user.info.basic, video.publish, video.upload.