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

output template aliases:
  -o autonumber/num   -> playlist-numbered naming
  -o music/song       -> title + artist naming
  -o default          -> default naming

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.1.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.1.0
File Size Uploaded
ytfetch-2.1.0.tar.gz 6.0 kB Details

Built distribution (wheel)

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

Total release size: 13.3 kB

Release files / ytfetch-2.1.0.tar.gz

Download URL ytfetch-2.1.0.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bdc0dc45be146cb0c6967588f993d02778c8418df06250f802cfb12a52716484
BLAKE2b-256 checksum
How to use checksums
5c5aaea2ffe2cc72d991b0ee1441b33d1de29ea7e8ec4963cdc7ea20b49d99a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 2, 2026.

Transparency log

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

Download URL ytfetch-2.1.0-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f59e2a01b098338fc4fc2478de40e1fe9e632934e17e666e321a137e47df0b46
BLAKE2b-256 checksum
How to use checksums
d8af9c3602b92e029a14f444020c921c99f47623f0a3633f9d3cb9ec4d9c2e3b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2.1.0 This release

2 release files

2.0.0

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