TikTok Video Uploader
Pricing
Pay per event
TikTok Video Uploader
Upload a video to your own TikTok account from a URL, with a caption, hashtags, and privacy setting. You bring your own exported session cookies (Cookie-Editor), so your login stays yours and nothing is shared. For creators automating their own posting.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
Posts a video to your own TikTok account from a URL. You give it the video, a caption, and your own exported session cookies, and it drives a headless browser through TikTok's Studio upload page to publish the post. It's meant to be the publish step of a faceless-content or scheduling pipeline.
Best-effort browser automation. There is no official TikTok posting API for this, so the actor automates the real TikTok Studio web UI with your session cookies. TikTok actively detects automation and may show a captcha / "verify it's you" wall, or rate-limit / restrict / ban the account. Run it only on your own account, at your own discretion. When TikTok throws a wall the actor stops with a clear error and a debug screenshot — it does not silently hang.
How it works
It downloads your video, launches a headless Chromium routed through a residential proxy, loads your exported TikTok cookies into the session, opens the TikTok Studio upload page, sets the file, fills the caption, picks (and verifies) the privacy, clicks Post, and waits for TikTok's real "uploaded / published" confirmation before reporting success. There is no shared login — you bring your own session each run.
Try it with no login (demo mode)
Run it with no cookies (or set demoMode: true) and it returns one clearly-labeled SAMPLE row and uploads nothing. Use this to see the output shape before wiring up your session.
Input
| Field | Required | Notes |
|---|---|---|
videoUrl | for real uploads | Public direct, non-expired URL to the .mp4. You host it (S3, CDN, key-value store). |
cookies | for real uploads | Your TikTok session, exported as Cookie-Editor JSON. Leave blank for a demo run. Stored as a secret. |
caption | no | The caption. Put your #hashtags here. |
privacy | no | public, friends, or private. If private/friends can't be confirmed, the actor refuses to post (so it never publishes Public by accident). |
proxyConfiguration | no | A residential proxy in the same country as your account is strongly recommended; datacenter IPs and country mismatches trigger captcha walls. |
demoMode | no | Force a no-upload sample run even with cookies. |
How to export your TikTok cookies
- Log into tiktok.com in Chrome/Edge as the account you want to post from.
- Install the Cookie-Editor extension and open it on a tiktok.com tab.
- Click Export → Export as JSON (this copies the whole cookie set to your clipboard).
- Paste that JSON into the
cookiesfield.
The export must include sessionid (and ideally sid_tt, tt_csrf_token, msToken) for .tiktok.com — sessionid alone is often not enough. Export from the same country your proxy uses. Cookies expire; re-export when you see a "not logged in" error.
Output
One dataset record. On a confirmed upload: { ok: true, platform, videoUrl, videoId, caption, privacy, privacyApplied, postedAt, runId }, where videoUrl/videoId point at the published post (resolved from the content manager; may be null if TikTok didn't surface it). On failure: { ok: false, error }, plus a debug screenshot + page HTML in the run's key-value store. Demo runs carry _demo: true and a _notice.
Example
{"videoUrl": "https://cdn.example.com/clip.mp4","caption": "new drop today #fyp","privacy": "public","cookies": "[{\"name\":\"sessionid\",\"value\":\"...\",\"domain\":\".tiktok.com\",\"path\":\"/\"}]"}
Pricing
$0.10 per confirmed upload (charged only after TikTok's published confirmation). Failed/unconfirmed runs and demo runs are free. You supply your own cookies and proxy.
Notes
This automates your logged-in TikTok session, which TikTok's terms discourage — see the warning at the top. Because it drives TikTok's actual web UI, a layout change on their side can break a selector and need an update; when that happens the actor fails with an actionable message and saves a screenshot rather than reporting a false success.


