YeeTube is YouTube front-end for GNU Emacs.

yeetube showcase


Yee(t) (You)Tube

Package functionality includes:

  • Query YouTube
  • Play video url by default using mpv
  • Controlling mpv
  • Bookmark/Save video url
  • Download videos using yt-dlp
  • A minimal yt-dlp front-end, which is independent of the rest YouTube functionality.

This package does not use Invidious or YouTube’s API, just “parses” html & json.


YeeTube package is also available via MELPA


'(yeetube :type git
	       :host nil
	       :repo ""))


$ git clone

Add this to your emacs configuration:

   (add-to-list 'load-path "/path/to/yeetube")
   (load-file "~/path/to/yeetube.el")
   (require 'yeetube)


  • mpv: default multimedia player
  • yt-dlp: download functionality


$ sudo apt install mpv yt-dlp


Media Player

By default yeetube-player is set to yeetube-mpv-play, you can use mpv.el, GNU/Emms or other similar packages like so:

(setf yeetube-player #'emms-play-url)

Make sure that the media player of your choice can directly play youtube urls.

Apply Filters

To filter the search results based on a specific criterion, you can modify the yeetube-filter value to your preferred option.

For example:

(setf yeetube-filter "Views")

This will filter & sort the search results according to the number of views.


If you are using yeetube-mpv-play as your media player & running tor, you can use torsocks to route your traffic via the tor network.

(setf yeetube-mpv-enable-torsocks t)

You can toggle that option with yeetube-mpv-toggle-torsocks