A lightweight, automated Python script to bulk-assign missing Clear Logos to your Plex media server libraries without overwriting your manual customizations.
The script bypasses SSL certificate issues when connecting locally and features built-in rate-limiting to prevent your server or network proxy from getting banned by metadata providers.
- Fully Automated: Scans entire libraries and selects the first available pre-fetched metadata logo automatically.
- Smart Skip: Safely skips any movies or TV shows that already have an actively selected logo.
- Local SSL Bypass: Safely ignores self-signed certificate errors when connecting via local IP addresses.
- Rate-Limiting: Introduces configurable pauses between API calls to avoid spamming network hooks, proxies, or metadata APIs.
Before running the script, make sure you have Python installed and install the official plexapi and requests libraries:
pip install plexapi requests urllib3- Open the script file and look for the
# --- CONFIGURATION ---section. - Update the following variables with your actual Plex server details:
# --- CONFIGURATION ---
# Use your local Plex IP and port (e.g., https://192.168.1.100:32400)
PLEX_URL = 'https://LOCAL_IP_ADDRESS:32400'
PLEX_TOKEN = 'YOUR_PLEX_TOKEN'
# The exact names of the Plex libraries you want to process
TARGET_LIBRARIES = ["Movies", "TV Shows"]
# Rate-limit settings (in seconds)
DELAY_BETWEEN_LOGOS = 2.0 # Pause after each assigned logo
BATCH_SIZE = 10 # Number of logos before a long safety pause
BATCH_PAUSE = 10.0 # Duration of the long safety pause
# ---------------------Note: If you do not know how to find your Plex Token, follow the official Plex documentation: Finding an Authentication Token.
Simply run the script using Python from your terminal or command prompt:
python plex-bulk-logo-updater.pyRunning this script through a public Reverse Proxy (like Nginx, Traefik, or SWAG) protected by tools like Fail2Ban or CrowdSec will likely trigger security blocks due to the high volume of automated HTTP requests. Connecting directly to your local IP address completely bypasses the proxy and eliminates the risk of IP bans.
This project is open-source and available under the MIT License.