curl "http://localhost:8090/video/1/alert" The Agent DVR API transforms a standard NVR into a programmable, event-driven security system. While it lacks polished documentation, the endpoints are logical and reliable. Start with simple snapshot or record commands, then build up to complex automations.
http://localhost:8090/file/CAMERA_NUM/path/to/recording.mp4 ✅ 1. Home Assistant Integration Add this to your configuration.yaml :
Whether you want to build a custom dashboard, integrate with Home Assistant, or trigger recordings from a separate sensor, the API is your key. Agent DVR runs a local web server (typically on port 8090). The API is a set of URLs that accept GET and POST commands. You don't need special libraries; any tool that can make an HTTP request (cURL, Python, Node-RED, IFTTT webhooks) will work. agentdvr api
import requests snapshot = requests.get("http://localhost:8090/video/1/snapshot") bot_token = "YOUR_BOT_TOKEN" chat_id = "YOUR_CHAT_ID" files = "photo": ("alert.jpg", snapshot.content) requests.post(f"https://api.telegram.org/botbot_token/sendPhoto?chat_id=chat_id", files=files) Using Node-RED or ESPHome: when a magnetic door sensor opens, send:
# Start recording on camera 2 curl "http://localhost:8090/video/2/record?1" curl "http://localhost:8090/video/1/snapshot" --output snapshot.jpg Trigger a manual alert on camera 3 curl "http://localhost:8090/video/3/alert" 2. System Commands | Action | API Endpoint | |--------|---------------| | Get system status | /status | | List all cameras | /get cameras | | List recent events | /events?limit=10 | | Reboot Agent DVR | /shutdown (use with caution) | 3. Retrieving Recordings To get a list of recordings for a specific camera: http://localhost:8090/file/CAMERA_NUM/path/to/recording
Example: http://192.168.1.100:8090/ By default, the API is open on your local network. For remote access, use a VPN or reverse proxy with authentication. Do not expose port 8090 directly to the public internet. Authentication (If Enabled) If you have set a username/password in Agent DVR, you must include it with every API call.
http://YOUR_AGENT_IP:8090/
Always test new commands on a non-critical camera first, and never expose the API raw to the internet. Have a specific integration in mind? Visit the iSpyConnect user forum—the community has already solved most API puzzles.