Skip to content

Indexers

Indexers are the sites Arclight searches to find releases: torrent trackers and usenet providers. This page covers adding and testing indexers, the proxies and challenge solver that get you past Cloudflare, global indexer options, private-tracker account tracking, indexer statistics, and cross-seeding. Everyone needs at least one working indexer; the rest is for private trackers, Cloudflare-protected sites and power users.

Arclight does the job Prowlarr does, so you do not need Prowlarr (it works fine alongside Arclight if you already run it, as a Torznab/Newznab source).

What Where
Add, edit, test indexers Settings > Indexers (also reachable from the Indexers section in the left rail)
Proxies (FlareSolverr, HTTP, SOCKS5) Settings > Indexer Proxies
Global limits, RSS interval, site definition feed Settings > Indexer Options
Community catalogue on/off, source URL, sync status Settings > Indexer catalogue
Built-in Cloudflare solver Settings > Challenge Solver
Cross-seed settings Settings > Cross-seed
Indexer health table and usage charts Indexers > Stats
Private tracker ratio and buffer Indexers > Tracker stats
Cross-seeds found Activity > Cross-seeds
  1. Go to Settings > Indexers and press Add indexer. A full-width list opens with every entry Arclight knows:
    • Site definitions: hundreds of torrent sites (public, semi-private and private), from Arclight’s own definitions and the community catalogue.
    • Presets (marked Preset): well-known usenet indexers such as NZBgeek, DrunkenSlug or NZBFinder, plus Jackett’s aggregate feed. The URL, API path and categories are filled in; you only add your API key.
    • Endpoints (Torznab, Newznab, always at the top): any Torznab or Newznab API you enter by hand, such as Prowlarr, NZBHydra or a tracker’s own API.
  2. Find the site. The search box matches name, description and URL. Filters narrow by protocol (torrent/usenet), privacy, language, category (Movies, TV, Anime, Music, Books, XXX, Other) and source (built-in, community, presets, custom); Tested only keeps definitions someone confirmed against the live site, Hide unsupported drops the entries that cannot be added yet. Click a column header to sort by it (again to reverse). The keyboard works too: Down arrow from the search box into the list, arrows, Page Up/Down, Home/End to move, Enter to open.
  3. Fill in the form (below) and press Test. Arclight reports how many releases came back, or what went wrong.
  4. Save.

Every row shows the protocol, privacy, language, categories and where the entry comes from. Sites behind Cloudflare say so when you have no challenge solver yet.

Already added. Entries you already have an indexer for are greyed out with an Added chip and the name of your indexer (“In use as My YTS”). Clicking one asks what you want: Edit existing opens the indexer you have, Add another adds a second one (a second account, or the same site with different settings). Presets are matched by the host of their URL, so an NZBgeek indexer you added by hand also counts.

Limited entries load but use something Arclight does not support yet, usually a login captcha; they can be added, and the reason is shown on the row and in the editor (cookie login, when the site offers it, avoids the captcha). Not supported yet entries are community definitions that do not load in this version; they stay in the list so you know the site exists, and clicking one shows why.

Test all on the main page tests every indexer at once.

Setting Default What it does
Name - Your label
Enable RSS On Poll this indexer for new releases (needed to grab new episodes as they appear)
Enable automatic search On Use for automatic and Wanted searches
Enable interactive search On Use for manual searches from Interactive search
Priority 25 1 is the highest, 50 the lowest. Breaks ties between equally good releases
Tags none Only use for items with a matching tag; empty means all items
Download client none Send this indexer’s grabs to one specific client. Empty uses the client default
Proxy By tag (automatic) Pick a proxy explicitly, or let proxies whose tags match apply
Minimum seeders 0 (torrents) Ignore torrent releases with fewer seeders
Seed ratio, Seed time, Season-pack seed time empty Seeding goals sent to the download client for grabs from this indexer
Rate limit empty Minimum seconds between two requests to this indexer. Use it if a tracker bans you for hammering the API
API path (Torznab/Newznab) /api Path to the API
Categories, Anime categories (Torznab/Newznab) none Which categories to search. Test the indexer first so the category list loads. Empty searches every category the site maps
Additional parameters (Torznab/Newznab) empty Extra query string added to every request, such as &attrs=poster
Site link (definitions) first mirror Which mirror of the site to use

