tt-dumper is a lightning-fast, multi-threaded CLI tool written in Python to extract video metadata and scrape comments from TikTok videos without requiring a login or session token !.
Scraped ~12,000 comments in just 7.5 seconds!
bud1mu@bud1mu:~/cyberspace/tt-dumper$ python tt-dumper.py --url https://www.tiktok.com/@officialinews/video/7606237981698952449 -f json -o hasil.json
__ __ __
/ /_/ /________/ /_ ____ _ ___ ___ ____
/ __/ __/___/ _ / // / ' \/ _ \/ -_) __/
\__/\__/ \_,_/\_,_/_/_/_/ .__/\__/_/
/_/
@bud1mu
[*] Fetching metadata...
____________________________________________________________
:: URL : https://tiktok.com/@officialinews/video/7606237981698952449
:: Author : detik.com (@detikcom)
:: Likes : 219600
:: Comments : 14100 (Total Available)
:: Posted : 2026-01-31 06:10:51
____________________________________________________________
[+] Starting multithreaded dump for approx 14100 comments...
[+] Progress: 12229 comments retrieved... (100.0%)
[+] Done! Extracted 12229 comments in 7.51 seconds.
- ⚡ Multi-threaded Scraping: Fetches multiple comment batches simultaneously for maximum speed.
- 📊 Comprehensive Metadata: Extracts video stats (Views, Likes, Comments, Shares), Author info, and Upload Date.
- 📂 Multiple Formats: Supports exporting data to JSON, CSV, or TXT.
- 🛡️ Robust & Safe: Includes error handling, session management, and retries to prevent crashes during extraction.
- 🔓 No Login Required: Works with public video URLs.
- Python3
-
Clone the repository:
git clone https://github.com/bud1mu/tt-dumper.git cd tt-dumper -
Install dependencies:
pip install -r requirements.txt
Run the script using Python. The only required argument is -u (URL).
Extract comments to a text file named output.txt.
python tt-dumper.py -u "https://www.tiktok.com/@user/video/1234567890"Best for developers who want to parse the data later.
python tt-dumper.py -u "https://www.tiktok.com/@user/video/1234567890" -f json -o result.jsonBest for data analysis (Excel, Google Sheets).
python tt-dumper.py -u "https://www.tiktok.com/@user/video/1234567890" -f csv -o data.csvOnly fetch the first 100 comments (useful for testing).
python tt-dumper.py -u "https://www.tiktok.com/@user/video/1234567890" -c 100| Flag | Long Flag | Required | Description | Default |
|---|---|---|---|---|
-u |
--url |
✅ | The TikTok video URL to scrape. | N/A |
-o |
--output |
❌ | Filename for the output result. | output.txt |
-f |
--file-type |
❌ | Format of the output file (json, csv, txt). |
txt |
-c |
--comment |
❌ | Limit the number of comments to retrieve. | All |
If you choose -f json, the output will look like this:
{
"metadata": {
"id": "740...",
"desc": "Video Description here...",
"createTime": "2024-02-17 10:00:00",
"author_id": "unique_id",
"author_name": "Nickname",
"stats": {
"likes": 15000,
"comments": 300,
"shares": 500,
"views": 200000
},
"duration": "0:00:59"
},
"comments_count": 300,
"comments": [
{
"username": "user123",
"comment": "This is an amazing video!"
},
{
"username": "fan_account",
"comment": "First comment!"
}
]
}