Skip to main content

An automation service to download videos from Youtube

Project description

YoutubeDownloader is an automated service to download multiple youtube videos at a time.


YoutubeDownloader is written in Python. It uses Asynchronous Python Multiprocessing at its heart which facilitates user to download more than one video at a time.

YoutubeDownloader must use a configuration file. It supports a YAML / JSON format of configuration file. This configuration file gives structure and usability to the service. It defines what videos/playlists needs to be downloaded and how they are going to be stored.

Configuration Syntax

YoutubeDownloader supports YAML / JSON configuration formats. YoutubeDownloader prefers YAML more than JSON. Below is the snippet of sample configurations in YAML / JSON format.

  process: 2
    dirname: '../mostlyinsane'
      - ''
    dirname: 'trippling'
    playlists: ''
    dirname: 'official-ceogiri'
        - ''
    "settings": {
        "process": 5
    "download": {
        "mostlyinsane": {
            "dirname": "../mostlyinsane",
            "videos": [

        "trippling": {
            "dirname": "trippling",
            "playlists": ""

        "official-ceogiri": {
            "dirname": "official-ceogiri",
            "playlists": [


settings defines service level variables. - process to force YoutubeDownloader to use Asynchronous Python Multiprocessing and tells how many processes should be deployed to download videos/playlists at a time.

download defines what videos/playlists to download. It tags dirnames with videos/playlists internally and store the downloaded videos/playlists in the respective directory.

  • dirname relative / absolute directory path to store videos in.

  • videos single / array of youtube videos link to download.

  • playlists single / array of youtube playlists link to download.


This is a pure-Python package built for Python 2.6+ and Python 3.0+. To set up:

sudo pip install ytdownloader


ytdownloader --help
  • config specifies the location for the configuration file to YoutubeDownloader. If it omits, YoutubeDownloader looks in the current directory for the configuration file.

  • --version specifies the currect version of YoutubeDownloader.

  • --about about text for YoutubeDownloader


ytdownloader --version    // latest version of ytdownloader
ytdownloader --about      // about text for ytdownloader
ytdownloader              // start the ytdownloader and search config file in current directory
ytdownloader docs/config.yaml // start the ytdownloader and use docs/config.yaml as config file

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytdownloader-0.1.14.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

ytdownloader-0.1.14-py2.py3-none-any.whl (4.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page