# Filtering

> Build Profilarr upgrade filters with rules and nested AND/OR groups to target the movies or series you want to search.

A page from the Profilarr documentation by https://github.com/santiagosayshey, last updated 2026-10-04 (commit: https://github.com/Dictionarry-Hub/profilarr.com/commit/61d5e800052edaaa7b91d46b4bb84c0148fcc7ca). Web version: https://profilarr.com/deploy/upgrades/filtering. Edit on GitHub: https://github.com/Dictionarry-Hub/profilarr.com/edit/develop/src/routes/(docs)/deploy/upgrades/filtering/+page.svx

A filter decides which items in your library are worth searching for an upgrade. It's a set of *rules* about items in your library, like whether:

- It's assigned to the 1080p Quality profile.
- Its file comes from a banned release group.
- It was added more than a year ago.

## Rules

Every rule has three parts: a **field**, an *operator*, and a <u>value</u>, like **Monitored** *is* <u>True</u>.

The field you pick decides which operators you get:

| Field holds | Operators | Example |
| --- | --- | --- |
| Boolean | *is*, *is not* | **Cutoff Met** *is* <u>False</u> |
| Number | *=*, *≠*, *>*, *≥*, *<*, *≤* | **Runtime** *>* <u>150</u> |
| Text | *contains*, *does not contain*, *starts with*, *ends with*, *equals*, *does not equal* | **Studio** *contains* <u>Pixar</u> |
| List | *includes*, *does not include*, *is only*, *has any*, *has none* | **Genres** *has* <u>Horror</u> |
| Date | *is before*, *is after*, *in the last*, *not in the last* | **Date Added** *not in last* <u>365</u> days |
| Status | *is exactly*, *is not*, *has reached*, *hasn't passed*, *is past*, *is before* | **Status** *has reached* <u>Released</u> |

> **Info:** The rule row shortens some operators once they're picked, like *has* for *includes*. Text fields that offer a dropdown of values, like **Quality Profile** and **Release Group**, only have *is* and *is not*.

## Groups

A *group* is a rule that holds other rules. Every filter starts with a top group, and all your rules go inside it.

Like any rule, a group either matches an item or it doesn't. Its **Match** setting decides how:

- With **All (AND)**, every rule inside has to match. **Monitored** *is* <u>True</u> and **Size on Disk** *<* <u>5</u> together only match monitored movies under 5 GB.
- With **Any (OR)**, one is enough. **Original Language** *is* <u>Japanese</u> and **Original Language** *is* <u>Korean</u> together match movies made in either language.

Because a group is just another rule, you can put one group inside another group!


## Building a Filter

Rules and groups make a lot more sense once you see them in action, so let's play around with a filter!

You've decided that you want to upgrade the most popular movies in your library. Crappy encodes shall be no more! But what does this actually mean? What is "popular"? Well, let's try to map these to some upgrade [fields](https://profilarr.com/deploy/upgrades/fields).

Popularity seems like the obvious place to start, and a high rating probably counts too. So a first guess might look like this, with the group on **Any (OR)** so either one is enough:

- **Popularity** *≥* <u>30</u>
- **TMDb Rating** *≥* <u>7</u>

![A Profilarr filter named High Priority Popular with its group on Any (OR) and two rules: Popularity at least 30, and TMDb Rating at least 7](https://profilarr.com/images/docs_upgrades_filtering_first_filter[style=light].png)

The group is on Any (OR), so a movie only needs to match one of the two rules.

![The filter's preview: 12 items checked and 11 matched, with The Shawshank Redemption (1994) marked Will search next, followed by movies like The Dark Knight, Dune: Part Two, and Oppenheimer](https://profilarr.com/images/docs_upgrades_filtering_first_preview[style=light].png)

11 of the 12 movies match, The Shawshank Redemption among them.

Open the preview, and near the top is... The Shawshank Redemption? Sure, it just got a 4K remaster, so everyone's watching it again, and it's rated through the roof. By your two rules, it's as popular as it gets. But it's a 1994 prison drama, and that's not what anyone on your server is asking for. So let's only count recent movies. Add **Year** *≥* <u>2020</u> and check again.

![The High Priority Popular filter with its group on Any (OR) and three rules: Popularity at least 30, TMDb Rating at least 7, and Year 2020 or later](https://profilarr.com/images/docs_upgrades_filtering_year_filter[style=light].png)

Year joins the group, on Any (OR) like the other two.

![The filter's preview: 12 items checked and all 12 matched, with The Shawshank Redemption (1994) marked Will search next and 100% Wolf (2020) now in the list](https://profilarr.com/images/docs_upgrades_filtering_year_preview[style=light].png)

All 12 movies match now, and Shawshank is still there.

Shawshank hasn't budged. And now the list is *longer*: every movie from 2020 onwards has shown up too.

That's because our group is set to **Any (OR)**, so a movie only needs to match one rule. That's what we want for popularity and rating, since either one is good enough. But it also means a movie only needs to be recent to match, which isn't what we wanted at all. Year isn't another kind of popular, it's a base requirement.

So lets shuffle them around:
- Popularity and rating move into a new group, still on **Any (OR)**.
- Year, as well as a new rule: **Monitored** *is* <u>True</u> stay in the top group, which switches to **All (AND)**.

A movie now has to be recent, *and* monitored, *and* popular in at least one way.

![The High Priority Popular filter with its top group on All (AND): Year 2020 or later, Monitored is True, and a nested group on Any (OR) with Popularity at least 30 and TMDb Rating at least 7](https://profilarr.com/images/docs_upgrades_filtering_final_filter[style=light].png)

The top group is on All (AND), so a movie has to match Year, Monitored, and the nested group, which only needs one of its two rules.

![The filter's preview: 12 items checked and 4 matched, The Menu, Oppenheimer, Dune: Part Two, and Everything Everywhere All at Once, while The Shawshank Redemption and the other older movies don't match because their year is below 2020](https://profilarr.com/images/docs_upgrades_filtering_final_preview[style=light].png)

4 of the 12 movies match, and Shawshank is out because its year is below 2020.

Now only four movies match: The Menu, Oppenheimer, Dune: Part Two, and Everything Everywhere All at Once. Shawshank and the other older movies are out.

## Next

- [Upgrades: Fields](https://profilarr.com/deploy/upgrades/fields): What each Profilarr upgrade filter field checks in Radarr and Sonarr, including custom formats, ratings, dates, and Cutoff Met.
- [Upgrades: Selection](https://profilarr.com/deploy/upgrades/selection): Choose which matching items Profilarr searches first with selectors such as Lowest Score, and set how many it searches per run.

---

Index of this site's Markdown pages: https://profilarr.com/llms.txt
