Skip to content
Fetch the chatlog to a twitch VOD from your command line.
Branch: master
Clone or download
greenkeeper and freaktechnik Update nyc to the latest version 🚀 (#92)
* chore(package): update nyc to version 14.0.0

* chore(package): update lockfile package-lock.json
Latest commit e45afc3 Apr 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin feat: support cheer emotes. (fixes #75) Nov 12, 2018
.editorconfig chore: add editorconfig Jan 16, 2018
.gitignore Add tests for fetching the logs Jul 23, 2016
LICENSE docs: add license file Nov 12, 2018


Greenkeeper badge Build Status codecov Dependencies

Fetch the chatlog to a Twitch VOD from your command line with twitch-chatlog.


This little command can download the whole chat log to a twitch VOD. It takes the ID of the VOD (1111111 or similar) as only argument. To learn about the usage of the command, use twitch-chatlog -h.

The output can optionally be colored with -c or --color or by setting an environment variable TWITCH_CHATLOG_COLOR. To disable the loading progress bar, set --no-progress or TWITCH_CHATLOG_PROGRESS to false.

To make use of your own Twitch application client ID, you may provide it as a command line option -C or --client-id or set an environment variable TWITCH_CHATLOG_CLIENT_ID. The default value for client ID is not guaranteed to work past 08 Aug 2016, in which case you will have to supply your own.

To control the part of the chat log to fetch, --start, --length and --end can be used. See the usage section below. By default the command will only fetch the first ten minutes of chat log to minimize the amount of requests.


npm install -g twitch-chatlog


Fetch the chat log to a Twitch VOD.
Usage: twitch-chatlog <vod_id>

vod_id is the ID from the VOD URL, optionally prefixed with v (deprecated).

  -c, --color      Colorize output                    [boolean] [default: false]
  -C, --client-id  Twitch application client ID  [string] [default: (Client-ID)]
  -p, --progress   Show a progress bar while loading the log
                                                       [boolean] [default: true]
  -l, --length     Amount of time from the log to fetch in seconds. Gets
                   shortened to the VOD length if bigger. 0 loads everything but
                   is not recommended. The output will run until the next end of
                   a log fragment.                  [number] [default: (10 min)]
  -s, --start      Start time. Can either be a time relative to the VOD start or
                   actual time.                   [string] [default: "00:00:00"]
  -e, --end        End time. Alternative to specifying a length. A time like for
                   start.                                               [string]
  -r, --raw        Print the raw JSON output instead of a formatted chat log.
                                                      [boolean] [default: false]

  -h, --help       Show help                                           [boolean]
  -v, --version    Show version number                                 [boolean]

  twitch-chatlog 79240813                   Load the first ten minutes of chat
                                            for the VOD
  twitch-chatlog -c --end 00:15:00 79240813 Load the first 15 minutes of chat
                                            for the VOD and colorize the output.
  twitch-chatlog 79240813 --no-progress     Load the chat log until the given
  --end=2016-07-20T20:37:44+0000            date and don't show a progress bar.

Similar Projects


This program uses an unofficial Twitch API that may stop working at any point. It also potentially sends a lot of requests in quick succession, which might lead to Twitch taking measures against it and thus the program and/or your Twitch experience being reduced.

You can’t perform that action at this time.