Filters

Filters allow for you to filter every item added to the collection/overlay/playlist from every builder using the filters attribute.

Using Filters

Filters cannot do anything alone they require the use of at least one Builder to function.

You can have multiple filters in each set but an item must match at least one value from each filter to not be ignored. The values for each must match what Plex has including special characters in order to match.

filters:
  genre: Action
  country: Germany

Anything that doesn’t have both the Genre Action and the Country Germany will be ignored.

Multiple Filter Sets can be given as a list. With multiple sets only one of the sets must pass for the item to not be ignored.

filters:
  - genre: Action
    country: Germany
  - genre: Comedy
    country: France

Anything that doesn’t have either both the Genre Action and the Country Germany or the Genre Comedy and the Country France will be ignored.

All filter options are listed below. To display items filtered out add show_filtered: true to the definition.

You can use the plex_all: true builder to filter from your entire library.

Filters can be very slow. Try to build or narrow your items using Plex Search or another Builder if possible.

Table Annotations

1 Filters using the special episodes/tracks filter with the default percent.

2 Also filters out missing movies/shows from being added to Radarr/Sonarr. These Values also cannot use the count modifiers.

3 You can use current_year to have PMM use the current years value. This can be combined with a -# at the end to subtract that number of years. i.e. current-2

4 The actual numbers are pulled from the PMM-Mediastingers Repo.

5 Also is a Tag Filter and can use all of those modifiers.

String Filters

String filters can be used with either no modifier or with .not, .is, .isnot, .begins, .ends, or .regex.

String filters can take multiple values only as a list.

Modifier

String Modifier

Description

No Modifier

Matches every item where the attribute contains the given string

.not

Matches every item where the attribute does not contain the given string

.is

Matches every item where the attribute exactly matches the given string

.isnot

Matches every item where the attribute does not exactly match the given string

.begins

Matches every item where the attribute begins with the given string

.ends

Matches every item where the attribute ends with the given string

.regex

Matches every item where the attribute matches the regex given

Attribute

String Filter

Description

Movies

Shows

Seasons

Episodes

Artists

Albums

Track

title

Uses the title attribute to match

tmdb_title2

Uses the title from TMDb to match

summary

Uses the summary attribute to match

studio

Uses the studio attribute to match

edition

Uses the edition attribute to match

record_label

Uses the record label attribute to match

folder

Uses the item’s folder to match

filepath

Uses the item’s filepath to match

1

1

1

1

audio_track_title

Uses the audio track titles to match

1

1

1

1

subtitle_track_title

Uses the subtitle track titles to match

1

1

1

1

video_codec

Uses the video codec tags to match

1

1

video_profile

Uses the video profile tags to match

1

1

audio_codec

Uses the audio codec tags to match

1

1

audio_profile

Uses the audio profile tags to match

1

1

Tag Filters

Tag filters can be used with either no modifier or with .not.

Tag filters can take multiple values as a list or a comma-separated string.

Modifier

Tag Modifier

Description

No Modifier

Matches every item where the attribute matches the given string

.not

Matches every item where the attribute does not match the given string

.regex

Matches every item where one value of this attribute matches the regex.

.count_lt

Matches every item where the attribute count is less than the given number

.count_lte

Matches every item where the attribute count is less than the given number

.count_gt

Matches every item where the attribute count is greater than the given number

.count_gte

Matches every item where the attribute count is greater than or equal to the given number

Attribute

Tag Filters

Description

Movies

Shows

Seasons

Episodes

Artists

Albums

Track

actor

Uses the actor tags to match

collection

Uses the collection tags to match

content_rating

Uses the content rating tags to match

network

Uses the network tags to match

country

Uses the country tags to match

director

Uses the director tags to match

genre

Uses the genre tags to match

label

Uses the label tags to match

producer

Uses the actor tags to match

year3

Uses the year tag to match

writer

Uses the writer tags to match

resolution

Uses the resolution tag to match

1

1

audio_language

Uses the audio language tags to match

1

1

subtitle_language

Uses the subtitle language tags to match

1

1

tmdb_genre2

Uses the genres from TMDb to match

tmdb_keyword2

Uses the keywords from TMDb to match

origin_country2

Uses TMDb origin country ISO 3166-1 alpha-2 codes to match
Example: origin_country: us

imdb_keyword2

Uses the keywords from IMDb to match See Special for more attributes

Boolean Filters

Boolean Filters have no modifiers.

Attribute

Boolean Filters

Description

Movies

Shows

Seasons

Episodes

Artists

Albums

Track

has_collection

Matches every item that has or does not have a collection

has_edition

Matches every item that has or does not have an edition

has_stinger

Matches every item that has a media stinger (After/During Credits Scene)

has_dolby_vision

Matches every item that has or does not have a dolby vision

1

1

has_overlay

Matches every item that has or does not have an overlay

Date Filters

Date filters can be used with either no modifier or with .not, .before, .after, or .regex.

Date filters can NOT take multiple values.

Modifier

Date Modifier

Description

Format

No Modifier

Matches every item where the date attribute is in the last X days

Format: number of days
e.g. 30

.not

Matches every item where the date attribute is not in the last X days

Format: number of days
e.g. 30

.before

Matches every item where the date attribute is before the given date

Format: MM/DD/YYYY or today for the current day
e.g. 01/01/2000

.after

Matches every item where the date attribute is after the given date

Format: MM/DD/YYYY or today for the current day
e.g. 01/01/2000

.regex

Matches every item where the attribute matches the regex given

