Tiktok Poster
Pricing
from $0.01 / 1,000 results
Tiktok Poster
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
Actor stats
0
Bookmarked
8
Total users
3
Monthly active users
4 days ago
Last modified
Categories
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
Option 1: Google SSO (Recommended)
Best for accounts that use "Sign in with Google":
| Input | Description |
|---|---|
googleEmail | Your Google account email |
googlePassword | Your Google account password |
sadCaptchaApiKey | Required for captcha solving |
Option 2: Phone + SMS via HeroSMS
Best for accounts registered with a phone number:
| Input | Description |
|---|---|
smsActivateApiKey | Your HeroSMS API key (hero-sms.com) |
phoneCountry | Country code: us, gb, de, id, my, ph, vn, th, ru, ua, pl |
sadCaptchaApiKey | Required 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:
| Input | Description |
|---|---|
username | Your TikTok email or username |
password | Your TikTok password |
sadCaptchaApiKey | Required for captcha solving |
Option 4: Cookies (Advanced)
For manual session management:
| Input | Description |
|---|---|
cookiesArray | Array of cookie objects exported from your browser |
cookies | Alternative: 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": falseif 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
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
videoUrl | string | Yes | - | URL to MP4 video file |
caption | string | No | - | Video caption text |
hashtags | array | No | [] | List of hashtags (without #) |
googleEmail | string | No | - | Google email for SSO |
googlePassword | string | No | - | Google password for SSO |
username | string | No | - | TikTok username/email |
password | string | No | - | TikTok password |
smsActivateApiKey | string | No | - | HeroSMS API key |
phoneCountry | string | No | "us" | Phone number country |
sadCaptchaApiKey | string | No | - | SadCaptcha API key |
cookiesArray | array | No | - | Browser cookies array |
cookies | string | No | - | Cookies as JSON string |
isPrivate | boolean | No | false | Make video private |
allowComments | boolean | No | true | Allow comments |
allowDuet | boolean | No | true | Allow duets |
allowStitch | boolean | No | true | Allow stitches |
reuseSession | boolean | No | true | Reuse login session across runs |
demoMode | boolean | No | false | Test without posting |
proxy | object | No | Residential US | Proxy 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
| Version | Changes |
|---|---|
| 2.5 | Added session persistence - reuse login across runs |
| 2.4 | Migrated from SMS-Activate to HeroSMS |
| 2.3 | Added Phone+SMS authentication |
| 2.2 | Added Google SSO support |
| 2.1 | Added live login (username/password) |
| 2.0 | Rewrite with Python + nodriver |
| 1.x | Original 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.