Plugins provide most of the functionality in FlexGet. Plugins usually create, manipulate or download entries but they can also change how FlexGet operates. Many plugins can use the Jinja2 template system.
Most plugins are enabled by placing a keyword and required settings in a configuration file. All plugins listed below are included in the FlexGet package (with the exception of the third-party plugins section).
This documentation is meant for the latest released version. If you are upgrading from an older version, see upgrade actions and the changelog for help in migrating your configuration file.
All configuration examples are assumed to be placed under the tasks
(or templates
) top-level keys. If the documentation has this example:
series:
- name
In a full configuration, this goes into:
tasks:
task_name:
rss: http://example.com
series:
- name
This makes examples more compact and reduces unnecessary boilerplate.
For further help with YAML and indenting, see configuration.
Produce entries from external source.
Most requests are cached so there is no penalty for using the same RSS URL multiple times in the configuration, for example.
Note: If you are looking for torrent search plugins, refer to Search Plugins.
Input plugins that directly parse data from a source based on its type.
Keyword | Description |
---|---|
csv | Parse any CSV-file |
filesystem | Search through a local directory looking for files as a input. |
html | Parse any HTML-page. |
limit | Limit the amount of entries created by another input plugin. |
rss | Parse RSS-feed. |
sftp_list | List files from an SFTP server |
search_rss | Search with parametrized rss feed. |
tail | Tail a log file (eg. irc logs) |
text | Parse any text data |
regexp_parse | Use regular expressions to parse text from a web resource or file |
ftp_list | Lists the content of a remote FTP server |
Input plugins designed to retrieve data from 3rd party web-sites, such as IMDB, trakt & etc.
Keyword | Description |
---|---|
anidb_list | Create entries from your AniDB wishlist. |
anilist | Create entries from your AniList watchlist. |
apple_trailers | Get movie trailers from Apple.com |
betaseries_list | Use series you follow on www.betaseries.com as an input |
eztv | Use latest entries from EZTV |
from_imdb | Produce entries based on an IMDB person, company or character |
kitsu | Produce Entries based on your Kitsu.io libraries. |
imdb_list | Use movies in your IMDb list as an input (eg. watchlist, rating history). Managed List. Note: This plugin does not currently work, look into imdb_watchlist |
filmweb_watchlist | Use your Filmweb wathlist as an input |
imdb_watchlist | Use you IMDB watchlist as an input |
letterboxd | Create entries for movies on any public Letterboxd list |
magnetdl | Create entries from magnetdl.com |
my_anime_list | Create entries from MyAnimeList animelist. |
myepisodes_list | Create entries from the shows in your myepisodes.com account. |
npo_watchlist | Create entries for the shows and episodes in your npo.nl account (Dutch public television). |
pogcal | Produce entries for shows marked on your pogdesign calendar. |
rottentomatoes_list | Use movies from Rotten Tomatoes lists. |
sceper | Parse http://sceper.ws. |
thetvdb_list | Produce an entry for all shows you have marked as favorites at http://thetvdb.com. Managed List |
next_trakt_episodes | Create entries for the latest or the next episode to watch or collect by your trakt.tv activity. |
trakt_list | Create entries from one of your trakt.tv lists. Managed List |
twitterfeed | Create entries from a twitter account. |
lostfilm | Create entries from lostfilm.tv |
Input plugins designed to retrieve data from 3rd party software, such as Sonarr, couchpotato, deluge & etc.
Keyword | Description |
---|---|
couchpotato_list | Produce entries from couchpotato wanted movies list. Managed List |
from_deluge | Use torrents loaded in a Deluge daemon as input. |
from_rtorrent | Use torrents loaded in a rTorrent as input. |
from_transmission | Use torrents loaded in Transmission as input. |
from_qbittorrent | Use torrents loaded in QBittorrent as input. |
plex | Produce entries for shows present in a Plex Media Server section. |
plex_watchlist | Plex watchlist Managed List |
radarr_list | Produce entries from or to radarr_list. Managed List |
sickbeard | Produce entries from Sickbeard's show list |
sonarr_list | Produce entries from Sonarr's show list. Managed List |
next_sonarr_episodes | Produce entries for missing episodes from Sonarr |
medusa | Produce entries from Medusa's show list |
Input plugins that will generate entries based on preexisting data in FlexGet.
Keyword | Description |
---|---|
configure_series | Configures the series plugin with all the shows given by any input plugin (eg. filesystem, rss). |
discover | Produce entries from search results. |
from_digest | Outputs entries which have been collected by the digest plugin. |
from_task | Runs another task and outputs accepted entries from that task. |
next_series_episodes | Emits the next episode needed for each series configured in the series plugin. Useful for example with discover. |
next_series_seasons | Emits the next season needed for each series configured in the series plugin. Useful for example with discover. |
inputs | Configure the same input plugin multiple times in one task. |
entry_list | Use or add entries to a custom made entry list. Managed List |
movie_list | Use or add entries to a custom made movie list. Managed List |
subtitle_list | Use or add entries to a custom made subtitle list. Managed List |
pending_list | Manually approve entries. Managed List |
Reject or Accept entries based on given rules. A single task may have any number of filters.
If you plan to use multiple filters per task, you should look at filtering operations to understand how they work.
Filters based on the nature of the input content (such as movie, series, series premiere & etc.)
Keyword | Description |
---|---|
all_series | Accepts any entry that appears to be an episode of a series. |
proper_movies | Keep track of downloaded movies and force re-download proper versions. |
series | Accept TV-series episodes. Quality and episode number aware. |
series_premiere | Accept any entry that appears to be the first episode of a series. |
list_match | Use this plugin to filter entries based on another list plugin. |
Filters based on content's metadata such as size and quality
Keyword | Description |
---|---|
best_quality | Group entries by identifier and accept/reject best/worse qualities within these groups. |
content_size | Reject torrents and nzb's that do not meet size requirements. |
quality | Reject entries not of the specified quality. |
Filters based on preexisting data or operations within FlexGet
Keyword | Description |
---|---|
upgrade | Accept/Reject better qualities of an entry (tracked by a unique identifier) |
timeframe | Timeframe in which FlexGet waits for the chosen quality. |
duplicates | Perform action based on duplicate entries by a field. |
limit_new | Allow only given number of entries to pass per execution. |
only_new | Causes all entries that were in the task on the previous run to be rejected at the input phase. |
require_field | Reject entries that do not have the specified fields. |
seen_movies | Rejects already downloaded movies (detected by imdb-link). |
seen | Reject already downloaded entries. Builtin |
Filters based specifically for torrents
Keyword | Description |
---|---|
content_filter | Reject based on filenames within torrents. |
magnets | Rejects entries with only magnet links. |
private_torrents | Reject private or public torrents. |
seen_info_hash | Rejects already downloaded torrents (detected by torrent info hash). Builtin |
torrent_alive | Reject any torrents that do not have an active tracker with seeds. |
Filters that will accept/reject entries based on logical statements or simple file operations
Keyword | Description |
---|---|
accept_all | Accept all entries. |
age | Reject, Accept entries based on age by looking at a date in a specified entry field. |
archives | Accept, reject entries based on if they're valid ZIP/RAR archives. |
crossmatch | Accept/reject based on other inputs (eg. imdb_list watchlist, ratings history). |
exists | Reject entries based on existing files in filesystem. |
exists_movie | Reject entries based on existing movies in filesystem. |
exists_series | Reject entries based on existing series in filesystem. |
if | Filter based on simple python statements. |
regexp | Reject, Accept entries by using regular expression. |
Filters based on data retrieved from 3rd party sites
Keyword | Description |
---|---|
imdb | Accept movie entries based on imdb details. |
rottentomatoes | Accept movie entries based on Rotten Tomatoes details. |
Execute operation(s) on accepted entries.
Send accepted entries to 3rd party software, usually downloaders.
Keyword | Description |
---|---|
aria2 | Pass URIs to be downloaded to the aria2 downloader. |
deluge | Pass torrents directly to deluge bittorrent client, supporting magnet links. |
nzbget | Download nzbs with nzbget. |
periscope | Download subtitles with Periscope. |
pyload | http://pyload.net/. |
qbittorrent | Pass torrents directly to the qBittorrent client, supporting magnet links. |
rtorrent | Pass torrents directly to rtorrent |
rtorrent_magnet | Handles magnet URI's and produces rTorrent compatible torrent files (0.8.9+) |
sabnzbd | Download nzbs with SABnzbd. |
subliminal | Download subtitles with Subliminal. |
transmission | Pass torrents directly to transmission, supporting magnet links. |
utorrent | Pass torrents directly to uTorrent. |
Send accepted entries to 3rd party sites, usually for tracking purposes.
Keyword | Description |
---|---|
myepisodes | Mark accepted episodes as acquired on MyEpisodes. |
pogcal_acquired | Mark accepted episodes on pogdesign TV calendar |
kodi_library | Send clean/scan requests to a remote/local Kodi server. |
Send accepted entries to notification services. More details here.
Keyword | Description |
---|---|
Send an email message | |
gotify | Send a Gotify notification |
join | Send a Join notification |
notifymyandroid | Send a NMA notification |
mqtt | Send MQTT notification |
matrix | Send matrix notification |
prowl | Send a Prowl notification |
pushalot | Send a Pushalot notification |
pushbullet | Send a Pushbullet notification |
pushover | Send a Pushover notification |
pushsafer | Send a Pushsafer notification |
rapidpush | Send a Rapidpush notification |
discord | Send a Discord notification |
slack | Send a Slack notification |
sms_ru | Send a SMS.RU notification |
telegram | Send a Telegram notification |
xmpp | Send an XMPP notification |
ms_teams | Send a Microsoft Teams notification |
bark | Send a Bark notification |
Use accepted entries as an input for various FlexGet plugins such as add to movie queue, set series begin & etc.
Keyword | Description |
---|---|
digest | Collects entries from tasks to be combined into another task (usually for notification.) |
series_remove | Remove accepted series \ episodes from the series plugin |
set_series_begin | Set the first episode to download for series. |
list_add | Use this plugin to add accepted entries to another list plugin. |
list_remove | Use this plugin to remove accepted entries to another list plugin. |
Perform different file operations using accepted entries.
Keyword | Description |
---|---|
copy | Copy local files. |
decompress | Extract Zip and RAR files. |
delete | Delete local files. |
download | Download passed entries into given path. |
exec | Executes commands on entries. |
ftp_download | Download entries retrieved from ftp_list |
move | Move local files. |
sftp_download | Download files from an SFTP server |
sftp_upload | Upload files to an SFTP server |
symlink | Symlink local files. |
Generate custom output using accepted entries.
Keyword | Description |
---|---|
make_html | Generate HTML file from passed entries. |
make_rss | Generate RSS-feed file from passed entries. |
Retrieve additional data from internal parsers or 3rd party sites. Used for population of more fields than default or to actively perform data retrieval for specific input types.
These provide metainfo (ie. fields) to Entry.
Keyword | Description |
---|---|
imdb_lookup | Enable imdb parsing for imdb fields on-demand. |
rottentomatoes_lookup | Enable Rotten Tomatoes parsing for Rotten Tomatoes fields on-demand. |
thetvdb_lookup | Fetch series information from http://thetvdb.com/ |
tmdb_lookup | Enable http://www.themoviedb.org/ parsing for tmdb fields on-demand. |
torrent_files | Builtin. Parse torrent files for metadata |
trakt_lookup | Enable http://trakt.tv/ parsing for trakt fields on-demand. |
tvmaze_lookup | Enable http://tvmaze.com/ parsing for tvmaze fields on-demand. |
bluray_lookup | Enable http://m.blu-ray.com/ parsing for bluray fields on-demand. |
nfo_lookup | Read movie information from an nfo file (specially useful for Kodi libraries). |
check_subtitles | Check subtitles presence for local files. |
metainfo_movie | Call internal movie parser to parse task entries and generated movie related data. |
metainfo_series | Use internal series parser to parse task entries and generated series related data. |
Plugins that can manipulate data and perform various operations.
Perform various operations on request that are being sent and received.
Keyword | Description |
---|---|
cfscraper | Enables cloudflare scraping in a task. |
convert_magnet | Converts magnet uris to torrent files using libtorrent |
cookies | Use FireFox3 cookies. |
domain_delay | Sets a minimum interval between requests to specific domains. |
formlogin | Log in to web site via login form. |
headers | Modify HTTP headers. |
proxy | Use a proxy to access resources. |
urlrewrite_search | Search for download URL from supported sites by using entry title. |
Keyword | Description |
---|---|
wp_auth | Access WordPress s2Member protected RSS feeds. |
rutracker | Supports downloading torrents from rutracker. |
Perform file oriented operations.
Keyword | Description |
---|---|
add_trackers | Add trackers to torrents. |
extension | Force a file extension. |
free_space | Abort task when drive space is low. |
path_by_ext | Change (download) path based on file-type (extension). |
path_by_space | Select a path based on disk stats |
remove_trackers | Remove trackers from a torrent. |
set | Set 'path' or other info per task. Can be dynamic per entry. |
Manipulate relevant data based on input.
Keyword | Description |
---|---|
assume_quality | Make assumptions about the qualities of releases. |
manipulate | Allows regexp manipulation for entries. |
parsing | Configure another parser for series and movie titles. (can help if IMDB/TMDB/TVDB lookup fails too often) |
pathscrub | Cleans invalid characters from generated path/file names. (Used by other plugins that generate files.) |
torrent_scrub | Removes non-standard keys like libtorrent resume information from downloads (which prevents the torrent from properly starting in Rtorrent). |
urlrewrite | User regexp for URL Rewriting. |
rmz | URL rewrite plugin for rmz.cr rss feed. Filehoster links to be grabbed can be configured. |
rlsbb | URL rewrite plugin for rlsbb.ru rss feed. Filehoster links to be grabbed and comment parsing can be configured. |
Perform various FlexGet operations.
Keyword | Description |
---|---|
archive | Archive all seen entries for searchable database for later retrieval. |
delay | Adds artificial delay into a task. |
disable | Disable builtin plugin(s) from a task, or plugins included from a template. |
include | Include configuration from another yaml file. |
interval | Maintain minimum poll interval for the task. |
log_filter | Filter prevent certain messages from being logged. |
manual | Only run the task when explicitly specified. |
max_reruns | Limit the maximum number of task reruns. |
no_entries_ok | Silence warnings about task not producing entries, for tasks where that is normal. |
priority | Change task execution order. |
plugin_priority | Change plugin priorities. |
remember_rejected | Remember rejections and reject them in future runs. |
reorder_quality | Reorder qualities to make one quality better or worse than another. |
retry_failed | Save failed entries so they can be retried. Builtin |
run_task | Trigger exectution of another task. |
variables | Replace specific jinja2 values in config before executing tasks. |
sequence | Allows the same plugin to be configured multiple times in a task. |
sleep | Causes a pause to occur at a specified point during task execution. |
sort_by | Sort entries in a task. |
template | Provides global configuration and named templates. |
verify_ssl_certificates | Can turn off SSL certificate verification on a task. |
version_checker | Checks if user is running latest Flexget version on a given interval. |
These plugins are specifically for when FlexGet is being used in daemon mode. They differ from the other plugins documented here, in that they should be configured at the root of your config. Not inside any tasks or templates.
Keyword | Description |
---|---|
scheduler | Executes tasks with a given interval or schedule while daemon is running. |
irc | Connect a bot to an IRC channel and act on tracker announcements. |
Use flexget --help
for full list of subcommands. --help
can also be used with any of the subcommands for further help text.
Command | Description |
---|---|
inject | Inject entries into tasks from the CLI. |
service | EXPERIMENTAL A Windows service installer for the FlexGet daemon. |
execute
command optionsUse flexget execute --help
for full option list.
Argument | Description |
---|---|
--cli-config | Allow using values from commandline in YML-configuration file. |
--dump | Display all entries after task execution. |
--tasks | Executes only the specified task(s) |
--inject | Injects custom entry into task(s). |
--try-regexp | Test how regexps work on task(s) interactively. |
Plugins can be installed by simply placing them in a plugins
folder alongside your configuration file. (This would usually be ~/.flexget/plugins/
, however it may be different if your config is in a different location.) It is also possible to package plugins in a separate Python package like FlexGet extras.
There is a list of third-party and extra plugins available, which are plugins that are not common, actively maintained or are otherwise unsuitable for main distribution.