Record any TikTok LIVE stream to MP4 in one command. Node.js + Python.
CLI + SDK. HLS + FLV input. Uses ffmpeg under the hood. 2026 edition.
- Node.js + TypeScript →
node/(npm:tiktok-live-recorder) - Python →
python/(PyPI:tiktok-live-recorder)
Each SDK exposes the same shape: a TikTokLiveRecorder class + tiktok-live-recorder CLI. Pick the language that matches your stack.
npm i -g tiktok-live-recorder
tiktok-live-recorder streamer_usernameOr programmatic:
import { TikTokLiveRecorder } from 'tiktok-live-recorder';
const rec = new TikTokLiveRecorder('streamer');
const { outFile, durationSec } = await rec.record({ maxDurationSec: 3600 });
console.log(`Saved ${outFile} (${durationSec}s)`);pip install tiktok-live-recorder
tiktok-live-recorder streamer_usernameOr programmatic:
from tiktok_live_recorder import TikTokLiveRecorder
rec = TikTokLiveRecorder('streamer')
out_file, duration = rec.record(max_duration_sec=3600)
print(f'Saved {out_file} ({duration}s)')No key. No config. Just run it.
- Windows - download
node/start.bat, double-click, enter username. - macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/tiktool/tiktok-live-recorder/main/node/start.sh | bash
ffmpeg must be on PATH:
- Windows: https://www.gyan.dev/ffmpeg/builds/
- macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg(Debian/Ubuntu) orsudo dnf install ffmpeg(Fedora).
- The recorder asks
https://api.tik.tools/webcast/room_videofor the user's current HLS / FLV URLs. - The server checks live status + returns the URLs as JSON.
- The recorder spawns local
ffmpeg, copies the bytes to disk. No re-encoding.
All bandwidth flows directly from TikTok's CDN to your disk - none of it touches our servers.
- node/README.md - Node.js CLI + SDK
- python/README.md - Python CLI + SDK
MIT
This is an independent third-party project. Not affiliated with, endorsed by, or in any way officially connected to TikTok or ByteDance Ltd. "TikTok" is a trademark of ByteDance Ltd; the name appears here for search discoverability.