Acquisition
A release reaches your library through one of three lanes: RSS sync, the background search, or a search you start yourself. All three score candidates with the same quality profile and custom rules. They differ in what triggers them, which items they cover, and which gates they respect. Monitoring decides which items the automatic lanes cover at all.
Monitoring
Section titled “Monitoring”Monitored means “keep acquiring this.” The flag exists on a title, on each season, on each episode, and on a series-linked movie. An item counts as monitored only when it and its parents are: an episode needs its season and its title monitored too.
When you add a series, the Monitor type decides which episodes start monitored:
| Monitor type | Episodes monitored |
|---|---|
| All episodes | Every episode. The default. |
| Future episodes | Only episodes that have not aired yet. Episodes with no air date count as future. |
| Missing + future episodes | Every episode at add time, since nothing is on disk yet. |
| Advanced | Only the seasons you pick. Anything not selected stays unmonitored. |
| Unmonitored or None | Nothing. The title is in the catalog but produces no work. |
Specials (season 0) follow the separate monitor specials switch regardless of type. Titles start monitored unless you choose Unmonitored or None. You can flip monitoring later per title, season, episode, or in bulk.
Movies carry a second gate, minimum availability: Announced, In Cinemas, or Released. A movie below its availability is skipped by the automatic lanes even when monitored. Released uses the digital release date, or the theatrical date plus 90 days when no digital date is known.
What monitoring gates
Section titled “What monitoring gates”- RSS sync only matches releases against monitored titles, and only grabs for monitored episodes in monitored seasons.
- Background search derives its targets from monitored items that are missing or below cutoff. Unmonitored items are never targets.
- Wanted views show the same derived set, so Wanted Items and Cutoff Unmet only list monitored items.
What monitoring does not gate
Section titled “What monitoring does not gate”- Operator and interactive searches run on unmonitored items. Starting one is your instruction to look, so the monitored check is skipped, as it is in Sonarr.
- Manual grabs never check monitoring.
- Import. Monitoring decides what Scryer goes and gets, never what it keeps. A downloaded season pack imports every episode it contains, including unmonitored ones.
Unmonitoring an episode or season also clears its acquisition state, so a pending release for it is dropped.
The Three Lanes
Section titled “The Three Lanes”| RSS sync | Background search | Operator search | |
|---|---|---|---|
| Trigger | Continuous. Each indexer’s feed is polled on a 15-minute target cadence. | Continuous. One cycle every 60 seconds by default. | You, from a title, season, episode, wanted row, or Cutoff Unmet. |
| Covers | Whatever appeared in the feeds since the last poll | Monitored items that are missing or below cutoff | The items you point it at |
| Monitored required | Yes | Yes | No |
| Delay profile | Applies. Held releases go to Pending. | Applies | Protocol delay is bypassed. Usenet minimum age still applies. |
| Who chooses | The scorer | The scorer | The scorer. Use interactive search to choose yourself. |
RSS Sync
Section titled “RSS Sync”RSS sync catches new releases as they appear, and it is also how upgrades arrive: a converged item is no longer searched, so a better release has to come through the feed.
Cadence. The sync task ticks every minute, but each indexer is polled at most once per 15-minute target window, offset per indexer so polls spread out. When an indexer reports low remaining API quota, its cadence stretches to an hour. The SCRYER_RSS_TARGET_INTERVAL_SECS environment variable overrides the target for test setups, with a floor of five seconds.
Preconditions. The pass is skipped when no titles are monitored or when no download client is enabled. An indexer participates only if it has automatic search enabled and, for managed indexers, RSS enabled.
Matching. Each feed item is parsed and matched against monitored titles by exact title keys and any indexer-supplied ids. An item whose name matches more than one title with nothing to disambiguate is skipped rather than guessed. Multi-episode and season-pack releases are evaluated once as a pack rather than per episode.
Deciding. Matched releases are scored with the profile and rules, then checked against the delay profile. Eligible releases are grabbed immediately. Releases held by a delay, a Usenet minimum age, or an unknown publish time become Pending, and every later pass re-evaluates them alongside fresh feed results, so the Usenet-versus-torrent race resolves on its own. There is no separate pending-release job.
Feed items are deduplicated by GUID in memory across the last 2000 items. That cache resets on restart, so a restart may re-evaluate recent items. Already-grabbed and blocklisted releases are still rejected.
Run it by hand from System → Jobs as RSS Sync. The report shows releases fetched, matched, grabbed, and held.
Background Search
Section titled “Background Search”The background search fills gaps RSS cannot: items that were missing before you added them, and upgrades for items whose better release predates the feed.
Cycle. Every acquisition.poll_interval_seconds seconds (default 60) Scryer recovers failed downloads, derives the target set, and processes up to four titles concurrently. The target set is every monitored scope that is missing a file or has one below the profile cutoff, minus paused scopes. Wanted views read the same derivation, so the searcher and the UI always agree.
Hot and cold. Targets are split into lanes. Hot targets are searched promptly: episodes within 14 days of airing, movies within 30 days of release, and anything added in the last 3 days. Cold targets rotate through a persisted cursor, capped by acquisition.long_tail_backfill_max_scopes_per_cycle (default 500) per cycle.
Convergence. Instead of growing retry intervals, Scryer records when an indexer’s catalog has been completely searched for a scope under the current policy. A converged scope is not searched again. It rides RSS. The record is fingerprinted with the effective quality profile and required audio languages, so editing the profile makes coverage stale and the scope re-converges. acquisition.long_tail_reconverge_days forces a periodic re-search of converged scopes and is off by default.
Cooldowns. A failed grab suppresses re-search of that scope for 20 minutes. An upgrade that just landed blocks another upgrade of the same item for acquisition.upgrade_cooldown_hours (default 24).
Operator Search
Section titled “Operator Search”Search now on a title, season, wanted row, or Cutoff Unmet entry starts an acquisition search job. It searches the indexers routed to the facet, scores the results, and grabs the best allowed candidate for each scope. The scorer picks, not you.
What it covers depends on where you start it:
- Title searches the title’s monitored missing scopes. Season narrows that to one season.
- Episode or series movie searches exactly that item, monitored or not.
- Wanted row or Cutoff Unmet row searches exactly that item. Search All on Cutoff Unmet runs the upgrade kind across the list.
Because you started it, the search bypasses the convergence gate and the monitored check for explicitly targeted items, and skips the delay profile’s protocol delay. The Usenet minimum age still applies, and a candidate that is blocked, below minimum score, already active, or on the blocklist is still refused. If nothing is auto-eligible the job reports no eligible release; open interactive search to see why.
One acquisition search job runs at a time. Title-scoped searches need the manageTitles library permission. Facet or library-wide searches need manageCatalogSettings.
Interactive Search
Section titled “Interactive Search”Search Releases on a title, season, episode, or series movie runs an interactive search. Results stream in as each indexer completes and show every candidate with its parsed fields, score, and full scoring log. Each candidate also carries an auto-decision code explaining what the automatic lanes would have done with it: eligible, quality_blocked, negative_score, upgrade_rejected, cutoff_reached, episode_not_monitored, pending_delay, minimum_age, pack_below_missing_threshold, and others.
From the results you can:
- Grab any candidate, including one Scryer ranked lower. A manual grab bypasses the profile’s block and minimum score, the delay profile, the blocklist, and monitoring. It needs only the
manageTitlespermission on the library. Nothing is marked monitored as a side effect. - Replace the current file with a candidate. The release behind the current file is blocklisted, and on import the replacement always lands, forcing the upgrade and recycling the old file.
On the Pending tab, Grab now submits a held release immediately, skipping the delay re-evaluation and the minimum seeders check.
Scryer parses and grabs releases that cover more than one episode.
What is recognized. Season packs. Multi-episode files such as S01E01-E02. Anime batch ranges such as episodes 01-12. Complete-series packs marked with high-signal phrases such as COMPLETE SERIES, explicit season lists, or season ranges. A bare COMPLETE or an unlabeled batch is deliberately not treated as a series pack.
When Scryer looks for one. The background search works per title in order: one complete-series lookup, then a season pack when two or more episodes of that season are due this cycle, then individual episodes. RSS treats a pack as a target when at least one monitored member is missing or below cutoff and the pack is not dominated by files you already have.
The 30 percent rule. A complete-series pack is considered only when it fills more than 30 percent of the aired, monitored, regular episodes it covers. This stops a large download for a small hole in an otherwise complete series. The threshold is fixed. A pack that fails it shows pack_below_missing_threshold in interactive search.
Operator search and packs. Search now on an episode or series movie picks a single-item release. It does not select multi-episode or season pack scopes. To grab a pack deliberately, use interactive search on the season and pick it.
Import. A pack grab is verified against the seasons it declared. Each file is mapped to its episodes and imported, including files for unmonitored episodes. A file that resolves to an episode outside the declared seasons is held for review rather than imported. A season pack missing a file for an unmonitored episode still counts as complete.
Delay Profiles
Section titled “Delay Profiles”A delay profile sets a wait per protocol before a release may be grabbed, a preferred protocol, a Usenet-only minimum age, and optional bypasses: a score threshold, or “highest quality in the profile”. Profiles are matched by facet and tag under acquisition.delay_profiles.
RSS and background search respect the delay and hold releases as Pending. Operator searches skip the protocol delay because you asked now. The Usenet minimum age is a safety check on the release itself, so every automatic path keeps it. Manual grabs from interactive search never reach the delay evaluator.
Related
Section titled “Related”- Core Model defines monitoring, wanted items, and pending.
- Quality Profiles and Custom Rules define the scoring every lane uses.
- Acquisition And Routing covers indexers, download clients, and routing.