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

John Rippy

John Rippy

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

3

Monthly active users

4 days ago

Last modified

Share

TikTok Video Poster

The most reliable way to automate TikTok video uploads. Post videos to TikTok programmatically with full caption, hashtag, and privacy controls.

Why This Actor?

Most TikTok automation tools fail because they rely on exported cookies that get invalidated when the IP changes. This actor performs live authentication on a residential proxy, solving the session mismatch problem that plagues other solutions.

Key Features

  • 4 Authentication Methods - Google SSO, Phone+SMS, Direct Login, or Cookies
  • Smart Session Persistence - Login once, reuse across runs (saves time & money)
  • Automatic Captcha Solving - Powered by SadCaptcha (~$0.01/solve)
  • Residential Proxy Support - Built-in Apify proxy integration
  • Privacy Controls - Set videos as private, disable comments/duets/stitches
  • Hashtag Support - Automatically append hashtags to your caption
  • Demo Mode - Test your integration without posting

Authentication Methods

Best for accounts that use "Sign in with Google":

InputDescription
googleEmailYour Google account email
googlePasswordYour Google account password
sadCaptchaApiKeyRequired for captcha solving

Option 2: Phone + SMS via HeroSMS

Best for accounts registered with a phone number:

InputDescription
smsActivateApiKeyYour HeroSMS API key (hero-sms.com)
phoneCountryCountry code: us, gb, de, id, my, ph, vn, th, ru, ua, pl
sadCaptchaApiKeyRequired for captcha solving

How it works: The actor rents a temporary phone number, triggers TikTok to send an OTP, receives the code via API, and completes login automatically.

Option 3: Direct TikTok Login

For accounts with a TikTok password set:

InputDescription
usernameYour TikTok email or username
passwordYour TikTok password
sadCaptchaApiKeyRequired for captcha solving

Option 4: Cookies (Advanced)

For manual session management:

InputDescription
cookiesArrayArray of cookie objects exported from your browser
cookiesAlternative: JSON string of cookies

Note: Cookie authentication is less reliable due to IP mismatch issues. Live login methods are recommended.


Session Persistence (New!)

Save money and time by reusing your login sessions across runs.

When enabled, the actor saves your authenticated session after a successful login and reuses it on subsequent runs. This means:

  • Faster runs - Skip the login process entirely when session is valid
  • Lower costs - Fewer captcha solves means less SadCaptcha spend
  • More reliable - Fewer authentication steps = fewer points of failure
  • Smarter recovery - If a session expires, it automatically falls back to fresh login

How to Use

Session persistence is enabled by default. Just run the actor normally:

{
"videoUrl": "https://example.com/my-video.mp4",
"caption": "My video caption",
"googleEmail": "you@gmail.com",
"googlePassword": "your-password",
"sadCaptchaApiKey": "your-key",
"reuseSession": true
}

First run: Performs full login, saves session for future use. Subsequent runs: Restores saved session, skips login entirely.

Session Details

  • Sessions are stored securely per-account
  • Sessions automatically expire after 24 hours
  • Each account maintains its own independent session
  • Disable with "reuseSession": false if needed

Quick Start

Minimal Example (Google SSO)

{
"videoUrl": "https://example.com/my-video.mp4",
"caption": "Check out this video!",
"googleEmail": "you@gmail.com",
"googlePassword": "your-password",
"sadCaptchaApiKey": "your-sadcaptcha-key"
}

Full Example with All Options

{
"videoUrl": "https://example.com/my-video.mp4",
"caption": "Amazing content",
"hashtags": ["fyp", "viral", "trending"],
"googleEmail": "you@gmail.com",
"googlePassword": "your-password",
"sadCaptchaApiKey": "your-sadcaptcha-key",
"isPrivate": false,
"allowComments": true,
"allowDuet": true,
"allowStitch": true,
"proxy": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Input Reference

FieldTypeRequiredDefaultDescription
videoUrlstringYes-URL to MP4 video file
captionstringNo-Video caption text
hashtagsarrayNo[]List of hashtags (without #)
googleEmailstringNo-Google email for SSO
googlePasswordstringNo-Google password for SSO
usernamestringNo-TikTok username/email
passwordstringNo-TikTok password
smsActivateApiKeystringNo-HeroSMS API key
phoneCountrystringNo"us"Phone number country
sadCaptchaApiKeystringNo-SadCaptcha API key
cookiesArrayarrayNo-Browser cookies array
cookiesstringNo-Cookies as JSON string
isPrivatebooleanNofalseMake video private
allowCommentsbooleanNotrueAllow comments
allowDuetbooleanNotrueAllow duets
allowStitchbooleanNotrueAllow stitches
reuseSessionbooleanNotrueReuse login session across runs
demoModebooleanNofalseTest without posting
proxyobjectNoResidential USProxy configuration

Output

Success Response

{
"success": true,
"message": "Video posted successfully",
"videoId": "7123456789012345678",
"videoUrl": "https://www.tiktok.com/@username/video/7123456789012345678"
}

Error Response

{
"success": false,
"error": "Authentication failed: Invalid credentials"
}

Pricing & API Keys

SadCaptcha (Required for Login)

  • Cost: ~$0.01 per captcha solve
  • Get your key: sadcaptcha.com
  • Why needed: TikTok shows puzzle captchas during login

HeroSMS (For Phone+SMS Login)

  • Cost: ~$0.10-0.25 per phone number rental
  • Get your key: hero-sms.com
  • Why needed: Receive TikTok OTP codes automatically

Apify Proxy

  • Included: Residential proxies via Apify platform
  • Recommendation: Always use residential proxies for TikTok

Common Use Cases

Social Media Automation

Schedule and post videos to TikTok as part of your content calendar.

Cross-Platform Publishing

Post the same video to TikTok, Instagram, YouTube Shorts, etc.

Content Repurposing

Automatically repost top-performing content at optimal times.

Agency Workflows

Manage multiple client TikTok accounts from a single automation.


Troubleshooting

"Authentication failed"

  • Verify your credentials are correct
  • Ensure SadCaptcha API key is valid and has balance
  • For Google SSO: Make sure your TikTok is linked to that Google account

"Captcha solving failed"

  • Check SadCaptcha balance
  • Try again - some captchas are harder than others

"Video upload failed"

  • Ensure video URL is accessible and returns valid MP4
  • Check video meets TikTok requirements (max 10 min, proper codec)

"Session expired"

  • This is normal for cookie auth - use live login instead
  • Try Google SSO or Phone+SMS for more reliable auth

Technical Details

  • Runtime: Python 3.11
  • Browser: Chrome via nodriver (undetected)
  • Captcha: tiktok-captcha-solver SDK
  • Proxy: Residential recommended

Version History

VersionChanges
2.5Added session persistence - reuse login across runs
2.4Migrated from SMS-Activate to HeroSMS
2.3Added Phone+SMS authentication
2.2Added Google SSO support
2.1Added live login (username/password)
2.0Rewrite with Python + nodriver
1.xOriginal TypeScript version

Support

Having issues? Open a ticket on the actor's Issues tab or reach out to the developer.

Built with love for the TikTok automation community.