This guide walks you through cloning TikTokSaver and running both the Express backend and the React frontend on your local machine. The entire setup takes under five minutes and requires no environment variables for basic usage — you only need Bun installed.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.
Prerequisites
| Tool | Version | Notes |
|---|---|---|
| Bun | v1.0+ | Required. Used as both the package manager and the runtime for the API server. |
| Node.js | Any LTS | Optional. The project is fully compatible with a standard Node.js environment, but all documented commands use Bun. |
| Git | Any | Required to clone the repository. |
Running TikTokSaver locally requires two terminal windows open simultaneously — one for the backend API server and one for the frontend Vite dev server. Keep both running while you use the application.
Setup Steps
Install API dependencies
The This installs Express, CORS, dotenv, and
api/ directory is an independent Node.js package. Install its dependencies with Bun:@tobyg74/tiktok-api-dl as listed in api/package.json.Install client dependencies
From the project root, move into the This installs React 19, Vite 7, Tailwind CSS v4, Framer Motion, Axios, and the rest of the frontend dependencies declared in
client/ directory and install the frontend dependencies:client/package.json.Start the backend server
In your first terminal, start the Express API server:The server starts on port 3000. You should see:Leave this terminal running.
Start the frontend dev server
In your second terminal, start the Vite development server:Vite starts on port 5173. You should see output similar to:Leave this terminal running alongside the first.
Open the application
Navigate to http://localhost:5173 in your browser. You will see the TikTokSaver interface with a URL input field and the REVELAR CONTENIDO button.
Install Commands at a Glance
Root-Level Convenience Scripts
The rootpackage.json provides shorthand scripts so you can manage both workspaces without cd-ing into subdirectories:
bun run <script-name>, for example:
How the Frontend Proxies API Calls
During development, all requests the React app makes to/api/* are automatically forwarded to the backend by Vite’s built-in dev proxy. This is configured in client/vite.config.ts:
axios.get('/api/download?url=...') in the browser transparently hits http://localhost:3000/api/download?url=... without any CORS issues or hardcoded URLs. In production (Vercel), the same /api/* path pattern is handled by vercel.json rewrites that route requests to the serverless function at api/index.js.
Downloading Your First Video
Once both servers are running and you have the app open in your browser:-
Copy a TikTok URL — any of the following formats work:
-
Paste it into the input field labelled
PEGA EL ENLACE DE TIKTOK AQUÍ... -
Click “REVELAR CONTENIDO” — the button triggers a
GET /api/downloadrequest with the URL encoded as a query parameter. -
Choose a download option — the result panel displays the available options based on the content type:
- Sin Marca — watermark-free H.264 MP4 video
- Con Marca (HD) — original watermarked version with HD quality
- Audio MP3 — extracted audio track
- Slideshow images — individual image files (for photo posts only)
-
Click any option to trigger a proxied download through
/api/proxy-download, which streams the file directly to your browser with a sanitized filename.
If a URL was just generated (e.g. a fresh share link from the TikTok app), the TikWM API may take a few seconds to index it. If you receive an error on the first attempt, wait a moment and try again.