TikTokSaver is an open-source, full-stack web application that lets you retrieve TikTok content cleanly — no watermarks, no account required. It exposes a minimal browser interface backed by a Node.js/Express API that proxies requests through the TikWM public API, returning structured download links for videos, audio, and slideshow images. The project is designed to be self-hosted in minutes or deployed to Vercel with zero configuration.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/KevxxAlva/tiktok-bot-downloader/llms.txt
Use this file to discover all available pages before exploring further.
Core Capabilities
TikTokSaver covers three distinct content types that TikTok serves: Watermark-free video — The API requests theplay field from TikWM, which returns an H.264-encoded MP4 without the embedded TikTok logo. Where play is unavailable, the server transparently falls back to hdplay. A server-side proxy stream (/api/proxy-download) handles the actual file delivery so the browser never touches TikTok CDN URLs directly.
MP3 audio extraction — Every TikTok carries a music field in the TikWM response. TikTokSaver surfaces this as a dedicated “Audio MP3” download option alongside the video options, using the same proxy streamer that auto-corrects the file extension based on the upstream Content-Type header.
Slideshow image sets — TikTok photo slideshows do not produce a valid video render via the API. TikTokSaver detects the presence of an images array in the TikWM response and skips broken video entries entirely, giving you the individual image files instead.
Privacy Design
Direct image and media URLs returned by third-party APIs often enforce hotlinking restrictions and leak the client’s IP address to TikTok’s CDN. TikTokSaver routes all media through two server-side endpoints:GET /api/proxy-image— Fetches cover art and author avatars server-side with a 10-second abort timeout and a one-yearCache-Controlheader.GET /api/proxy-download— Streams video, audio, and image files through the server, sets a sanitizedContent-Dispositionheader, and retries with a strippedRefererheader on HTTP 403 responses.
Tech Stack
| Layer | Technology |
|---|---|
| Frontend framework | React 19 |
| Build tool | Vite 7 |
| Styling | Tailwind CSS v4 (via @tailwindcss/vite plugin) |
| Animations | Framer Motion 12 |
| Icons | Lucide React |
| HTTP client | Axios |
| Backend runtime | Node.js with Bun as the package manager and runner |
| Backend framework | Express 4 (exported as a Vercel serverless function) |
| Data source | TikWM public API (https://www.tikwm.com/api/) |
| Deployment target | Vercel (Vite framework, client/dist output directory) |
Monorepo Structure
The repository is organised as a two-package monorepo with a thin rootpackage.json that wires up convenience scripts:
package.json exposes the following scripts so you can operate both workspaces from a single location:
Supported URL Formats
TikTokSaver accepts any publicly accessible TikTok URL. The following formats are recognised by the TikWM backend:vm.tiktok.com), full desktop URLs, and mobile web URLs are all valid inputs. The URL is passed verbatim to TikWM, so any format that TikWM accepts will work.
Explore the Docs
Quickstart
Clone the repo, install dependencies with Bun, and have both servers running locally in under five minutes.
Deploy to Vercel
Push to GitHub and connect the repo to Vercel — the included
vercel.json handles all routing configuration.Self-Hosting
Run TikTokSaver on your own infrastructure with a traditional Node.js process or a containerised setup.
API Reference
Explore the three backend endpoints:
/api/download, /api/proxy-image, and /api/proxy-download.TikTokSaver is an independent open-source project intended for educational and personal use. It is not affiliated with, endorsed by, or connected to TikTok or ByteDance in any way. Always respect content creators’ rights and TikTok’s Terms of Service when downloading or redistributing content.