Tiktok Poster avatar

Tiktok Poster

Under maintenance

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Tiktok Poster

Tiktok Poster

Under maintenance

Automate posting videos to TikTok! Upload videos with captions, hashtags, and privacy settings. Features Video Upload - Post videos from URL Captions & Hashtags - Add descriptions and tags Privacy Controls - Set visibility, comments, duet, stitch Auto-download - Automatically fetches video from URL

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

The Howlers

The Howlers

Maintained by Community

Actor stats

1

Bookmarked

12

Total users

2

Monthly active users

13 days ago

Last modified

Share

TikTok Video Poster

Upload and post videos to TikTok automatically using browser automation. No TikTok API access required. Built for content creators, social media managers, and marketing agencies.

Built by John Rippy | Actor Arsenal


How It Works

This actor uses a headless Firefox browser (with optional Camoufox stealth mode) to log into TikTok and upload a video on your behalf. It downloads your video from a URL, navigates to the TikTok Creator Center upload page, fills in captions/hashtags, and clicks Post.

TikTok has extremely aggressive bot detection. Username/password login is frequently blocked by CAPTCHAs. Session cookies are strongly recommended (see Authentication below).


Features

  • Video Upload -- Post videos from any public URL (MP4 recommended)
  • Captions & Hashtags -- Add descriptions and auto-formatted hashtags
  • Privacy Controls -- Set visibility, comments, duet, and stitch permissions
  • Cookie Manager Integration -- Load session cookies from Apify Named KV Store
  • Stealth Mode -- Camoufox anti-fingerprinting when available
  • IndexNow -- Optional instant search engine indexing of posted content
  • Demo Mode -- Test the actor without credentials (no charge)
  • Pay-per-success -- You are only charged when a post is confirmed successful

Authentication (IMPORTANT -- Read This First)

TikTok blocks automated logins aggressively. Here is the recommended approach, in order of reliability:

  1. Run the Cookie Manager actor in capture mode for TikTok
  2. Log into TikTok manually in the browser session
  3. Cookies are saved to a Named KV Store (default: cookie-sessions)
  4. In this actor, set cookieStorageKey to the same key you used in Cookie Manager
{
"cookieStorageKey": "my-tiktok-session",
"videoUrl": "https://example.com/my-video.mp4",
"caption": "Check this out!"
}
  1. Install a browser extension like "EditThisCookie" or "Cookie-Editor"
  2. Log into TikTok in your browser
  3. Export all cookies for .tiktok.com as JSON
  4. Paste the JSON into the cookies field

Option 3: Username/Password (Low Success Rate)

Credential-based login works but is frequently blocked by TikTok CAPTCHAs. Only use this as a last resort.

{
"username": "your@email.com",
"password": "your-password",
"videoUrl": "https://example.com/my-video.mp4"
}

What happens if login fails?

The actor does not charge you if authentication fails. Instead it returns a result with success: false and a _warning field explaining what went wrong. You can check the _warning field to diagnose the issue.


Quick Start

{
"cookieStorageKey": "my-tiktok-session",
"videoUrl": "https://example.com/my-video.mp4",
"caption": "New video just dropped!",
"hashtags": ["fyp", "viral", "trending"],
"demoMode": false
}

Demo Mode

Set demoMode: true to test the actor without any credentials. Returns a mock success response and does not charge.

{
"demoMode": true,
"videoUrl": "https://example.com/test.mp4"
}

Input Parameters

