Sick of hitting limits with tools like Sonarr or Radarr?
FlexGet lets you go further—automating beyond just TV and movies with full control over how content is fetched, filtered, and delivered.
FlexGet works behind the scenes (like an Automation Wizard)—summoning content from Trakt, IMDb, RSS, and private trackers, then filtering it through your own YAML-defined rules. With over 300 plugins and a powerful, scriptable engine, FlexGet is ideal for you if you want serious and customizable automation.

In this guide, you’ll learn how FlexGet works, how to set it up fast, and why it’s a top choice for seedbox power users.
Table of Contents
- What is FlexGet?
- FlexGet’s Core Features
- Quick Start: Installing and Configuring FlexGet
- Installation
- Configuration Basics
- Common issues and quick fixes
- One-click with Seedbox
- FlexGet Web Setup
- Power Users Tips
- FlexGet vs Alternatives (Sonarr, Radarr, Jackett)
- FAQ: FlexGet
- Final Words.
Disclaimer: This guide is for educational purposes only. FlexGet does not host or promote any copyrighted content. Always ensure your downloads comply with local laws and the terms of service of the sites you access. The use of FlexGet with private trackers or third-party indexers may require proper credentials or permissions. RapidSeedbox does not condone piracy and encourages users to use legal sources.
What is FlexGet?
FlexGet is a Python-based automation tool that turns your setup (on-prem or seedbox) into a hands-off content-fetching engine. It reads from RSS feeds, APIs, or even scrapes websites. It filters and processes the results with fine-tuned rules before handing them off to your torrent or Usenet client.
You may think FlexGet is similar to Sonarr or Radarr, but there are some heavy differences. Sonarr or Radarr are focused on a narrow use case (TV or movies)— FlexGet, on the other hand, is a universal automation engine.

So, why FlexGet?
With FlexGet, you define what content to look for, how to match it, and what to do with it—all using a single config file (thanks to the power of YAML). Plus, if you want to download weekly shows or sync your IMDb watchlist, FlexGet makes it possible.
How does FlexGet work?
The diagram below shows how FlexGet automates media downloads from the source to storage.

