TikTok Video, Audio & Cover Downloader
Pricing
from $0.49 / 1,000 results
TikTok Video, Audio & Cover Downloader
Download TikTok videos, cover thumbnails, background audio, and slideshow images by post URL, with quality selection and a stable download link per file.
Pricing
from $0.49 / 1,000 results
Rating
0.0
(0)
Developer
Nimbryxo-studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Download TikTok video files, cover thumbnails, background audio, and slideshow images by URL. The actor stores each file in Apify's Key-Value Store and returns a stable download URL per asset. Supports quality selection (best, 720p, 540p, 360p, smallest) and a configurable filename template. No TikTok account or cookies are required.
What this actor does
- Accepts TikTok video and photo post URLs or bare numeric post IDs as input (duplicates are processed once)
- Downloads the selected asset types (video, cover image, audio, slideshow frames) per post
- Stores each file in the run's Key-Value Store and emits one dataset row per downloaded asset; assets that can't be found or downloaded get no row
- Supports quality selection for video downloads: best, 720p, 540p, 360p, or smallest
- Returns file metadata including dimensions, byte size, codec, and bitrate where available
- Allows a custom filename template with
{postId},{type},{ordinal}, and{ext}placeholders - Processes each URL sequentially to avoid rate limiting
- Empty fields are omitted
Output per asset
postId— unique TikTok video IDpostUrl— canonical TikTok post URLassetType— type of asset:video,cover,audio, orimageordinal— index of the asset within its type: the frame number for slideshow images,0for everything elsekvsKey— Key-Value Store key used to store the file (built fromfilenameTemplate, with characters other than letters, digits,.,_and-replaced by_)kvsUrl— stable Apify Key-Value Store URL to download the filemimeType— MIME type the file is stored with:video/mp4,audio/mpeg, orimage/jpegfor covers and slideshow imagesbyteSize— file size in byteswidth— pixel width (video and slideshow image assets)height— pixel height (video and slideshow image assets)duration— duration in seconds (video and audio assets)codecType— video codec identifier (e.g.h264), video onlybitrate— video bitrate in bps, video onlygearName— TikTok quality tier label of the chosen video file (e.g.normal,adapt), present when TikTok offered a list of quality optionsdefinition— TikTok's video definition label (e.g.normal,high), when exposed separately fromgearNamedownloadedAt— ISO 8601 timestamp when the file was saved to the store
Input
| Field | Type | Default | Description |
|---|---|---|---|
postUrls | array of strings | — | TikTok post URLs to download, such as tiktok.com/@user/video/ID, /photo/ID, /video/ID, /v/ID or /embed/v2/ID, or bare numeric IDs. Short vm.tiktok.com/vt.tiktok.com links are not recognized and are skipped. |
postIds | array of strings | — | Numeric TikTok post IDs (alternative to postUrls; both lists can be combined). |
assetTypes | array of strings | ["video", "cover"] | Asset types to download per post: video, images (slideshow frames), audio, cover. |
preferredQuality | string | "best" | Target video quality: best, 720p, 540p, 360p, or smallest. |
filenameTemplate | string | "{postId}_{type}_{ordinal}.{ext}" | Template for Key-Value Store keys. Placeholders: {postId}, {type}, {ordinal}, {ext}. |
Example: Download video and cover thumbnail
{"postUrls": ["https://www.tiktok.com/@khaby.lame/video/7574844184952081686"],"assetTypes": ["video", "cover"],"preferredQuality": "best"}
Example: Cover thumbnails only (lightweight)
{"postUrls": ["https://www.tiktok.com/@khaby.lame/video/7574844184952081686","https://www.tiktok.com/@natgeo/video/7341234567890123456"],"assetTypes": ["cover"]}
Example: Download at 540p to save storage
{"postUrls": ["https://www.tiktok.com/@bbcnews/video/7395279524742083872"],"assetTypes": ["video"],"preferredQuality": "540p","filenameTemplate": "{postId}_video_{ordinal}.{ext}"}
Example: Download slideshow images and audio
{"postUrls": ["https://www.tiktok.com/@somecreator/video/7123456789012345678"],"assetTypes": ["images", "audio"]}
Use cases
- Content archiving — preserve brand or creator content before it is deleted or made private
- Ad creative libraries — download competitor or inspiration videos for internal review and benchmarking
- Thumbnail pipelines — bulk-collect cover images for visual classification, brand consistency audits, or moderation workflows
- Media production — pull background music tracks (
audioasset type) from viral TikTok sounds for licensing research - Dataset building — compile labeled video/image datasets for computer vision or multimodal ML training
FAQ
Q: Do I need a TikTok account or cookies?
A: No. The actor downloads publicly available TikTok videos without any authentication.
Q: How long are the download URLs valid?
A: Files are stored in the run's default Key-Value Store, and kvsUrl works for as long as Apify keeps that run's storage (unnamed storages are removed after your plan's retention period). Download the files to your own storage if you need them for longer.
Q: What is the difference between video and images asset types?
A: video downloads the standard MP4 file for regular video posts. images downloads individual frames from TikTok slideshow (photo carousel) posts, one row per frame. Regular video posts do not produce image rows.
Q: What does preferredQuality do exactly?
A: When TikTok offers several encodings of a video, the actor picks the one whose quality-tier label contains the requested resolution (e.g. 720), or the highest/lowest bitrate for best/smallest. If no entry matches the label, it falls back to the highest-bitrate entry, same as best. When TikTok offers no list of encodings, the single available file is downloaded regardless of this setting.
Q: What if a URL fails to download?
A: Failed downloads do not block other URLs — the actor moves on to the next post. A post that produces no assets simply has no rows in the dataset rather than an error row, so check your input list against the dataset's distinct postId values to see which posts didn't come through. Inputs that aren't recognized as a TikTok post are skipped the same way.
Q: Are short TikTok URLs (vm.tiktok.com, vt.tiktok.com) supported?
A: No. Open the short link in a browser and paste the full tiktok.com/@user/video/ID address, or just the numeric ID, instead.
Q: Can I download multiple posts in one run?
A: Yes. Pass as many URLs as needed in the postUrls array. Posts are processed sequentially.
Q: What filename template should I use for slideshow images?
A: Keep {ordinal} in the template (the default does) so each frame gets a unique, ordered key; without it, frames of the same post overwrite each other in the store.
Q: Is this affiliated with TikTok?
A: No. It is an independent tool that downloads publicly available TikTok media and is not run or endorsed by TikTok. Only download content you have the right to use.