A feature-rich command-line tool for downloading audio and video from thousands of websites, forked from youtube-dl.
xenova/chat-downloader
A Python tool and CLI that downloads chat messages from YouTube, Twitch, and Zoom livestreams, videos, clips, and past broadcasts without authentication.
- Stars
- 1,196
- Forks
- 162
- Open issues
- 77
- Last commit
- 12 months ago
What is it?
Chat Downloader retrieves chat messages from livestreams, videos, clips and past broadcasts. It can be used from the command line or imported as a Python library, where get_chat returns a generator that yields messages one at a time.
The tool supports YouTube (livestreams, past broadcasts and premieres), Twitch (livestreams, past broadcasts and clips), and Zoom (past broadcasts). Facebook support is listed as in development. Messages are parsed into JSON-like objects that include fields such as message text, type, timestamp, time in seconds, and author details including badges and images.
Output can be written to a JSON file or printed in a formatted view, and options control time ranges, message types, maximum message counts, retries and proxies. It is distributed on PyPI and installs with pip.
Key features
- 01Downloads chat from YouTube, Twitch and Zoom without authentication.
- 02Provides both a command-line interface and a Python API.
- 03Parses messages into structured JSON objects with author and badge data.
- 04Filters by start and end time and by message type.
- 05Supports output to a file, formatted printing, and proxy configuration.
Use cases
- Archiving chat from past streams for later analysis.
- Studying audience reactions and chat activity over the course of a broadcast.
- Building datasets of timestamped chat messages for research or moderation tools.
Quick start
- 1
Install from PyPI
pip install chat-downloader - 2
Save a livestream's chat to a JSON file
chat_downloader https://www.youtube.com/watch?v=jfKfPfyJRdk --output chat.json
Things to know
- Facebook support is still in development.
- Zoom support covers only past broadcasts.
Topics
FAQ
- What is chat-downloader?
- A Python tool and CLI that downloads chat messages from YouTube, Twitch, and Zoom livestreams, videos, clips, and past broadcasts without authentication. Chat Downloader retrieves chat messages from livestreams, videos, clips and past broadcasts. It can be used from the command line or imported as a Python library, where get_chat returns a generator that yields messages one at a time.
- Is chat-downloader free to use? What license does it have?
- chat-downloader is open source under the MIT license. Check the license terms before using it in commercial products.
- Is chat-downloader still maintained?
- No commits for 6+ months. The last commit to chat-downloader was on Nov 5, 2025.
- What can I use chat-downloader for?
- Archiving chat from past streams for later analysis. Studying audience reactions and chat activity over the course of a broadcast. Building datasets of timestamped chat messages for research or moderation tools.
- How do I install chat-downloader?
- Install from PyPI: pip install chat-downloader Save a livestream's chat to a JSON file: chat_downloader https://www.youtube.com/watch?v=jfKfPfyJRdk --output chat.json
- Where can I get chat-downloader?
- The source code and installation instructions are on GitHub: https://github.com/xenova/chat-downloader
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Python command-line tool that generates minimalist, printable map posters of any city from OpenStreetMap data, with selectable color themes.
A terminal spreadsheet multitool for exploring, arranging and transforming tabular data across many file formats.
TypeScript, Python and Go SDK for browser agents that drives Chrome with natural-language act, observe and extract calls alongside Playwright-style APIs.
Open-source browser automation that uses LLMs and computer vision to run web workflows on any site, extending Playwright with AI commands.
Turns a Git repository or local directory into a single prompt-friendly text digest for feeding code to LLMs.