ParameterTypeRequiredDefaultDescription
videoUrlstringYes--URL of the video file to upload (MP4 recommended)
captionstringNo--Caption for the video (max 2200 characters)
hashtagsstring[]No--Hashtags to append (without # prefix)
cookiesstringNo--TikTok session cookies as JSON string
cookieStorageKeystringNo--Key to load cookies from Cookie Manager KV Store
cookieKvStoreNamestringNocookie-sessionsName of the Named KV Store for cookies
usernamestringNo--TikTok email (fallback auth, low success rate)
passwordstringNo--TikTok password
allowCommentsbooleanNotrueAllow comments on the video
allowDuetbooleanNotrueAllow duets
allowStitchbooleanNotrueAllow stitches
isPrivatebooleanNofalseMake the video private
timeoutintegerNo180Max seconds to wait for upload (60-600)
demoModebooleanNotrueReturn mock data without real credentials
indexNowKeystringNo--IndexNow API key for instant search indexing
webhookUrlstringNo--URL to receive POST when run finishes
proxyobjectNo--Proxy configuration (Apify residential recommended)

Output Format

Successful post

{
"success": true,
"videoUrl": "https://www.tiktok.com/@username/video/1234567890123456789"
}

Failed authentication (no charge)

{
"success": false,
"error": "Authentication failed. TikTok has aggressive bot detection...",
"_warning": "LOGIN_FAILED: Could not authenticate with TikTok..."
}

Unconfirmed post (no charge)

{
"success": false,
"error": "Post submission status unknown...",
"_warning": "UNCONFIRMED: No charge was applied because the post could not be verified."
}

Pricing

This actor uses pay-per-event billing. You are only charged for confirmed successful posts.

EventDescriptionPrice
apify-actor-startBase cost per run$0.10
video_postedPer confirmed video post$0.05

Example costs:

  • Single video: $0.10 + $0.05 = $0.15
  • Failed run (auth error): $0.10 + $0.00 = $0.10 (no post charge)

Troubleshooting

"Authentication failed" / LOGIN_FAILED warning

Cause: Cookies are expired, invalid, or TikTok blocked the login attempt.

Fix:

  1. Re-capture fresh cookies using Cookie Manager -- cookies should be less than 24 hours old
  2. Make sure you export ALL cookies for .tiktok.com, not just a few
  3. If using username/password, switch to cookies instead -- TikTok CAPTCHAs block most credential logins
  4. Try enabling the residential proxy (proxy.useApifyProxy: true)

"Could not click the Post button" error

Cause: TikTok's upload page has animations that can block the Post button, or the video was still processing when the actor tried to click.

Fix:

  • Increase the timeout parameter (try 300 or higher for large videos)
  • Ensure your video is under 10 minutes and under 287 MB (TikTok's upload limits)
  • Use MP4 format with H.264 encoding for best compatibility

"Post submission status unknown" / UNCONFIRMED warning

Cause: The actor clicked Post but could not confirm whether TikTok accepted the video. This can happen when TikTok changes their UI or adds new confirmation flows.

Fix:

  • Check your TikTok account manually -- the video may have posted successfully
  • Re-run the actor; this is often a one-time UI timing issue
  • No charge was applied, so you can safely retry

Video upload seems stuck

Cause: Large video files or slow download speeds can exceed the timeout.

Fix:

  • Host your video on a fast CDN (S3, Cloudflare R2, etc.)
  • Use compressed MP4 files (under 50 MB is ideal)
  • Increase the timeout parameter

Demo data showing instead of real results

Cause: demoMode is still set to true (it defaults to true).

Fix: Set demoMode: false and provide cookies or credentials.


TikTok-Specific Warnings

  • Cookie expiration: TikTok session cookies typically expire within 24-48 hours. Re-capture frequently.
  • Rate limiting: Posting too many videos in quick succession will trigger TikTok's spam filters. Space runs at least 15 minutes apart.
  • Account safety: Excessive automated posting can result in temporary or permanent account restrictions. Start slow (2-3 videos/day) and increase gradually.
  • Two-factor auth: If your TikTok account has 2FA enabled, you must use cookie-based authentication (cookies captured after completing 2FA).
  • Geo-restrictions: TikTok may behave differently based on the proxy's geographic location. Use a residential proxy from the same country as your account.
  • Video requirements: MP4 format, H.264 codec, under 287 MB, under 10 minutes. Vertical (9:16) aspect ratio recommended.

Built by John Rippy | Actor Arsenal