A Node.js tool to download TikTok videos without watermarks, along with their metadata.
- Downloads TikTok videos without watermarks
- Saves video metadata in JSON format
- Processes multiple videos from a links file
- Tracks failed downloads
- Uses video descriptions as filenames
- Supports HD video downloads
- Progress tracking and detailed console output
- Node.js (v12 or higher)
- npm (Node Package Manager)
- Clone or download this repository
- Navigate to the project directory
- Install dependencies:
npm install axios- Create a
links.txtfile in the project directory - Add TikTok video URLs to
links.txt, one per line:
https://www.tiktok.com/@username/video/1234567890
https://www.tiktok.com/@username/video/0987654321
- Run the script:
node main.jsThe script will create the following structure:
project/
├── downloads/ # Downloaded videos
├── metadata/ # JSON files containing video metadata
├── failed.txt # Log of failed downloads
├── links.txt # Input file with video URLs
└── main.js # Main script
Each video's metadata includes:
- Video ID and description
- Creation time
- Author information
- View, like, comment, and share counts
- Music details
- Hashtags
- Video specifications (duration, resolution)
- Failed downloads are logged to
failed.txt - Each failed entry includes the URL and error message
- The script continues processing remaining links even if some fail
- A 1-second delay is added between downloads to avoid rate limiting
- Video filenames are based on their descriptions (sanitized for valid characters)
- Maximum filename length is 100 characters
- HD videos are downloaded when available
📋 Found 5 links to process
🔄 Processing link 1/5
🔗 URL: https://www.tiktok.com/@username/video/1234567890
📊 Video Metadata:
==================
🆔 Video ID: 1234567890
📝 Description: Video Title
...
✅ Video downloaded successfully: Video_Title.mp4
MIT License