API Documentation

Huntarr provides public API endpoints for integration with external monitoring tools, automation scripts, and third-party applications.

Base URL

All API endpoints are relative to your Huntarr installation URL. For example, if Huntarr is running at http://localhost:9705, the full endpoint would be http://localhost:9705/api/version.

Note: Endpoints marked as "Public" do not require authentication and work with reverse proxy configurations (BASE_URL).

Public Endpoints

GET /api/version Public

Returns the currently running Huntarr version. This endpoint is useful for monitoring tools, version checks in deployment scripts, and tracking versions across multiple Huntarr instances.

Response (200 OK)
{
  "version": "9.1.7"
}

Use Cases

  • Version Monitoring: Integrate with tools like Argus to track version updates
  • Deployment Automation: Verify successful deployments after updates
  • Multi-Instance Management: Track versions across multiple Huntarr instances
  • Health Checks: Include version info in system health dashboards
Example: cURL
curl http://your-huntarr-instance:9705/api/version
Example: Python
import requests

response = requests.get('http://your-huntarr-instance:9705/api/version')
version_data = response.json()
print(f"Huntarr version: {version_data['version']}")
Example: JavaScript
fetch('http://your-huntarr-instance:9705/api/version')
  .then(response => response.json())
  .then(data => console.log(`Huntarr version: ${data.version}`))
  .catch(error => console.error('Error:', error));
Example: PowerShell
$response = Invoke-RestMethod -Uri "http://your-huntarr-instance:9705/api/version"
Write-Host "Huntarr version: $($response.version)"
GET /api/health Public

Health check endpoint that returns HTTP 200 if the application is running. Useful for container orchestration, load balancers, and monitoring systems.

Response (200 OK)
{
  "status": "healthy"
}

Use Cases

  • Container Health: Docker/Kubernetes health check probes
  • Load Balancers: Backend health checks for reverse proxies
  • Uptime Monitoring: UptimeRobot, Better Uptime, etc.
  • Deployment Verification: Confirm service is running post-deployment

Notes & Best Practices

Reverse Proxy / BASE_URL Support

All endpoints respect the BASE_URL configuration. If you're running Huntarr behind a reverse proxy at a subpath (e.g., https://domain.com/huntarr/), the endpoints will work correctly:

# Standard deployment
curl http://localhost:9705/api/version

# With BASE_URL=/huntarr
curl http://localhost:9705/huntarr/api/version

# Behind reverse proxy with SSL
curl https://domain.com/huntarr/api/version

Security Considerations

Public endpoints are intentionally unauthenticated to enable external monitoring without requiring credentials. However, consider:

  • Exposure: Version information is not sensitive, but be aware it's publicly accessible
  • Rate Limiting: No rate limiting is applied to public endpoints
  • Firewall Rules: If security is a concern, use firewall rules to restrict access to monitoring IPs

Integration Examples

Docker Health Check

services:
  huntarr:
    image: ghcr.io/plexguide/huntarr:latest
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9705/api/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s

Kubernetes Liveness Probe

livenessProbe:
  httpGet:
    path: /api/health
    port: 9705
  initialDelaySeconds: 30
  periodSeconds: 10

Argus Configuration

service:
  huntarr:
    type: url
    url: "http://your-huntarr-instance:9705/api/version"
    url_commands:
      - type: "json"
        key: "version"
    notify:
      discord:
        webhook_id: "your-webhook"
Need Help?

If you have questions about the API or need additional endpoints, join our Discord community or open an issue on GitHub.