TikTok Video Uploader Pro - Auto-Post Videos
Pricing
from $550.00 / 1,000 video uploadeds
TikTok Video Uploader Pro - Auto-Post Videos
Post a video to TikTok from any public URL. Set the caption and privacy. You get a confirmation and a link to the post. The upload fee is charged only when the post is confirmed. Bandwidth is billed per megabyte on any outcome, a failed run included. Your own proxy is never billed per MB.
Pricing
from $550.00 / 1,000 video uploadeds
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
TikTok Video Uploader Pro: post a video to TikTok from a link, on your own account
Give it a direct link to an .mp4, a caption and a privacy setting, and it signs in as you and
posts the video. You get one row back saying whether the post was confirmed, with the privacy TikTok
actually applied.
Two things to settle before you start. This runs on your own TikTok session cookies. There is no API key path and no account is supplied for you, so you paste your own cookies into the secret fields below. And bytes are billed on any outcome, including a run that fails after moving them, because those bytes were already moved. A run with no cookies is a labelled demo that uploads nothing.
| Input | A direct .mp4 link, a caption, and your own TikTok cookies |
| Output | One row saying whether the post went through |
| Ceiling | One video, to one account, per run |
| Account needed | Yours. Your own TikTok cookies, pasted in |
| Price | $0.55 when a post is confirmed, plus $0.02 for each megabyte moved |
📲 What TikTok Video Uploader Pro does
It opens TikTok Studio with your session, pulls the file from your link, puts it on the upload page, sets the caption and the privacy, and presses Post. Then it waits for TikTok to confirm the post before it calls the job done.
Privacy is checked rather than assumed. If you asked for private and the control could not be
confirmed, it refuses to post rather than risk putting your video out publicly.
📥 What you give it
{"videoUrl": "https://your-bucket.s3.amazonaws.com/clip.mp4","caption": "new one is up #fyp","privacy": "public"}
| Field | Default | What it is |
|---|---|---|
videoUrl | empty | A public, non-expired direct link to the .mp4. An Apify key-value store link, S3 or any CDN works. Leave it empty for a demo run. |
caption | empty | The caption, hashtags included. |
privacy | public | public, friends or private. |
cookies | empty | Secret. The whole tiktok.com cookie list, as a Cookie-Editor JSON export or a raw Cookie: header. This is the reliable one, because the upload page wants more than two cookies. |
sessionid | empty | Secret. Just the value of your sessionid cookie. |
sid_tt | empty | Secret. Just the value of your sid_tt cookie, from the same list. |
proxyConfiguration | a metered connection | The connection the upload session uses, and what the per-megabyte charge pays for. Put your own servers in it and they are used exactly as given, with no per-megabyte charge. |
demoMode | false | Force a labelled demo run that uploads nothing, even with cookies filled in. |
Fill in cookies, or the two named cookies, not both. If sessionid has anything in it, that
is what gets used and the pasted jar is ignored, which is the opposite of what you would expect.
A whole-list export on its own is the shape that works most often.
Your cookies are as good as your password for that account. Use an account you are comfortable exposing, expect them to stop working when you log out, and never save them into a task you publish.
📤 What you get back
A real row from a real confirmed post, with the byte accounting block trimmed off:
{"ok": true,"platform": "tiktok","caption": "heello","privacy": "private","postedAt": "2026-08-23T06:04:24.380Z","runId": "OPjdapVheI4YTjVs1","posted": true,"videoId": null,"videoUrl": null,"privacyApplied": true,"finalUrl": "https://www.tiktok.com/tiktokstudio/content"}
| Field | What it is |
|---|---|
ok, posted | The two you judge a run by. Both true means TikTok confirmed the post. |
privacyApplied | Whether the privacy you asked for was set on the page before posting. |
postedAt, finalUrl | When it went out, and the page TikTok left the session on. |
videoId, videoUrl | Best effort. They are read from the newest video link on the account after posting, so they can be null, as they are above, or point at an older post. Check the account if you need the exact link. |
chargeStatus | pending while a charge is still settling, not-charged when nothing will be billed. |
chargeNote | A plain sentence saying what this run will be billed for. |
bytesMoved | What actually crossed the wire: the video file, what was pushed to TikTok, and the session traffic. |
error | On a failure row, what went wrong, in a sentence you can act on. |
CHARGE_SUMMARY.json in the run's key-value store holds the settled figures, and a screenshot of
the page at the moment a run gave up lands there too.
🧾 Reading the output
The run exits successfully whatever happens, so judge it by the row, not the run status.
| Row | How to spot it | What it means |
|---|---|---|
| A confirmed post | ok: true and posted: true | The video is live on the account. |
| The demo row | _demo: true and a _notice | No cookies were supplied, so nothing was uploaded. |
| A failure | ok: false and an error | Nothing was confirmed. Read the sentence. |
The failure sentences are written to be acted on: the cookies are not a signed-in session, the link would not download, the Post button never enabled, the privacy control could not be confirmed.
One case deserves its own line. If the post is submitted but the confirmation never arrives, the
row says ok: false and the video may still be live. Check the account before running it again, or
you will post twice.
▶️ How to run it
- Put the video behind a direct
.mp4link that downloads without a login. - Export your tiktok.com cookies, signed in to the account you want to post from.
- Open TikTok Video Uploader Pro and run it once with the cookie fields empty. You get the demo row and nothing is posted.
- Paste the export into TikTok session cookies, fill in Video URL, Caption and Privacy, then click Start.
- Read the row.
okandpostedboth true means it is up.
💰 How much does it cost?
Two charges, and they are separate.
$0.55 when a post is confirmed. If nothing is published, that fee does not fire.
$0.02 for each megabyte the run moves, on any outcome, including a failed one, because the bytes
were already moved. chargeNote on the row gives you the figure.
Bytes that cross your own servers are never billed per megabyte, so putting them into
proxyConfiguration removes that charge on success and failure alike. Use a connection in the same
country as the account your cookies come from: a mismatch is the usual reason TikTok puts a check in
front of the session.
A demo run uploads nothing and moves no video bytes, so neither charge fires. And if the run's maximum cost cannot cover the upload fee, it stops before moving a single byte and charges nothing.
💡 What people use it for
- Publishing finished clips from a pipeline, so the last step is not somebody opening the app.
- Posting the same cut to several accounts, one run per account.
- Putting a video up as
privatefirst, checking it, then making it public by hand. - Wiring a post into a workflow that already made the file, in n8n, Make or a script.
🚧 What it does not do
- It cannot get past a challenge. If TikTok puts a check in front of the session, the run says so and stops. Cookies from a country matching the connection make that less likely.
- One video, one account, one run. No queue and no scheduling of its own. Apify's scheduler can run it repeatedly.
- It does not host your video. You supply a link that downloads without a login.
- No editing. No trimming, resizing, music, covers or stickers. The file goes up as it is.
videoIdandvideoUrlare not guaranteed. They can benullor name an older post.- Cookies expire. A session that worked last week can fail today, and the row will say so.
- A submitted post with no confirmation reads as a failure even though the video may be live.
- The upload fee only fires on a confirmed post, but the bytes are billed either way.
🧭 Which uploader do you need?
| If you want | Use |
|---|---|
| To post a video to TikTok from a link | This one |
| To post a Reel to Instagram | Instagram Reel Uploader Pro |
| To publish to YouTube | YouTube Uploader Pro |
| To post from Claude, ChatGPT or n8n | Social Media Uploader Pro |
| To pull a TikTok video down instead | TikTok Video Downloader |
❓ Questions people ask
Why does it need my cookies? TikTok has no public posting route for a normal account, so a signed-in session is the only way in, and that session is yours.
Which cookie field do I fill in? The whole-list export in cookies. Leave sessionid and
sid_tt empty when you use it, because a filled sessionid wins over the jar.
Can I try it without posting anything? Yes. Run it with the cookie fields empty for the demo row.
Can I schedule daily posts? Use Apify's scheduler, one run per post.
Why was I billed on a run that failed? The bytes had already moved. The $0.55 upload fee is not charged in that case.
Is automating posts allowed? TikTok's terms apply to you and your account, and automation carries real risk to it. Post your own content, keep the volume sane, and treat the risk as yours.
🆘 If something breaks
Open the Issues tab on the actor page. Send the run ID and the error sentence from the row.


