Skip to main content

ytfetch

ytfetch simplifies media downloading and playlist management by adding playlist searching, and streamlined format handling on top of the powerful yt-dlp engine.

✨ Features

  • Search: Use -list to display or search across single or multiple playlists contents.
  • Direct Download: Single flag to download in legacy avc/h.264 and mp3 format and audio only extraction.
  • Video Quality: Mention preffered video quality directly.
  • Native Compatibility: Can also pass through any yt-dlp flag.
  • Minimal Output logs: Clean and minimal logs.

📋 Requirements

  • Python: 3.8 or higher.

  • FFmpeg and FFprobe: Should available in your system PATH. Download builds from here

    or
    • On Windows:

      winget install BtbN.FFmpeg.GPL
      

      or

      winget install Gyan.FFmpeg
      
    • On Termux (android):

      pkg install ffmpeg
      
    • On Mac (using Homebrew):

      brew install ffmpeg
      
    • On Arch Linux:

      sudo pacman -S ffmpeg
      
    • On Ubuntu/Debian:

      sudo apt install ffmpeg
      
  • Deno: Or other JavaScript runtime/engine like node.js or bun

    Check this guide for more info. Also check yt-dlp dependency for optional dependencies.

📦 Installation

via pip

pip install ytfetch

via source

git clone https://github.com/voidsnax/ytFetch.git
cd ytFetch
pip install -e .

🚀 Usage

General Syntax and Options

usage: ytfetch URL ... [OPTIONS] [yt-dlp OPTIONS]

options:
  -h                         Show this help message and exit
  --help                     Show yt-dlp help message and exit
  -avcmp3                    Download video in AVC (h.264) & audio in mp3 format
  -q QUALITY                 Video quality (e.g., 1080, 720). Default is 1080
  -mp3                       Extract audio only as MP3
  -audio                     Extract audio only
  -list [NAME]               List playlist contents. Accepts values for searching across playlist

Examples

Basic Downloading

Download a video at the default best quality

ytfetch "VIDEO_URL"

Download a video in 720p

ytfetch "VIDEO_URL" -q 720

Format Conversion

Download as AVC(H.264) and Mp3 in MP4 Container

ytfetch "VIDEO_URL" -avcmp3

Extract Audio Only in Mp3

ytfetch "VIDEO_URL" -mp3

Listing and Searching

List a Playlist

ytfetch "PLAYLIST_URL" -list

Search through a playlist

ytfetch "PLAYLIST_URL" -list "remix"

Passthrough Options

You can append any standard yt-dlp option to your command. Both long and short flags are supported.

Download via Proxy

ytfetch --proxy "socks5://127.0.0.1:1080" "VIDEO_URL"

Use Cookies

ytfetch --cookies "cookies.txt" "VIDEO_URL"

Limit Speed

ytfetch -r "500K" "VIDEO_URL"

Selected range Search

ytfetch "PLAYLIST_URL"  -I ":50" -list "search_word"

and so on...

🔖 License

MIT License

Release files for ytfetch 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ytfetch 2.0.0
File Size Uploaded
ytfetch-2.0.0.tar.gz 5.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ytfetch 2.0.0
File Interpreter ABI Platform
ytfetch-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.0 kB

Release files / ytfetch-2.0.0.tar.gz

Download URL ytfetch-2.0.0.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
238b18ef46add230acc5bb17e98647e3a68955ceb4f04749e869ea32b77b67a0
BLAKE2b-256 checksum
How to use checksums
a919ef47690878389f59556c6c957aeea5523defbfed11add86f3c2d971da787
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 24, 2026.

Transparency log

Release files / ytfetch-2.0.0-py3-none-any.whl

Download URL ytfetch-2.0.0-py3-none-any.whl
Size 7.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1d5e774b974e2b37d571ba3a5bba41f973b7a03e2ea6f7d77767e45728e39538
BLAKE2b-256 checksum
How to use checksums
ef7a9fe2f2c7a88bf7c473e7b0911293a91b24d9a1b8e7439784508af45b8777
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 24, 2026.

Transparency log

Release history Release notifications | RSS feed

2.1.0

2 release files

This release

2.0.0 This release

2 release files

1.2.0

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page