
Automated missing-media search for your *arr stack.
Small batches. Polite intervals. Zero indexer abuse.
Documentation • Quick Start • Docker • Helm Chart • Discord • Report Bug


Radarr, Sonarr, Lidarr, Readarr, and Whisparr monitor RSS feeds for new releases, but they do not go back and actively search for content already in your library that is missing or below your quality cutoff. Their built-in "Search All Missing" button fires every item at once, which can overwhelm indexer API limits and get you temporarily banned.
Houndarr fixes this by searching slowly, politely, and automatically. It works through your backlog in small, configurable batches with sleep intervals between cycles, per-item cooldowns, and hourly API caps. It runs as a single Docker container alongside your existing *arr stack and stays out of the way.
Does. Trigger searches on your Radarr / Sonarr / Lidarr / Readarr / Whisparr instances for items they already report as missing or below quality cutoff. Read-only REST calls to your configured *arrs plus POST /api/v{1,3}/command for each search. That is the entire network surface.
Doesn't. Phone home, report telemetry, ship obfuscated code, manage download clients, integrate Prowlarr, bundle Usenet or torrent clients, scrape indexers directly, or contact any service outside the *arr instances you configure.
Polite by default. Small batches and long intervals out of the box. Configured caps are the ceiling, not the floor, and Houndarr never ignores an indexer's retry-after. Designed so you never have to think about your indexer's daily budget.
See SECURITY.md for the full security posture.
Supported Apps
Search Modes
Rate Limiting and Safety
Web UI
Create a docker-compose.yml:
services:
houndarr:
image: ghcr.io/av1155/houndarr:latest
container_name: houndarr
restart: unless-stopped
ports:
- "8877:8877"
volumes:
- ./data:/data
environment:
- TZ=America/New_York
- PUID=1000
- PGID=1000
docker compose up -d
Open http://<your-host>:8877 and create your admin account on the setup screen.
Prefer docker run?
docker run -d \
--name houndarr \
--restart unless-stopped \
-p 8877:8877 \
-v /path/to/data:/data \
-e TZ=America/New_York \
-e PUID=1000 \
-e PGID=1000 \
ghcr.io/av1155/houndarr:latest
Replace /path/to/data with an absolute path on your host where Houndarr should store its database and master key.
For environment variables, reverse proxy setup, Kubernetes, Helm, and building from source, see the full documentation. For Homepage dashboard setup, see the Homepage integration guide.
What Houndarr Does NOT Do
For details on how Houndarr handles credentials, network behavior, and trust boundaries, see Security Overview. To report a vulnerability, see SECURITY.md.
For questions, troubleshooting, or casual discussion, join the Houndarr Discord. For bug reports and feature requests, open a GitHub issue.
See CONTRIBUTING.md for development workflow, coding standards, and quality gates.
If Houndarr is useful to you, consider giving it a star on GitHub.
$ claude mcp add houndarr \
-- python -m otcore.mcp_server <graph>