TikTok Video Uploader avatar

TikTok Video Uploader

Pricing

Pay per event

Go to Apify Store
TikTok Video Uploader

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

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

13 days ago

Last modified

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

FieldRequiredNotes
videoUrlfor real uploadsPublic direct, non-expired URL to the .mp4. You host it (S3, CDN, key-value store).
cookiesfor real uploadsYour TikTok session, exported as Cookie-Editor JSON. Leave blank for a demo run. Stored as a secret.
captionnoThe caption. Put your #hashtags here.
privacynopublic, friends, or private. If private/friends can't be confirmed, the actor refuses to post (so it never publishes Public by accident).
proxyConfigurationnoA residential proxy in the same country as your account is strongly recommended; datacenter IPs and country mismatches trigger captcha walls.
demoModenoForce a no-upload sample run even with cookies.

How to export your TikTok cookies

  1. Log into tiktok.com in Chrome/Edge as the account you want to post from.
  2. Install the Cookie-Editor extension and open it on a tiktok.com tab.
  3. Click Export → Export as JSON (this copies the whole cookie set to your clipboard).
  4. Paste that JSON into the cookies field.

The export must include sessionid (and ideally sid_tt, tt_csrf_token, msToken) for .tiktok.comsessionid 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.