API Documentation
Huntarr provides public API endpoints for integration with external monitoring tools, automation scripts, and third-party applications.
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
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.
{
"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
curl http://your-huntarr-instance:9705/api/version
import requests
response = requests.get('http://your-huntarr-instance:9705/api/version')
version_data = response.json()
print(f"Huntarr version: {version_data['version']}")
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));
$response = Invoke-RestMethod -Uri "http://your-huntarr-instance:9705/api/version"
Write-Host "Huntarr version: $($response.version)"
Health check endpoint that returns HTTP 200 if the application is running. Useful for container orchestration, load balancers, and monitoring systems.
{
"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"
If you have questions about the API or need additional endpoints, join our Discord community or open an issue on GitHub.