bgutil-ytdlp-pot-provider
Decision gist · record as of 2026-08-14
Yes, if you regularly download videos from a flagged IP and yt-dlp is already your download tool. The plugin is low-friction to install, actively maintained, and has no Python dependencies. However, it requires separate setup of a Node.js or Deno backend, and token generation is not guaranteed to bypass all YouTube checks—treat it as a potential workaround, not a reliable solution. Not necessary if your IP is not flagged or if you can sign in interactively.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires yt-dlp 2025.05.22 or above, Node.js (≥20) or Deno (≥2.0.0), and git to clone the provider repository.
- The HTTP server runs on port 4416 by default.
- Low friction: pure Python wheel with no runtime dependencies.
License · maintenance · safety
copyleft license (copyleft) — Licensed under GPLv3 (copyleft). Any modifications or derivative works must be released under the same license; commercial use is permitted but source code must remain available.
last release 2026-03-07 (160 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 724,371 downloads/mo, #5,224 on PyPI
Alternatives
Verify before relying
pip install -U bgutil-ytdlp-pot-provider
# Set up the HTTP server (option a, recommended):
git clone --branch 1.3.1 https://github.com/Brainicism/bgutil-ytdlp-pot-provider.git
cd bgutil-ytdlp-pot-provider/server/
npm ci && npx tsc
node build/main.js
# Then use yt-dlp normally; the plugin auto-provides tokens- Whether the token generation actually succeeds for all YouTube regions and account states, or only for specific IP-flagging scenarios.
- Performance impact of token generation on yt-dlp download speed when using the script method versus the HTTP server.
- Reliability of the cache mechanism (6-hour default TTL) under concurrent yt-dlp invocations.
What it is and what it does
This package is a yt-dlp plugin that integrates proof-of-origin (PO) token generation into the video download workflow. When YouTube flags an IP address and demands sign-in confirmation before allowing downloads, this plugin can generate a PO token to make the traffic appear more legitimate and potentially bypass that check. The plugin works by interfacing with LuanRT's Botguard library to create tokens on demand.
The plugin supports two operational modes: an HTTP server that runs continuously and generates tokens on request (faster, recommended), or a script that spawns a new process for each token generation (slower, higher overhead). Installation requires setting up the token provider separately—either via Docker, Node.js, or Deno—before installing the plugin itself into yt-dlp's plugin directory. No token generation is guaranteed; YouTube's bot checks evolve, and this tool may not work in all scenarios.
Use it for
- Download videos from a residential or flagged IP address that YouTube has marked as suspicious.
- Automate video downloads in scripts or services where interactive sign-in is not feasible.
- Run yt-dlp in a Docker container or CI/CD environment where YouTube bot checks are common.
- Maintain a persistent token cache to reduce latency when downloading multiple videos in succession.
- Integrate proof-of-origin authentication into a custom video archival or monitoring system.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you regularly download videos from a flagged IP and yt-dlp is already your download tool.
The plugin is low-friction to install, actively maintained, and has no Python dependencies. However, it requires separate setup of a Node.js or Deno backend, and token generation is not guaranteed to bypass all YouTube checks—treat it as a potential workaround, not a reliable solution. Not necessary if your IP is not flagged or if you can sign in interactively.
Install
bgutil-ytdlp-pot-provider on PyPI
Before you install
Low friction: pure Python wheel with no runtime dependencies. Actively maintained as of March 2026. Requires yt-dlp 2025.05.22 or above, and either Node.js (≥20) or Deno (≥2.0.0) to run the token generation backend separately.
Requires yt-dlp 2025.05.22 or above, Node.js (≥20) or Deno (≥2.0.0), and git to clone the provider repository. The HTTP server runs on port 4416 by default.
License in practice
Licensed under GPLv3 (copyleft). Any modifications or derivative works must be released under the same license; commercial use is permitted but source code must remain available.
Quickstart
pip install -U bgutil-ytdlp-pot-provider
# Set up the HTTP server (option a, recommended):
git clone --branch 1.3.1 https://github.com/Brainicism/bgutil-ytdlp-pot-provider.git
cd bgutil-ytdlp-pot-provider/server/
npm ci && npx tsc
node build/main.js
# Then use yt-dlp normally; the plugin auto-provides tokens
Verify before relying
- Whether the token generation actually succeeds for all YouTube regions and account states, or only for specific IP-flagging scenarios.
- Performance impact of token generation on yt-dlp download speed when using the script method versus the HTTP server.
- Reliability of the cache mechanism (6-hour default TTL) under concurrent yt-dlp invocations.
Package facts
| License | copyleft license copyleft |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 160 days since the last release |
| First released | |
| Downloads | 724,371 / month, #5,224 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: GNU General Public License v3 (GPLv3) |
Evidence: bgutil_ytdlp_pot_provider-1.3.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “yt-dlp pot provider”
- bgutil-ytdlp-pot-providerA yt-dlp plugin that provides proof-of-origin tokens to help bypass…
- yt-dlp-ejsProvides external JavaScript execution support for yt-dlp, enabling…
- types-yt-dlpProvides type hints for yt-dlp, enabling static type checkers to…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also yt-dlp · youtube_dl · yt-dlp-ejs · types-yt-dlp · pytube · spotdl · ytmusicapi · youtube-search-python · sphinxcontrib-youtube · django-defender