ydl_api_ng

HTTP API wrapper for yt-dlp to manage downloads and scheduling

239 stars 27 forks last commit first released GPL-3.0

Actively maintained

Last commit 22 Aug 2026.

ydl_api_ng is a Python-based HTTP API that exposes yt-dlp functionality for automated downloading and processing of online media. It provides preset-driven configurations, a queue system, optional Redis-backed scheduling, and browser integration via a userscript.

Key Features

  • REST API to enqueue and manage downloads with preset parameter files
  • Full compatibility with yt-dlp options through a flexible parameter system
  • Presets and parameter metadata files generated for easy customization
  • Queue management with optional Redis backend for worker coordination
  • Programmation (scheduling) system for recurring or timed recordings (requires Redis)
  • Hooks for progress and postprocessing to run custom Python scripts during downloads
  • Docker and docker-compose support plus a systemd service file for non-container deployments
  • Browser userscript to trigger downloads from visited pages and integrate presets
  • Configurable UID/GID for filesystem permissions and volume mappings for downloads, params and logs

Use Cases

  • Archive channels, playlists, or livestreams on a schedule for media preservation
  • Provide an internal API for on-demand media downloads and format extraction for other services
  • Integrate browser-based download buttons for team members via the provided userscript

Limitations and Considerations

  • Scheduling/programmation features require Redis to be enabled; without Redis scheduling is not available
  • Precise start times for scheduled jobs have a small known timing drift (about -1 minute tolerance)
  • Many postprocessing features depend on external tools (for example, ffmpeg) and a compatible yt-dlp installation
  • User management is disabled by default; enabling token-based access requires additional configuration

ydl_api_ng is suited for self-hosted environments where automated, configurable media acquisition is required. It emphasizes scriptable presets, extensibility via hooks, and production-ready deployment options via Docker or systemd.

Categories:

Tags:

Tech Stack:

Share:

Similar to ydl_api_ng

Plex Prerolls

Automates scheduling and generation of Plex preroll videos

91
2
Last commit

Manage and schedule Plex pre-roll listings with advanced date/weight rules, path globbing, Docker deployment, and Plex webhook-based auto-generation of prerolls.

Actively maintained
Alternative to:
Plex logo
Plex

YoutubeDL-Material

Material Design web UI for youtube-dl downloads

3.2k
327
Last commit

Self-hosted web interface for managing video/audio downloads using youtube-dl, with a Material Design UI, queue management, and an optional public API.

MITActively maintained
Alternative to:
4K Video Downloader logo
4K Video Downloader
+15
MeTube logo

MeTube

Web GUI for yt-dlp to download videos from YouTube and other sites

14.5k
1.1k
Last commit

A lightweight web interface for yt-dlp (youtube-dl fork) that manages queued downloads, playlists, and filename templates via Docker or local Python/Angular setup.

AGPL-3.0Actively maintained
Alternative to:
4K Video Downloader logo
4K Video Downloader
+10
ChannelTube logo

ChannelTube

Scheduled YouTube channel downloader using yt-dlp

325
25
Last commit

Fetch and synchronize video or audio from YouTube channels on a schedule using yt-dlp. Runs in Docker and can trigger Plex/Jellyfin library scans.

GPL-3.0Actively maintained
Alternative to:
iTubeGo logo
iTubeGo
+2

Boxarr

Automated box office tracker that integrates with Radarr

294
13
Last commit

Tracks weekly box office charts and automatically adds trending theatrical releases to Radarr with filters, scheduling, and a web dashboard.

GPL-3.0Actively maintained
Alternative to:
Radarr logo
Radarr
Mainsail logo

Mainsail

Web interface for controlling Klipper-based 3D printers

2.2k
587
Last commit

Modern, responsive web UI for Klipper via Moonraker to control, monitor, and manage one or multiple 3D printers from any device.

GPL-3.0Actively maintained