Scraparr is a Prometheus exporter for the *arr suite. It talks to the API of each app you point it at — Sonarr, Radarr, Prowlarr, Bazarr, Readarr, Whisparr, Jellyseerr, Overseerr and Jellyfin — collects what that app knows about itself, and republishes it as Prometheus metrics on a single endpoint at :7100/metrics. Prometheus scrapes that endpoint like any other exporter, and from there the usual stack follows: graphs, alerts and dashboards that sit next to the rest of your homelab metrics.
What makes it useful is the translation step. The *arr apps expose rich APIs but nothing Prometheus can scrape, so a library’s queue, its missing episodes, its disk usage and its quality mix stay locked inside nine separate web interfaces. Scraparr turns each of those into a gauge — sonarr_queue_count, sonarr_missing_episodes, sonarr_available_disk_size, and the equivalent per service — with an alias label so several instances of the same app can be told apart.
alias; the label keeps their metrics from overwriting each other.interval (default 30 seconds), api_version, and a detailed mode for per-item data.dashboards folder.Monitoring the *arr stack usually means monitoring everything around it: disks, containers, the download client — and then opening six web UIs to answer “is anything stuck?”. Scraparr closes that gap with one small process and one scrape job. Once the numbers are in Prometheus, the questions become queries: which instance has queue errors right now, which series are still missing episodes, which path is running out of space, how the quality mix shifted after a profile change.
It is deliberately thin. There is no database, no UI to learn and no agent on each app — just a Python service that polls APIs you already expose, so adding it costs one container and one stanza of scrape configuration.
Besides the Docker image, a community-maintained Helm chart for Kubernetes and an Unraid template exist, and it can run from source with Python 3 by installing requirements.txt and running python -m scraparr.scraparr. Configuration is one YAML file mounted at /scraparr/config/config.yaml; inside Docker, reach host-side services by IP or via the host.docker.internal:host-gateway extra host.
Free and open source — GPL-3.0. Upstream development lives on Codeberg; the GitHub repository is a mirror.