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
The Howlers
Maintained by CommunityActor stats
1
Bookmarked
19
Total users
0
Monthly active users
20 days ago
Last modified
Categories
Share
TikTok Automation - Upload and post videos to TikTok automatically. Browser automation for reliable posting without API access. Perfect for content creators, social media managers, and marketing agencies. Supports video uploads, captions, hashtags, and scheduling.
BYOK (Bring Your Own Account) -- you post to your own TikTok account, so you provide either exported login cookies (recommended) or a username/password.
Before You Start
This actor posts to a real TikTok account through browser automation (TikTok has no public posting API). You need one of the following:
cookies— cookies exported from a browser where you are logged into TikTok (most reliable; use the Cookie-Editor extension and paste the JSON).cookieStorageKey— cookies saved earlier by the Cookie Manager actor.username+password— least reliable; TikTok's login often shows a CAPTCHA that automation cannot clear. Prefer cookies.
A residential proxy is strongly recommended (see proxy below) — TikTok
blocks datacenter IPs, so posting usually fails without one.
Automatic anti-blocking (cookie priming)
TikTok aggressively blocks automated browsers on cold start. Before it logs in
with your account, this actor automatically primes the browser with fresh
anti-bot cookies from a companion actor, tiktok-cookie-refresh, which runs
on a schedule, solves TikTok's CAPTCHA once, and publishes anonymous
device-fingerprint cookies for the whole TikTok actor fleet to share.
These priming cookies are anonymous only — they carry no login/identity fields, so they never interfere with your own session. They just warm the device so the automated browser clears the bot wall before your account signs in. No configuration needed; priming happens automatically.
You still need to supply your own logged-in cookies (or cookieStorageKey,
or username/password) to actually post — priming does not authenticate you.
Quick Start
Run with real data
{"cookies": "[{\"name\":\"sessionid\",\"value\":\"...\",\"domain\":\".tiktok.com\"}]","videoUrl": "https://your-storage.example.com/clip.mp4","caption": "New drop is live","hashtags": ["fyp", "smallbusiness"],"allowComments": true,"allowDuet": true,"allowStitch": true,"isPrivate": false,"timeout": 180,"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Running without credentials
If you run the actor without TikTok credentials or session cookies (or with demoMode: true), it returns a labeled simulated post result so you can preview the output format. Sample items carry demo: true and a _notice field, no video is posted, and no task events are charged. Supply your own credentials or cookies for live posting.
Input Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
username | string | - | No | TikTok account username or email |
password | string | - | Yes* | TikTok account password |
cookies | string | - | Yes* | Exported cookies from logged-in session (strongly recommended - TikTok has aggressive bot detection) |
videoUrl | string | - | No | URL of the video file to upload (MP4 recommended) |
caption | string | - | No | Caption for your video (max 2200 characters) |
hashtags | array | - | No | Hashtags to add (without # prefix) |
allowComments | boolean | true | No | Allow comments on the video |
allowDuet | boolean | true | No | Allow others to duet with this video |
allowStitch | boolean | true | No | Allow others to stitch this video |
isPrivate | boolean | false | No | Make the video private (only you can see it) |
timeout | integer | 180 | No | Maximum time to wait for the video upload to complete |
webhookUrl | string | - | No | URL to receive a POST request when the actor run finishes. Useful for integrations with Zapier, Make, n8n, or custom automation workflows. |
indexNowKey | string | - | No | Optional IndexNow API key for instant search engine indexing of posted content. Get your key at https://www.bing.com/indexnow |
cookieStorageKey | string | - | No | Key to load cookies from the Cookie Manager's Named KV Store. Use this instead of manually pasting cookies. Run Cookie Manager in 'capture' mode first to store cookies, then reference the same storageKey here. |
cookieKvStoreName | string | "cookie-sessions" | No | Name of the Named Key-Value Store where Cookie Manager saved the session. Defaults to 'cookie-sessions'. |
proxy | object | Apify Residential | No | Proxy configuration. Residential is strongly recommended — TikTok blocks datacenter IPs, so posting usually fails without it. |
demoMode | boolean | false | No | Return a labeled sample result without posting. Also activates automatically when no credentials/cookies or video URL are supplied. Charges no task events. |
* Provide either cookies/cookieStorageKey or username+password. Cookies are strongly preferred.
Pricing
This actor uses pay-per-event billing:
| Event | Description | Price |
|---|---|---|
| Actor Start | Charged once when the run starts (one event per GB of memory) | $0.10 |
| result | Each item written to the default dataset | $0.00001 |
| Video Posted | Each TikTok video successfully posted | $0.05 |
Demo runs (no credentials, or demoMode: true) charge no Video Posted events.
Troubleshooting
Login failed / not logged in
- Your cookies expired. Export fresh cookies from a browser where you are
logged into TikTok and paste them into
cookies. - Username/password login often hits a CAPTCHA that automation cannot clear — use cookies instead.
Post never completes / times out
- Add a residential proxy (
proxy→ Apify Residential group). TikTok blocks datacenter IPs, so uploads stall or fail without one. - Raise
timeout(max 600s) for large videos on slow connections.
Video won't upload
- Make sure
videoUrlpoints at a directly downloadable MP4 (not a web page). - Keep captions under 2200 characters.
How do I test without posting?
Run the actor without credentials/cookies, or set demoMode: true. You get a
labeled sample result, no video is posted, and no task events are charged.
Built by John Rippy | Actor Arsenal