Download TikTok Videos Without Watermarks via Telegram Bot

Go to Workflow
3 views
Built by Nguyễn Thiệu Toàn (Jay Nguyen) Nguyễn Thiệu Toàn (Jay Nguyen)
Created on June 13, 2026

Description

🎬 TikTok Video Downloader (No Watermark) - Telegram Bot

> Download TikTok videos instantly without watermarks via Telegram
> Fast, reliable, and user-friendly automated workflow

✨ What This Workflow Does

This powerful automation turns your Telegram bot into a TikTok video downloader. Simply send any TikTok link, and the bot will:

✅ Validate the URL automatically
⚡ Extract video without watermark
📊 Display video statistics (views, likes, author)
🚀 Send the clean video file directly to you

No ads. No watermarks. Pure automation magic.

🎯 Key Features

| Feature | Description |
|---------|-------------|
| 🔍 Smart Validation | Automatically checks if the link is a valid TikTok URL |
| 💬 Real-time Feedback | Keeps users informed with status messages at every step |
| ⚠️ Error Handling | Catches and explains errors in user-friendly language |
| 📈 Video Analytics | Shows author name, view count, and likes |
| 🎥 High Quality | Downloads original video quality without TikTok watermark |
| ⚡ Fast Processing | Optimized HTTP requests with proper headers and timeouts |

🔧 How It Works

Workflow Flow Diagram

📱 User sends TikTok link

✅ URL Validation
├─ Valid → Continue
└─ Invalid → Send error message

💬 Send "Processing..." status

🌐 Fetch TikTok page HTML

🔍 Extract video URL from page data

⬇️ Download video file (no watermark)

📤 Send video to user with stats

Technical Process

Trigger Reception: Telegram webhook receives user message
URL Validation: IF node checks for tiktok.com or vm.tiktok.com domains
User Feedback: Bot sends "uploading video..." chat action + status message
Variable Configuration: Stores chat ID and video URL for later use
HTML Fetching: HTTP request to TikTok with browser-like headers
Data Extraction: JavaScript code parses UNIVERSAL_DATA_FOR_REHYDRATION JSON
Video Download: HTTP request with proper cookies and referrer headers
Delivery: Telegram sends video file with formatted caption including stats

Error Handling Strategy

Each critical node (HTTP requests, code execution) has error output enabled:

On Success**: Continues to next processing step
On Error**: Routes to "Format Error" → "Send Error Message" path
User Experience**: Clear, actionable error messages instead of silent failures

🚀 Set Up Steps

Prerequisites

✅ n8n instance (v1.116.0 or higher)
✅ Telegram Bot Token (Create via @BotFather)
✅ Basic understanding of n8n workflows

Step 1: Import Workflow

Copy the workflow JSON
In n8n, click "+ Add workflow" → "Import from JSON"
Paste the JSON and click "Import"

Step 2: Configure Telegram Credentials

Click on any Telegram node
Select "Create New Credential" in the Credentials dropdown
Enter your Bot Token from @BotFather
Click "Save"
All Telegram nodes will automatically use this credential

Step 3: Enable Error Handling ⚠️ CRITICAL

You MUST manually configure error outputs on these 3 nodes:

Node: "Get TikTok Page HTML"
Click the node → Settings tab
Find "On Error" section
Select "Continue With Error Output"
Click Save

Node: "Extract Video URL"
Click the node → Settings tab
Set "On Error" to "Continue With Error Output"
Click Save

Node: "Download Video File"
Click the node → Settings tab
Set "On Error" to "Continue With Error Output"
Click Save

> 💡 Why? n8n cannot import error handling settings via JSON. This manual step ensures errors are caught instead of crashing the workflow.

Step 4: Activate Workflow

Click the "Active" toggle in the top-right corner
The workflow is now listening for Telegram messages

Step 5: Test Your Bot

Open Telegram and find your bot
Send a TikTok link like: https://www.tiktok.com/@user/video/123456789
Watch the magic happen! 🎉

🧪 Testing Scenarios

| Test Case | Input | Expected Output |
|-----------|-------|----------------|
| Valid Video | Working TikTok link | ✅ Video file + stats caption |
| Invalid URL | hello world | ❌ "Please send valid TikTok link" |
| Deleted Video | Link to deleted video | ❌ "Video data not found" error |
| Private Video | Private account video | ❌ "Video may be private" error |
| Short Link | https://vm.tiktok.com/abc | ✅ Resolves and downloads |

