TikTok Video & Slideshow Downloader (No Watermark)
Pricing
$3.00 / 1,000 link downloadeds
TikTok Video & Slideshow Downloader (No Watermark)
Download TikTok videos without the watermark, with sound, and photo slideshows as full-size images, from video, photo and short vm./vt. links. Files are saved to the run's storage with public links, plus caption, author and duration.
Pricing
$3.00 / 1,000 link downloadeds
Rating
0.0
(0)
Developer
BotVerse
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
Download TikTok videos without the watermark, with sound, and photo slideshows as full-size images, from video, photo and short vm./vt. links. Files are saved to the run's storage with public links, plus caption, author and duration.
Why this one
- No TikTok watermark, original quality, with sound (checked frame by frame on real videos)
- Photo slideshows: every photo at full size, in order (the slideshow's background music is not included)
- The files themselves, saved with a public link (TikTok's own links stop working outside the session)
- Caption, author and duration in the same result
- You only pay for links that work. Private, deleted and invalid links are returned with a clear error code and are not charged.
- Automatic retries with a fresh proxy session when the platform rate-limits.
How to use it
- Paste one or more links into Post links.
- Click Start.
- Download the results as JSON, CSV or Excel - or call the Actor from your code through the API tab.
Links it accepts
tiktok.com/@user/video/...tiktok.com/@user/photo/...(photo slideshows)vm.tiktok.com/...andvt.tiktok.com/...short links
Input example
{"urls": ["https://www.tiktok.com/@pokemonlife22/video/7059698374567611694","https://www.tiktok.com/@willow_ink/photo/7689576746735209736"]}
Output example
One dataset item per link (a real result; long lists and links are shortened here - a real result holds every item of the post, up to 20, with full links):
{"inputUrl": "https://www.tiktok.com/@pokemonlife22/video/7059698374567611694","success": true,"platform": "tiktok","id": "7059698374567611694","title": "TikTok video #7059698374567611694","caption": "","author": "Pokemon","duration": 6,"thumbnail": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/c36bdc7d74de474b9b83...","sourceUrl": "https://www.tiktok.com/@pokemonlife22/video/7059698374567611694","mediaCount": 1,"media": [{"type": "video","url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-ve-37c799-sg/55de8...","width": 576,"height": 1024,"ext": "mp4","has_audio": true,"quality": "hd"}],"tookMs": 5743,"attempts": 1,"fetchedAt": "2026-10-07T23:43:51+00:00","files": [{"type": "video","url": "file:///D:/apis/apify/actors/tiktok-video-downloader-no-watermark/storage/key_value_stores/default/tiktok-7059698374567611694-00.mp4","size": 658136,"key": "tiktok-7059698374567611694-00.mp4"}]}
media[] lists every video and photo in post order. Videos come with their sound; has_audio: false means the
original post itself is silent. When a platform keeps picture and sound apart, the item has audio_url and
needs_merge: true - the saved file is always one joined MP4.
Files are always saved to the run's storage: every item has files[] with public links (TikTok's own links only work inside the session that made them). Saved files are kept for your Apify plan's data-retention period (7 days on the free plan): download them, or copy them to a named storage, to keep them longer.
A summary of the run (links, succeeded, failed, invalid) is saved as the OUTPUT record of the key-value store.
Use it from your code
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("botverse/tiktok-video-downloader-no-watermark").call(run_input={"urls": ["https://www.tiktok.com/@pokemonlife22/video/7059698374567611694"]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["success"], [m["url"] for m in item.get("media", [])])
JavaScript (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('botverse/tiktok-video-downloader-no-watermark').call({ urls: ["https://www.tiktok.com/@pokemonlife22/video/7059698374567611694"] });const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
One HTTP call that waits and returns the results:
curl -X POST "https://api.apify.com/v2/acts/botverse~tiktok-video-downloader-no-watermark/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" -d '{"urls": ["https://www.tiktok.com/@pokemonlife22/video/7059698374567611694"]}'
Use cases
- Save your own posts and campaign videos for your archive or for re-editing
- Add a "save this video" feature to your app or bot without building scrapers
- Collect public media for research, moderation or trend analysis
- Move content between platforms (only where you hold the rights)
Errors
A link that cannot be downloaded returns "success": false and an error:
| code | meaning |
|---|---|
PRIVATE | private account, or the post needs a login |
NOT_FOUND | the post was deleted or never existed |
NO_MEDIA | the post has no video or photo |
BLOCKED | the platform blocks this post for the network or country |
RATE_LIMITED | the platform is limiting requests - retried automatically, then reported |
TIMEOUT | the platform answered too slowly |
TOO_LARGE | the file is over 200 MB (links-only mode has no size limit) |
COST_LIMIT / RUN_TIMEOUT | the run's maximum cost or time limit was reached before this link - not processed |
INVALID_URL | not a supported post link |
Failed links are not charged.
Pricing
Pay per result: $3.00 per 1,000 successful links ($0.0030 each), all-inclusive - no extra compute, proxy or storage charges. Failed links are free.
| Links | You pay |
|---|---|
| 100 | $0.30 |
| 1,000 | $3.00 |
| 10,000 | $30.00 |
Proxy
The default is Apify's residential proxy, used only for the sites that need it (Instagram, TikTok and Facebook block ordinary addresses). Its cost is included in the price - you pay nothing extra. Other sites are fetched directly and use the proxy only as a retry.
FAQ
Do I need an account or cookies? No. Only public posts are supported.
How fast is it? Usually 2-6 seconds per link; several links run in parallel (Links at the same time).
Is it legal? It downloads public content the same way a browser shows it. Use the media in line with the platform's terms and the creator's copyright.
Something does not work? Open an issue on the Issues tab with the link - we answer quickly.