Download TikTok Videos Without Watermarks via Telegram Bot
π¬ 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
Related Templates
USDT And TRC20 Wallet Tracker API Workflow for n8n
Overview This n8n workflow is specifically designed to monitor USDT TRC20 transactions within a specified wallet. It u...
Send structured logs to BetterStack from any workflow using HTTP Request
Send structured logs to BetterStack from any workflow using HTTP Request Who is this for? This workflow is perfect for...
Automate Daily Keyword Research with Google Sheets, Suggest API & Custom Search
Who's it for This workflow is perfect for SEO specialists, marketers, bloggers, and content creators who want to automa...
π Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments