Skip to content

Middlewarr documentation

Middlewarr sits between your integrations and your *arr services. Give an integration a Middlewarr proxy URL and a dedicated key, then choose which API paths and HTTP methods it can use.

Your service’s own API key stays in Middlewarr’s service configuration. Each proxy gets a separate key, so you can stop one integration’s access without changing the credentials used by the others.

Integration ⇄ Middlewarr proxy ⇄ Radarr / Sonarr / Lidarr / Prowlarr
checks key
checks path + method
supplies upstream key

A service is your upstream instance. An app represents the integration using it. A proxy connects the two and holds the integration’s key and permissions. A template supplies an initial set of permissions for a known integration.

For example, a dashboard may need to read a movie list without being able to delete movies. Granting GET /api/v3/movie does not grant DELETE /api/v3/movie/{id}. Understand the core concepts.

Middlewarr controls access at the API path and method level. It does not filter individual fields, inspect request bodies to enforce policy, or prevent a client from connecting directly to a reachable upstream service. See Security and HTTPS for deployment guidance.

These pages describe the application and templates reviewed on 6 September 2026. They track the current development source; they are not a compatibility guarantee for every older build. Check your build’s source revision when behavior differs.

Visit the Middlewarr website for an overview or the GitHub organization for the project repositories.