One Indexer to Rule Them All
If you run Sonarr and Radarr on a home server, you already know the pain of managing indexers separately in each app. Add Lidarr or Readarr to the mix and the problem multiplies fast – you end up configuring the same torrent sites and Usenet indexers over and over, updating API keys in multiple places, and troubleshooting sync failures one app at a time. Prowlarr solves that by sitting between your indexers and your *arr apps as a single management layer. You configure an indexer once, and every connected app inherits it automatically.
Prowlarr is part of the same ecosystem as Sonarr and Radarr, built by the Servarr team and designed to integrate natively. It supports hundreds of Torznab and Newznab-compatible indexers, handles category mapping per app, and syncs changes in real time. This guide walks through installing Prowlarr, connecting it to Sonarr and Radarr, and getting indexers flowing without touching each app’s settings directly.

Installing Prowlarr on Your Server
Prowlarr runs on Linux, Windows, macOS, and inside Docker. For most home server setups, Docker Compose is the cleanest option because it keeps the service isolated and easy to update. If you already run Sonarr and Radarr through Docker, adding Prowlarr to the same compose file keeps everything in one place. The official Docker image is published at lscr.io/linuxserver/prowlarr, maintained by LinuxServer.io with regular updates and good documentation.
Add the following service block to your existing docker-compose.yml file, or create a new one if Prowlarr is your first container:
- Image: lscr.io/linuxserver/prowlarr:latest
- Container name: prowlarr
- PUID and PGID matching your server user (run id in terminal to find them)
- TZ set to your timezone, e.g. America/New_York
- Volumes: map a local config path to /config inside the container
- Ports: expose 9696 on the host to access the web UI
- Restart policy: unless-stopped
Environment variables:
Run docker compose up -d and Prowlarr will be accessible at http://your-server-ip:9696 within a few seconds. On a bare-metal Linux install, the Servarr wiki provides a shell script that handles the download, installs Prowlarr as a systemd service, and sets correct permissions. Either way, the first launch triggers a brief setup wizard asking you to set an authentication method – use Forms authentication with a username and password, not None, even on a local network.
Adding Indexers Inside Prowlarr
With Prowlarr running, head to Indexers in the top navigation and click the plus button. You get a searchable list of supported indexers divided into public and private trackers, plus Usenet providers. Public indexers like 1337x or EZTV require no account – just select them, leave the defaults, and save. Private trackers will ask for a site-specific API key or passkey, which you copy from your tracker profile page.
Each indexer entry lets you configure categories, download limits, and a seed ratio requirement if the tracker enforces one. Pay attention to the Categories field – Prowlarr uses Torznab category codes to tell Sonarr and Radarr which content each indexer carries. If you add a music-only tracker and leave TV categories enabled, Sonarr will query it for every episode search and get nothing back. Map categories accurately to keep your search traffic clean and your indexer rate limits intact.
Usenet indexers follow the same process but use Newznab credentials instead of torrent passkeys. Most Usenet providers like NZBgeek or NZBFinder generate an API key from your account settings page. Paste that key into the API Key field, test the connection using the button in the indexer form, and save. Prowlarr confirms a successful connection with a green checkmark and shows the indexer as enabled in your list.
Once you have at least one indexer saved, use the Test All button under Indexers to verify every entry responds correctly. Failed indexers show a red indicator with an error message – common causes include an expired API key, a site being temporarily down, or a wrong base URL for self-hosted Jackett migrations. Fix issues at the source before connecting apps, because any broken indexer in Prowlarr will produce confusing errors downstream in Sonarr and Radarr.

Connecting Prowlarr to Sonarr and Radarr
Prowlarr pushes indexers to connected apps through their built-in API. To set up the connection, go to Settings > Apps inside Prowlarr and click the plus button. Select Sonarr from the list. You will need three things: Sonarr’s base URL (the same address you use to open its web UI), its API key, and the sync level you want Prowlarr to use.
Find Sonarr’s API key under Settings > General in the Sonarr interface – it is listed under Security as a long alphanumeric string. Paste it into Prowlarr’s Sonarr app form, enter the base URL, and set Sync Level to “Full Sync.” This tells Prowlarr to automatically add, update, and remove indexers in Sonarr whenever you make changes in Prowlarr. Hit Test, confirm the green checkmark, then save. Repeat the same process for Radarr using its own API key and port. After saving both, Prowlarr immediately syncs your indexers into each app – open Sonarr’s Settings > Indexers page and you will see them already populated, marked as managed by Prowlarr.
Keeping Sync Clean and Troubleshooting Issues
Once the connection is live, resist the urge to edit indexers directly inside Sonarr or Radarr. Prowlarr owns those entries now. Any change made in the downstream app will be overwritten the next time Prowlarr syncs, which happens automatically whenever you save an indexer change in Prowlarr. All edits – adding new trackers, rotating API keys, disabling a dead indexer – should happen exclusively in Prowlarr’s interface.
If indexers stop appearing or go missing in Sonarr or Radarr, check Settings > Apps in Prowlarr first. A broken app connection shows a red status icon. The most common cause is a changed API key in the downstream app – if someone regenerated Sonarr’s API key, Prowlarr loses access until you update the key in the app settings. Network changes, like a container IP shift after a Docker rebuild, produce the same symptom and require a URL update in the app entry.
Prowlarr also has its own search tab that lets you run manual queries across all connected indexers at once. This is useful for confirming that a specific indexer returns results for a title before assuming Sonarr or Radarr has a different problem. If a manual search in Prowlarr comes back empty for a known release, the problem is with the indexer itself. If Prowlarr finds results but Sonarr does not grab them, the issue lives in Sonarr’s quality profiles, language settings, or release filters – not in the indexer layer at all.

If you run additional *arr apps like Lidarr or Readarr, the connection process is identical – add each one under Settings > Apps in Prowlarr with its own API key and URL. The only extra step is reviewing category mappings for each app, since music and book indexers use different Newznab category codes than TV and movies. Getting those categories right per app is what keeps search queries targeted and prevents Prowlarr from hammering indexers with irrelevant requests every time one of your apps triggers an automatic search.