N/A

Attribute

Date Filters

Description

Movies

Shows

Seasons

Episodes

Artists

Albums

Track

release

Uses the release date attribute (originally available) to match

added

Uses the date added attribute to match

last_played

Uses the date last played attribute to match

first_episode_aired2

Uses the first episode aired date to match

last_episode_aired**2

Uses the last episode aired date to match

last_episode_aired_or_never2

Similar to last_episode_aired but also includes those that haven’t aired yet

Number Filters

Number filters must use .gt, .gte, .lt, or .lte as a modifier.

Number filters can NOT take multiple values.

Modifier

Number Modifier

Description

Format

No Modifier

Matches every item where the number attribute is equal to the given number

Format: number
e.g. 30, 1995, or 7.5

.not

Matches every item where the number attribute is not equal to the given number

Format: number
e.g. 30, 1995, or 7.5

.gt

Matches every item where the number attribute is greater than the given number

Format: number
e.g. 30, 1995, or 7.5

.gte

Matches every item where the number attribute is greater than or equal to the given number

Format: number
e.g. 30, 1995, or 7.5

.lt

Matches every item where the number attribute is less than the given number

Format: number
e.g. 30, 1995, or 7.5

.lte

Matches every item where the number attribute is less than or equal to the given number

Format: number
e.g. 30, 1995, or 7.5

Attribute

Number Filters

Description

Movies

Shows

Seasons

Episodes

Artists

Albums

Track

year3

Uses the year attribute to match
minimum: 1

tmdb_year23

Uses the year on TMDb to match
minimum: 1

critic_rating

Uses the critic rating attribute to match
0.0 - 10.0

audience_rating

Uses the audience rating attribute to match
0.0 - 10.0

user_rating

Uses the user rating attribute to match
0.0 - 10.0

tmdb_vote_count2

Uses the tmdb vote count to match
minimum: 1

tmdb_vote_average2

Uses the tmdb vote average rating to match
minimum: 0.0

plays

Uses the plays attribute to match
minimum: 1

duration

Uses the duration attribute to match using minutes
minimum: 0.0

channels

Uses the audio channels attribute to match
minimum: 0

1

1

height

Uses the height attribute to match
minimum: 0

1

1

width

Uses the width attribute to match
minimum: 0

1

1

aspect

Uses the aspect attribute to match
minimum: 0.0

1

1

versions

Uses the number of versions found to match
minimum: 0

1

1

1

1

stinger_rating4

Uses the media stinger rating to match. The media stinger rating is if the after/during credits scene is worth staying for.
minimum: 0

Special Filters

Special Filters each have their own set of rules for how they’re used.

Attribute

Special Filters

Description

Movies

Shows

Seasons

Episodes

Artists

Albums

Track

history

Uses the release date attribute (originally available) to match dates throughout history
day: Match the Day and Month to Today’s Date
month: Match the Month to Today’s Date
1-30: Match the Day and Month to Today’s Date or 1-30 days before Today’s Date

episodes

Uses the item’s episodes attributes to match
Use the percentage attribute given a number between 0-100 to determine the percentage of an items episodes that must match the sub-filter.

seasons

Uses the item’s seasons attributes to match
Use the percentage attribute given a number between 0-100 to determine the percentage of an items seasons that must match the sub-filter.

tracks

Uses the item’s tracks attributes to match
Use the percentage attribute given a number between 0-100 to determine the percentage of an items tracks that must match the sub-filter.

albums

Uses the item’s albums attributes to match
Use the percentage attribute given a number between 0-100 to determine the percentage of an items albums that must match the sub-filter.

original_language2
original_language.not2

Uses TMDb original language ISO 639-1 codes to match
Example: original_language: en, ko

tmdb_status2
tmdb_status.not2

Uses TMDb Status to match
Values: returning, planned, production, ended, canceled, pilot

tmdb_type2
tmdb_type.not2

Uses TMDb Type to match
Values: documentary, news, production, miniseries, reality, scripted, talk_show, video

imdb_keyword25

Uses the keywords from IMDb to match
keywords: list of keywords to match
minimum_votes: minimum number of votes keywords must have
minimum_relevant: minimum number of relevant votes keywords must have
minimum_percentage: minimum percentage of relevant votes keywords must have

Collection Filter Examples

A few examples are listed below:

collections:
  1080p Documentaries:
    plex_search:
      all:
        genre: Documentary
    summary: A collection of 1080p Documentaries
    filters:
      resolution: 1080
collections:
  Daniel Craig only James Bonds:
    imdb_list: https://www.imdb.com/list/ls006405458/
    filters:
      actor: Daniel Craig
collections:
  French Romance:
    plex_search:
      all:
        genre: Romance
    filters:
      audio_language: Français
collections:
  Romantic Comedies:
    plex_search:
      all:
        genre: Romance
    filters:
      genre: Comedy
collections:
  9.0 Movies:
    plex_all: true
    filters:
      rating.gte: 9
collections:
  Summer 2020 Movies:
    plex_all: true
    filters:
      release.after: 5/1/2020
      release.before: 8/31/2020
collections:
  Movies Released in the Last 180 Days:
    plex_all: true
    filters:
      release: 180
collections:
  Good Adam Sandler Romantic Comedies:
    plex_search:
      all:
        genre: Romance
        actor: Adam Sandler
    filters:
      genre: Comedy
      rating.gte: 7
collections:
  Movies with Commentary:
    plex_all: true
    filters:
      audio_track_title: Commentary