- Content Sources: FlexGet pulls content from various sources like RSS feeds, Trakt, IMDb, AniDB, HTML pages, CSV files, or Jackett searches. You can let it define exactly what to track.
- FlexGet Daemon: It runs in the background. It uses plugins and a scheduler to process and filter content based on your config.
- Download Client: Filtered content is sent to clients like Deluge, qBittorrent, SABnzbd, or NZBGet for downloading.
- Media Storage: And finally, downloaded media files are saved to your media folder, ready for Plex, Jellyfin, or other servers.
FlexGet’s Core Features That Matter
FlexGet delivers total automation for users who demand precision. These features combine powerful inputs, intelligent filtering, extensible plugins, and seamless client integration. This is everything you need to build your perfect media pipeline.
a. Data Sources & Discovery Engine
Pull content from anywhere: authenticated tracker RSS, HTML scraping for feed-less sites, and curated lists from Trakt, IMDb, and AniDB. You can also discover new content through Jackett integration, search across indexers automatically, or import from CSV, JSON, and YAML files. And that is not all… FlexGet can also process torrents, NZBs, podcasts—whatever your media workflow requires.
b. Precision Filtering Engine
Download exactly what you want. Series and Movie plugins remember your collection, match by title/year/quality, and block duplicates automatically. Define quality thresholds (1080p minimum), size limits, language preferences, and metadata requirements (IMDb rating > 7). You can also use regex patterns for surgical include/exclude control.
c. Background Automation (Deamon Mode)
Run FlexGet in daemon mode for hands-off operation. In this mode you can monitor feeds, grab content, and execute jobs continuously. You can define schedules directly in your configuration file for complete timing control. Configure it once and let it work forever.
d. Modular Plugin Architecture
Access 300+ plugins covering everything from input processing to final delivery. But dont stop there… why not write custom plugins for your unique requirements? Hook into events with scripts or webhooks. With FlexGet you can build exactly the workflow your setup needs.
e. Universal Client Support
Connect to every major download client—Deluge, qBittorrent, Transmission, rTorrent, SABnzbd, and beyond. Push downloads with custom labels and paths, and trigger completion scripts automatically. FlexGet is also Docker-friendly with full environment variable support.
f. Real-Time Notifications
Get updates via Telegram, email, or Slack through notification plugins. Know when tasks finish or new content arrives. All monitoring happens automatically.
g. Browser-Based Control
Manage FlexGet through the modern WebUI (still in beta, but works ok). This is perfect for remote seedboxes or avoiding command-line work. You’ll get full task and configuration control from any browser.
h. Clean Configuration System
Write configs in YAML for human-readable automation rules. You can built-in validation catches mistakes before they happen. Even your simple configs enable complex workflows.
i. Format-Agnostic Design
FlexGet doesn’t lock you into specific formats or tools. Yes, you can use torrents, NZBs, podcasts—automate any media type. The plugin system adapts to your exact requirements, not the other way around.
FlexGet Quick Start: Installation & Configuration.
Getting started with FlexGet is simple. Whether on a local machine or a seedbox, setup involves two steps: install FlexGet (via Docker or pip) and create a YAML config. This section shows you how to do both—fast.
1. FlexGet Installation
Installing FlexGet can be done in two main ways: via Python’s package manager (pip) or using a Docker container. Both methods are seedbox-friendly:
Docker Container Method (Recommended) — YAML
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
version: "3.8" services: flexget: image: lscr.io/linuxserver/flexget:latest container_name: flexget environment: PUID: 1000 PGID: 1000 TZ: YOUR/TIMEZONE volumes: - ./config:/config - ./downloads:/downloads ports: - "5050:5050" restart: unless-stopped |
Pip Method
|
1 2 |
pip install flexget flexget --version |
Post-Install: After installing, create your config.yml (see next section for basics). You can test your config with ‘flexget check’ to ensure everything is valid. If using Docker, remember to mount your config volume and adjust permissions (PUID/PGID) so FlexGet can read/write files. Also, dont forget to adjust your TimeZone. Once running, you may want to enable the daemon or schedule periodic runs:
- For pip installs, you can run flexget daemon start to start the background service (and perhaps enable it on boot via systemd or a crontab).
- For Docker, simply keep the container running (it will auto-execute tasks on schedule).
Both installation methods are well-supported. Pip gives flexibility to run the latest FlexGet on any system with Python, while Docker is often simpler (especially if you use Docker Compose to manage multiple services). Choose whichever fits your setup, and refer to FlexGet’s official installation guide for any platform-specific notes.
2. FlexGet Configuration Basics (Code Included)
FlexGet is driven entirely by a YAML config file—typically named config.yml. Inside it, you define tasks that tell FlexGet where to get content, how to filter it, and what to do with it.
A basic task looks like this (YAML code):
|
1 2 3 4 5 6 7 |
tasks: tv_shows: rss: http://example.com/torrents.xml series: - "Some Show" - "Another Show" download: /media/TV |
Each task follows a simple structure:
- Inputs (e.g., rss, trakt_list)
- Filters (e.g., series, quality, regexp)
- Outputs (e.g., download, deluge, transmission)
- Folder (e.g., downloads folder)
YAML syntax is strict—spacing matters. Always validate with the ‘flexget check.