🎨 Customization Ideas

Change Language
Edit text in Telegram nodes to translate messages:
"⏳ Downloading video..." → "⏳ Đang tải video..."

Add Video Compression
Insert a Compress node between "Download Video File" and "Send Video to User" for smaller files.

Store Statistics
Add a Google Sheets node after "Extract Video URL" to log:
Video URL
Author
Views/Likes
Download timestamp

Multi-Platform Support
Duplicate the workflow and modify URL validation + extraction logic for Instagram, YouTube Shorts, etc.

Rate Limiting
Add a Wait node (2 seconds) before "Get TikTok Page HTML" to avoid IP bans.

🐛 Troubleshooting

Problem: Bot doesn't respond
✅ Check if workflow is Active
✅ Verify Telegram credentials are correct
✅ Check Executions tab for errors

Problem: "Video data not found" error
✅ TikTok may have changed their HTML structure
✅ Update the regex in "Extract Video URL" node
✅ Check if video is actually deleted/private

Problem: Download fails
✅ Ensure "On Error" is set to "Continue With Error Output"
✅ Check if your IP is blocked by TikTok (use VPN)
✅ Verify headers in "Download Video File" node

Problem: Error messages not appearing
✅ Double-check error output connections (red dots)
✅ Make sure "Format Error" node references correct variables
✅ Test by intentionally breaking a node (invalid URL)

📊 Performance Metrics

| Metric | Value |
|--------|-------|
| Average Processing Time | 5-10 seconds |
| Success Rate | ~95% (valid public videos) |
| Max Video Size | Limited by Telegram (50MB) |
| Concurrent Users | Unlimited (webhook-based) |

🔐 Privacy & Security

✅ No Data Storage: Videos are streamed directly to users, not stored
✅ No Logging: User IDs and links are processed in-memory only
✅ Secure Headers: Mimics browser requests to avoid detection
✅ Error Sanitization: Sensitive data is filtered from error messages

📚 Technical Stack

n8n Version**: 1.116.0+
Node Types Used**:
telegramTrigger (v1.2)
telegram (v1.2)
if (v2.2)
set (v3.4)
httpRequest (v4.2)
code (v2)
stickyNote (v1)
External APIs**: TikTok CDN, Telegram Bot API

🎓 Learning Resources

Want to understand the workflow better? Check these concepts:

n8n Error Handling
Telegram Bot API
HTTP Request Headers
JavaScript Code Node

🤝 Contributing

Found a bug? Have an improvement idea?

Test your changes thoroughly
Document any new nodes or logic
Share your enhanced workflow with the community
Credit the original author (see below)

👨‍💻 About the Author

Nguyen Thieu Toan
n8n Automation Specialist & Workflow Creator

🌐 Website: nguyenthieutoan.com
📧 Contact: Available on website
🎯 Specialty: Building production-ready n8n workflows for real-world automation

> "I create workflows that just work. No fluff, no complexity—just reliable automation that saves time and solves problems."

Other Workflows by Nguyen Thieu Toan

🎵 Spotify to YouTube Playlist Converter
📸 Instagram Media Downloader Bot
📊 Multi-Channel Social Media Scheduler
🔄 Automated Content Repurposing Pipeline

Visit nguyenthieutoan.com for more automation workflows and tutorials.

📝 License & Attribution

This workflow is provided free of charge for personal and commercial use.

Required Attribution:
When sharing or modifying: Include author name and website link
When showcasing: Tag @nguyenthieutoan or link to nguyenthieutoan.com

Not Required But Appreciated:
Star the workflow on n8n community
Share your success story
Suggest improvements

🎉 Version History

| Version | Date | Changes |
|---------|------|---------|
| 2.0 | 2025-10-22 | • Added comprehensive error handling• Improved user feedback• Added video statistics• English language support• Enhanced documentation |
| 1.0 | 2025-10-21 | • Initial release• Basic download functionality |

⭐ Support This Work

If this workflow saved you time:

⭐ Star it on n8n community
📢 Share with fellow automation enthusiasts
💬 Leave feedback on nguyenthieutoan.com
☕ Buy me a coffee (link on website)

Happy Automating! 🚀

Last Updated: October 22, 2025
Workflow Name: TikTok Video Downloader (No Watermark) - Telegram Bot
Author: Nguyen Thieu Toan

Nodes Used (3)

Code
n8n-nodes-base.code
HTTP Request
n8n-nodes-base.httpRequest
Telegram
n8n-nodes-base.telegram