ydl_api_ng
HTTP API wrapper for yt-dlp to manage downloads and scheduling
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:
Similar Services

Syncthing
Open-source, peer-to-peer file synchronization tool.
Open-source peer-to-peer file synchronization with TLS encryption, no central server, and a browser-based UI.

LocalSend
Open-source cross-platform local network file sharing app
LocalSend is a free, open-source app for fast, encrypted file and text sharing between nearby devices over a local network, available on desktop and mobile.
AList
Multi-storage file listing server with WebDAV and previews
AList is a multi-storage file listing and sharing server with WebDAV access, file previews, protected routes, uploads, and cross-storage file operations.

copyparty
Portable file server with fast resumable uploads and many protocols
Copyparty is a portable file server with a web UI, accelerated resumable uploads, deduplication, indexing, and support for WebDAV, SFTP, FTP and more.

qBittorrent
Cross-platform BitTorrent client built with Qt and libtorrent
qBittorrent is a fast, free, cross-platform BitTorrent client with a desktop UI and optional Web UI, built on libtorrent for efficient torrent downloading and seeding.

Nextcloud
Open-source collaboration platform for file sync and groupware
Nextcloud is an open-source content collaboration platform providing file sync & share, groupware (calendar, contacts, mail), real-time office editing, chat and video con...

JavaScript
Redis
Docker
systemd
Python runtime