Definition indexers also show the definition’s own fields: username and password, API key, passkey, cookie, and so on, depending on the site. An “Untested definition” badge means nobody has verified that definition against the live site yet; it may need small fixes.

If an indexer fails repeatedly, Arclight backs off: the row shows “Failed” with the number of recent failures, then “Skipped until” a time, and RSS and searches skip it until then. A successful test or request clears the state. Common causes: wrong API key, site down, Cloudflare challenge, rate limiting or IP ban. See Nothing found and Cloudflare challenge.

Built-in definitions and the definition feed

Section titled “Built-in definitions and the definition feed”

Arclight ships a catalogue of site definitions (YAML files that describe how to search and log in to a site). Three sources exist, shown as badges in the catalogue:

Source Meaning
Built-in Shipped with Arclight
Feed Downloaded from the definition feed
Custom Your own YAML file, placed in the definitions folder of your config folder. A custom definition overrides the others with the same id

Custom files are picked up automatically when they change. Settings > Indexer Options has a Definition feed panel, which lets definitions be updated without a new Arclight release:

Setting Default What it does
Feed mode Automatic Automatic syncs on the interval and installs changes; Manual syncs only when you press Sync now
Feed URL Arclight’s own definitions folder on GitHub Base URL serving index.json and the definition files
Sync interval 12 hours 1 to 168 hours

Each installed feed definition keeps its previous version, and you can Roll back if an update breaks a site. Entries the feed offered but Arclight refused (for example a bad checksum) are listed as Rejected, and the installed version stays in use. Syncing needs internet access to the feed host.

Most sites in the list come from the community catalogue: the Cardigann site definitions the Prowlarr and Jackett community maintain (the Prowlarr/Indexers repository on GitHub). Arclight does not ship these files. Like Prowlarr, your server downloads them itself, so the list stays current without an Arclight update. It reads the schema v11 folder, the newest complete schema version, which is what current Prowlarr uses; nearly every file in it loads.

Settings > Indexer catalogue:

Setting Default What it does
Arclight built-in Always on Definitions shipped with Arclight and its definition feed. They win over a community definition with the same id, and so do your custom files
Community catalogue On Off: community definitions are not listed or loaded and nothing is downloaded. The files stay on disk. Indexers you added from a community definition stop working until you turn it back on
Source URL https://api.github.com/repos/Prowlarr/Indexers/contents/definitions/v11?ref=master A GitHub contents listing of a definitions folder, or an Arclight feed index.json. Use a mirror or a fork here; Use default URL puts the original back
Sync interval 24 hours 1 to 168 hours

How a sync works: Arclight reads the listing (one request, revalidated with its ETag, so an unchanged catalogue costs nothing), downloads only files whose hash changed, verifies each against the listing, and swaps the new set into <config>/definitions/community/ in one step. A failed sync keeps the catalogue you had. The set it replaced is kept, and Roll back to previous sync restores it (it then stays until the source publishes something new). The first sync runs about a minute and a half after the server starts; after that it follows the interval, and Sync now runs one at once. The page shows when it last synced, how many files load, how many are limited or not supported yet, how many are overridden by a built-in definition, and the most common reasons.

The catalogue only talks to the source URL (GitHub by default). Trackers are contacted only when you test, search or grab with an indexer. Behind a firewall with no access to GitHub, turn the community catalogue off or point it at a mirror. If the catalogue stops syncing for three intervals, System > Health warns (feed stale); if it syncs but nothing loads, it warns that the catalogue is empty.

Settings > Indexer Proxies. A proxy sends an indexer’s requests through something else. Add one only if a site is behind Cloudflare or must be reached through a proxy.

Type Use it for
FlareSolverr A FlareSolverr container (or the built-in solver) that passes browser challenges
HTTP A normal HTTP proxy
SOCKS5 A SOCKS5 proxy
Field What it does
Name, Host, Port Where the proxy listens. For FlareSolverr the host may include http://
Username, Password If the proxy needs them (the password is hidden after saving)
Request timeout Seconds to wait (FlareSolverr), 1 to 600
Tags The proxy applies to every indexer with a matching tag, unless the indexer picks a proxy explicitly