YAML is strict, and even a single space out of place can break your setup. That’s why it’s essential to run ‘flexget check’ every time you update your config—it quickly flags any issues. As your setup grows, you can start using templates to reuse parts of your config, secrets to protect API keys, and conditionals to add smart filters like blocking shows with low IMDb ratings.
Begin with one task and one feed. Once that’s running smoothly, build from there. Over time, your config.yml becomes the brain of your automation—simple at first, but powerful as you grow.
| 👉 For real-world configuration examples, we recommend you visit the official FlexGet Cookbook. It includes tested YAML “recipes” for series, movies, torrent clients, URL rewriting, and more—perfect for copy-pasting or customizing your own automation flows. |
3. Common Issues & Quick Fixes
Even with a solid setup, you’ll likely need to troubleshoot FlexGet at some point – perhaps a task isn’t behaving as expected or you encounter errors.
Here are key tips for debugging and troubleshooting FlexGet on your setup:
a. View Logs
- Default log file: ~/.flexget/flexget.log
- Live log: tail -f flexget.log or use WebUI log viewer
b. Control Verbosity
- Use –loglevel (e.g., info, debug, trace)
- In Docker: FG_LOG_LEVEL=info
c. Test Without Downloading:
Run the following code in dry mode (See what would download—without actually doing it.): ‘flexget –test execute –tasks <taskname>’
Common Issues: “Entry rejected” → Logs show the reason (e.g., quality mismatch). “Seen” rejections → Use –no-cache or flexget seen reset. Plugin errors → Usually due to missing dependencies (pip install, or update Docker image)
4. Use FlexGet Instantly with RapidSeedbox One-Click Installers
Want to use FlexGet but don’t want to deal with manual setup? With RapidSeedbox, you can install FlexGet in seconds—no command line, no configuration headaches.
All Premium Seedbox plans (Fast, Stream, Rapid, Furious) include access to the One-Click Installers dashboard, where you can instantly deploy over 50 apps—including FlexGet—with a single click.
Here’s how it works:
- Log in to your Client Area.
- Open the One-Click Installers section.
- Choose FlexGet from the “Available” tab.
- Click to install. That’s it.
So, if you’re automating downloads or syncing your IMDb list, FlexGet is ready to run, preconfigured and optimized for your seedbox environment.
Web Interface Setup
FlexGet includes a lightweight WebUI for managing tasks via browser—ideal for remote servers or seedboxes where SSH can be inconvenient.
| Note: ⚠️ FlexGet still relies on the command line, though a Web UI is being built. It’s not quite one-click yet—but if you’re stuck, help is available here. |
How to Enable FlexGet’s Web UI
Add this to config.yml:
|
1 |
web_server: yes |
- Default port: 5050 (can be changed)
- In Docker, expose the port and optionally set WEB_PASSWD to define the login password.
Set the password manually with: ‘flexget web passwd <yourpassword>’
What can you do with the WebUI
- Edit config in-browser with YAML syntax highlighting.
- Trigger tasks, view accepted/rejected entries.
- Browse history and logs per task for debugging.
- Series/movie overview for series plugin tasks.
- Start/stop/reload daemon and queue tasks manually.
The WebUI is basic but practical—great for tweaking rules or monitoring without command-line access.
Power User Tips (Code Examples Included)
FlexGet goes beyond basic downloads. Remember this: FlexGet isn’t just for shows—it’s a framework for any kind of automation on your setup (including your Seedbox).
Here are powerful automations:
a. Watchlist Automation
FlexGet can automatically download content based on your personal watchlists. By using plugins like trakt_list or imdb_list, you can pull movies and shows directly from your Trakt or IMDb account. Pair these with Discover or rss to actively search for matching releases. For example, when you add a movie to your IMDb Watchlist, FlexGet detects the new entry, searches your configured trackers, and downloads it—hands-free.
YAML Config Code Example: Automates discovery → matching → download.
|
1 2 3 4 5 6 7 |
trakt_list: account: your_account list: watchlist type: movies discover: from: - some_torrent_search_plugin |
b. Cross-Seeding
If you already have downloaded media and want to seed it on multiple trackers, FlexGet makes cross-seeding easy. Use the filesystem plugin to scan your local files, then use discover to find matching torrents on other trackers. This is especially useful for maintaining high seed ratios or ensuring you have redundancy across trackers.
Example: Match local files to new torrent links. Combine filesystem with discover:
|
1 2 3 4 5 6 7 8 |
filesystem: path: /media/movies recursive: yes discover: from: - rarbg: category: movies |
c. Post-Processing Scripts
FlexGet supports automation after download using the exec plugin. You can trigger post-processing scripts like FileBot for renaming, moving files into structured folders, or even push notifications (e.g., via Telegram or email). For instance, once a file is downloaded, FlexGet can rename it to a Plex-friendly format and move it directly to your media server folder.
|
1 2 3 4 5 6 |
exec: on_output: for_accepted: - echo "Downloaded {{title}}" - filebot -rename "{{location}}" |
d. Profiles / Multiple Configs
To manage different workflows, FlexGet supports multiple configuration files using the -c flag. You can also modularize your setup with the include directive or use variables to apply different plugin presets. This lets you run one config for movies, another for anime, or one for each user in a shared setup, keeping everything organized.
Use: -c flag for different .yml files. Also include to modularize:
|
1 |
include: series.yml |
e. Private Tracker Support
FlexGet works well with private trackers. You can use session cookies, login forms, or custom feed scraping to integrate with sites that don’t offer standard RSS. It’s especially useful for Gazelle-based trackers, or any site where you need authenticated access to download links.
Use cookies or request plugin:
|
1 2 3 4 5 6 7 |
request: url: https://tracker.com/login method: POST data: username: user password: pass |
f. Usenet + Torrents
You don’t need separate tools for Usenet and torrents—FlexGet handles both in a single config. Use newznab to fetch results from Usenet indexers and connect to clients like SABnzbd or NZBGet. Simultaneously, you can process torrents using Deluge, qBittorrent, or Transmission. One YAML file can manage both ecosystems in parallel.
Combine newznab with transmission/deluge:
|
1 2 3 4 5 6 7 |
newznab: url: https://indexer.com apikey: YOUR_KEY transmission: host: localhost port: 9091 |
FlexGet vs Alternatives
If you want plug-and-play automation with rich UIs, go with *Arr tools. If you want a lightweight, unified solution that works for torrents, Usenet, podcasts, and more—FlexGet offers full control.
Advanced users often combine them: using Sonarr/Radarr for media management and FlexGet for custom workflows.
Comparison Table
| Feature / Tool | FlexGet | Sonarr / Radarr | Jackett |
| Purpose | General-purpose automation (torrents, Usenet, etc.) | TV/movie automation with metadata management | Indexer proxy/search engine |
| UI | Optional WebUI (basic) | Full web-based GUI | Minimal GUI |
| Setup Complexity | Higher (YAML config) | Low (point-and-click setup) | Moderate (install & configure trackers) |
| Custom Workflows | Full control (RSS, Trakt, scripts, logic) | Limited to TV/movies | N/A (used by other tools) |
| Automation Scope | Torrents, Usenet, podcasts, eBooks, etc. | TV and movies only | Broad (search/feed proxy only) |
| Tracker Support | RSS, cookies, API, direct scraping | Via Jackett or Newznab | Converts tracker results into feeds |
| Client Integration | Deluge, Transmission, SABnzbd, qBittorrent, etc. | Same via *Arr built-in support | Works with nothing directly |
| Best For | Power users, seedbox automation lovers | Users who want simplicity + Plex integration | Users needing private tracker search |
Bottom line:
- Use FlexGet for complex tasks and multi-source automation. Best for full control.
- Use Sonarr/Radarr for a polished media experience. Easier to setup and use.
- Use Jackett to extend tracker compatibility—often alongside the other two.
Learn more about the FlexGet alternatives here:
Frequently Asked Questions: FlexGet
FlexGet can be installed via Python or Docker. It only requires placing a YAML config file in the right folder and running the container. From there, you can access the WebUI and begin automating downloads. It’s a lightweight setup that integrates well with torrent clients and media servers.
FlexGet automates torrent and Usenet downloads using RSS feeds and filters. You can sort and queue movies or series, set quality preferences, schedule tasks, and a lot more. It works with Deluge, Transmission, and Trakt for end-to-end media automation. If you want more control than Sonarr or Radarr allow, FlexGet is definetly, a strong option.
You’ll find plenty of YAML config examples on FlexGet’s GitHub and official docs. These show how to automate feeds, filter downloads, and connect to torrent clients. They’re designed to be copied and customized. If you’re new to YAML, the examples are a great way to get started with simple, working setups.
Yes. You can connect FlexGet to Deluge and Transmission. It sends filtered downloads straight to your client based on your config. This lets you automate torrenting with specific rules for quality, title, or tags. As long as your client allows remote access, FlexGet can handle the rest.
FlexGet includes a WebUI that lets you view tasks, logs, and run jobs from your browser. It’s especially helpful when running FlexGet in Docker containersor as a service. While it doesn’t replace YAML configs, the WebUI simplifies monitoring and troubleshooting.
FlexGet is more flexible but less user-friendly than Sonarr or Radarr. It’s best for users who prefer scripting and full control over automation. While Sonarr handles metadata and post-processing well, FlexGet offers advanced filtering and custom workflows.
FlexGet creates logs by default, making it easy to trace what’s happening. You can view the main log file or use the built-in log viewer if you’re running the WebUI. To get more detail, adjust the log level to info, debug, or trace. In Docker containers, this can also be set through environment variables.
FlexGet has a dry-run mode that lets you test tasks safely. It simulates execution and shows what would be downloaded—without grabbing any files. This helps catch config errors, wrong filters, or missed matches before they affect your system.
Final Words
If you are tired of rigid tools like Sonarr or Radarr… we strongly suggest you trying FlexGet.
FlexGet lets you build custom workflows—sync IMDb lists, cross-seed, and filter downloads your way.
It transforms your torrenting setup (or seedbox) from a manual downloading tool into an intelligent automation powerhouse. So, if you’re managing a small personal library or coordinating downloads across multiple trackers, FlexGet is perfect for you.
Unleash Full FlexGet
👉 You’ve seen what it can do—now see what happens when FlexGet runs on a fully-optimized seedbox with zero setup.
Explore the Stack
0Comments