Skip to content

Settings — Search & Scan

This page configures the heartbeat of Sublarr’s automation: how often the wanted scanner runs, how many providers it asks in parallel, and whether existing subtitles get upgraded when a better one appears. The defaults are sane for most installs — only tweak when you’re hitting provider rate limits or running on constrained hardware.

The scanner walks the library, identifies items missing target-language subtitles, and queues searches.

SettingDefaultValuesEffect
Scan interval (h)00–168Hours between library scans. 0 disables periodic scans; webhooks and manual scans still work.
Scan on startupofftoggleRun a library scan immediately when Sublarr boots.
Wanted search interval (h)240–168Hours between provider-search runs for queued wanted items. 0 disables the periodic search job.
Search on startupontoggleRun a wanted search immediately when Sublarr boots.
Backoff on 429ontoggleSlow down when a provider rate-limits. Strongly recommended on.
Backoff base (h)10.25–24Initial backoff delay after a rate-limit.
Backoff cap (h)1681–168Maximum backoff. Provider unsticks fully after this.
Adaptive backoffontogglePer-provider backoff state. Disable for predictable per-cycle behaviour.
Backlog reserve (%)500–80Once any provider has used this share of its daily budget, items marked backlog are dropped from the rest of the cycle. See How the queue is ordered.
Priority weightingontoggleSort by item priority before anything else — premium first, then standard, then backlog. Off means the search order below decides alone.
Search orderfairfair / newest_first / weightedWithin a scan cycle, order to process items.

A wanted search run cannot process everything, so two settings decide who goes first and who gets left out when provider quota runs short.

Priority weighting decides the order. Every wanted item carries a priority — premium, standard or backlog. With weighting on, that rank is applied before the search order below, so a premium item outranks a backlog item no matter which preset you picked. Turn it off and the preset decides alone.

Backlog reserve decides who gets dropped. It is a threshold on provider budget, not a share of the queue — the name is easy to read the other way round. Sublarr looks at the daily budget usage of every provider; once the busiest one has consumed this percentage of its allowance, items marked backlog stop being searched for the remainder of the cycle. Everything else keeps going.

The point is that a large backlog would otherwise burn the day’s provider quota on old items that have already failed many times, leaving nothing for the episode that aired tonight. At the default of 50, backlog work gets the first half of each provider’s daily allowance and yields the rest.

Set it to 80 to let backlog items run further into the budget, or to 0 to stop searching them as soon as any provider is used at all. Providers without a declared daily limit never trigger the gate.

Independent of the wanted scanner — the library scan is what discovers files in the first place (Standalone mode) or syncs with Sonarr/Radarr (*arr mode).

SettingDefaultValuesEffect
Standalone scan interval (h)60–168How often Sublarr re-walks Standalone folders. 0 disables periodic Standalone scans. *arr mode uses webhooks instead.
Skip extrasontoggleSkip files matching the configured “extras” patterns (trailers, behind-the-scenes).
Min file size (MB)1000–10000Reject files below this size as not real content.
Ignore patterns*.tmp,*.partial,*sample*comma-separated globsFilenames that match any pattern are skipped.
Ignore languagesemptycomma-separated codesExisting sidecars in these languages are ignored when computing “missing language”.
Yield (ms)00–500Sleep between file probes. Raise on slow storage to avoid IO saturation.
Min metadata workers41–32Parallel metadata lookups. Raise on fast storage + good network.
Parallel media processes11–8How many disk-heavy subprocesses (container remux, subtitle extraction, ffsubsync/alass, metadata scan batches) may run at once, process-wide. 1 serialises them so a burst of downloads cannot rewrite several multi-GB files in parallel and starve the rest of the array; raise only on SSD/NVMe storage. Metadata workers are capped by this value.

When Upgrade enabled is on (per-profile and globally), Sublarr replaces existing subtitles with better-scoring ones found in subsequent searches.

SettingDefaultValuesEffect
Upgrade enabledontoggleGlobal master. Per-profile setting can disable for specific series.
Upgrade scan interval (h)00–168How often Sublarr scans for upgrade candidates. 0 disables scheduled upgrades; manual upgrade scans still work.
Upgrade min score delta50score pointsReplace only if the new candidate beats the current by at least this.
Upgrade window (days)7daysOnly subtitles inside this age window are considered for upgrades.
upgrade_protect_user_modifiedontoggleNever auto-replace a subtitle you edited by hand.

The replaced subtitle goes to Trash for the configured retention.

Protecting your own edits. Once you save a change in the subtitle editor, Sublarr marks that file as hand-edited. With upgrade_protect_user_modified on — the default — the upgrade pass skips it, so an hour spent fixing timings is not undone by a marginally better-scoring download. Turn it off only if you want automation to win unconditionally.

Sublarr caps how many provider calls run in parallel. Lower caps protect upstream providers; higher caps drain a wanted backlog faster on capable hardware.

SettingDefaultValuesEffect
Max concurrent provider searches31–10Per-Sublarr-instance global cap.
Per-provider concurrency21–8Cap per provider. Some providers throttle aggressively per-IP.
Provider delay (ms)00–5000Sleep between consecutive calls to the same provider. Use when a provider rejects rapid sequential calls.

Three buttons at the top of the page:

ButtonEffect
Scan library nowRuns library scan once.
Search wanted nowRuns wanted scanner once.
Upgrade scan nowRuns upgrade scan once.

Manual triggers respect the same concurrency caps and rate limits as the scheduled equivalents.

The actual jobs that run on these intervals are owned by APScheduler under Settings → System → Scheduler. This page is a high-level surface for the most-tuned settings; the Scheduler page exposes raw cron triggers, history, and per-job pause/resume.