Use Test to check the proxy. For FlareSolverr, the test solves a real page, so it fails if the solver’s browser is broken even when the container is running.

Proxies marked Managed were created automatically by proxy detection: “FlareSolverr (bundled)” in Docker and “Built-in solver” on a machine with a browser. They carry the tag cloudflare, so tagging an indexer cloudflare routes it through them.

Some sites show a “Just a moment…” check that a plain HTTP client cannot pass. Arclight handles it with a solver, using two layers:

  • FlareSolverr (Docker): the shipped compose files run a FlareSolverr container behind the same VPN as Arclight and register it for you.
  • Built-in solver (native installs): drives a local Edge, Chrome, Brave or Chromium in the background. The Docker image has no browser, so it applies to native Windows, macOS and Linux installs.

Indexers whose definition says it needs FlareSolverr get the first FlareSolverr proxy automatically. A yellow “Needs a challenge solver. Set up” hint appears on such an indexer if none is configured.

Settings > Challenge Solver (the built-in one):

Setting Default What it does
Use a local browser to solve challenges On Register and serve the built-in solver
Browser path empty (auto) Leave empty to find Edge, Chrome, Brave or Chromium in that order
Timeout 60 seconds Give up on a challenge after this long (5 to 300)
Close when idle 300 seconds Close the browser after this long without work. 0 keeps it open

The page shows whether a browser was found and whether it is running, and Detect now re-runs proxy detection. It solves one request at a time. Interactive challenges (a “verify you are human” checkbox or a CAPTCHA) cannot be solved automatically. Full details, limits and the Windows workaround are in Cloudflare and other browser challenges.

Settings > Indexer Options, limits that apply to every indexer:

Setting Default What it does
RSS sync interval 15 min How often indexers are polled for new releases. 0 turns RSS sync off; otherwise 10 to 1440
Minimum age (usenet) 0 min Releases younger than this are not grabbed. 0 is off
Retention (usenet) 0 days Releases older than this are ignored. 0 is unlimited
Maximum size 0 MB Releases larger than this are rejected. 0 is unlimited
Allow hardcoded subs Off Accept releases with burned-in subtitles
Whitelisted subtitle tags empty Comma-separated tags (for example ENG, HC.ENG) allowed even though hardcoded subs are not. Shown only when Allow hardcoded subs is off
Prefer indexer flags Off Prefer releases the indexer flags as freeleech, internal and so on

Per-quality size limits are separate: see Quality profiles.

Private trackers care about ratio. For a torrent indexer, open it and use the Tracker account tab.

Setting Default What it does
Track this account Off Treat the indexer as a private tracker account: ratio, buffer and hit-and-run checks
Required ratio not set Health warns when your account ratio falls below this
Hit-and-run rule: Minimum seed time not set The built-in client keeps a finished torrent until it has seeded this many hours or reached the ratio
Hit-and-run rule: Minimum ratio not set Reaching this ratio also meets the rule (either condition is enough)
Freeleech only Off Reject releases from this indexer that are not freeleech
Track buffer Off Buffer = uploaded / required ratio - downloaded
Minimum buffer not set Warn when the buffer drops below this
Announce hosts empty One host per line. Used to match torrents in the built-in engine to this tracker. Empty uses the indexer’s own site hosts and their subdomains
Read account page On Read ratio, upload, download, buffer and hit-and-runs from the tracker’s account page when the definition has one

Indexers > Tracker stats shows one card per tracked account: ratio with a status (OK, near limit within 10 percent of the requirement, low, or unknown), uploaded and downloaded, buffer, seed time, how many torrents are seeding, hit-and-runs pending, seed bonus and warnings. Press Sync now to refresh. Numbers from the built-in engine are labelled “This client”; numbers from the tracker’s own account page are labelled “Account page”. If the account page cannot be read, you see the error, and the engine numbers still work.

The hit-and-run protection only works for torrents in the built-in engine; see Download clients.

Indexers > Stats shows queries, grabs and failures per indexer over the last 7, 30 or 90 days, with a daily activity chart, average response time and failure rate. “Queries” counts both searches and RSS fetches. Stats appear once indexers have been queried.

The Indexer health table at the top of Indexers > Stats makes slow, failing and useless indexers easy to spot. Pick a period of the last 24 hours, 7 days (the default) or 30 days. Each indexer gets one row, with the worst problems listed first:

Column Meaning
Health The verdict (see below). Hover over it to see why.
Queries Searches and RSS fetches in the period.
Failure rate Share of those queries that failed.
Avg response, p95 response Mean and 95th-percentile time of successful queries. With a p95 of 4 s, 95 out of 100 queries answered within 4 s.
Avg results Mean number of releases a successful query returned. For RSS this counts everything in the feed, including releases seen before.
Zero results Share of successful queries that returned nothing.
Grabs Releases successfully downloaded from the indexer.
Last success, Last failure When the newest successful and failed query happened, from up to 90 days of history. The last failure shows its error message.
Status Enabled, Disabled, or Backing off (with the retry time).

Click an indexer’s name to open its edit dialog. Test runs the same test as in Settings > Indexers. Disable turns off RSS, automatic search and interactive search at once. Enable turns all three back on. To switch them one at a time, use the edit dialog.

The verdict is the first rule that matches, in this order:

Verdict Rule
Unused No queries in the period, for example because the indexer is disabled or nothing searched it.
Failing The indexer is backing off right now, or 25 percent or more of its queries failed.
No results At least 10 successful queries recorded a result count, and 90 percent or more of them returned nothing. This often points to wrong categories, a broken site definition, or a site that does not carry what you search for.
Slow Average response time is 5 s or more, or p95 is 10 s or more.
Healthy None of the above.

Result counts are recorded from this version on. Older queries count towards the failure rate and response times, but not towards Avg results, Zero results or the No results verdict.

Cross-seeding finds the same release on your other trackers and seeds it using the file already in your library, with no new download. It helps ratio on private trackers. It needs a torrent indexer or two, and either the built-in engine or qBittorrent as the client.

Settings > Cross-seed:

Setting Default What it does
Enable cross-seeding Off Search on a schedule
Indexers every enabled torrent indexer with automatic search Which torrent indexers to search
Size tolerance 0.5 % How far a release size may differ from the file size (0 to 10). Exact matches come first
Search on import Off Search right after a file is imported
Schedule 0 4 * * * Cron expression, server time. Default: daily at 04:00
Search interval 30 days The scheduled search skips files searched within this many days
Files per run 50 Files searched per scheduled run
Exclude tags none Skip series and movies with any of these tags
Download client first enabled (built-in first) Built-in engine or qBittorrent
Category cross-seed Client category for cross-seeds. Keep it different from your import category
Link folder empty Hard links go here when a torrent names the file differently. Empty uses a cross-seed folder inside the engine downloads folder

Cross-seeds are listed under Activity > Cross-seeds with their state (Seeding or Failed), indexer, info-hash and save path. Hard links need the link folder on the same volume as the library.

A search box sits above the indexer cards on Settings > Indexers (and /indexers) once there is at least one. Every word you type has to match somewhere (in any order), case does not matter, and dots, dashes and underscores count as spaces. The count next to the box shows how many match (“2 of 9”), Select all then selects only the matching items, and Escape or Clear search shows everything again. The search is kept in the address (?q=). It matches the name, the kind (Torznab, Newznab, catalogue), the site definition, the protocol, tag names, proxy names and the status text (for example failed or backing off).

Every card has a checkbox. Tick one or more and a bar appears at the bottom of the screen with “N selected”, Select all N and the actions for the selection on Settings > Indexers: Enable and Disable (all three of RSS, automatic and interactive search), Test, Add tag, Remove tag and Delete. Deleting asks first and says how many items it removes. Each item is handled on its own, so one that fails (for example a test that does not connect, or a profile still in use) does not stop the rest; a message lists what worked and why the others did not, and the failed items stay selected. On a phone the actions sit in one Actions menu.