All guidesUniFi ProtectReolinkTP-Link TapoHikvision, Annke, HiLook, EzvizDahua, Amcrest, Lorex, ImoueufyAqaraAny ONVIF cameraAny IP camera (RTSP)Frigate NVRRingArloApple Home (HomeKit)

Connect UniFi Protect

In the app, choose UniFi Protect on the first setup screen.
Captured Motion signs in to your UniFi console (UDM, UNVR, Cloud Key or UniFi OS Server) the same way you do, with a local user that has access to Protect. That is the normal path and it needs nothing else. An API key is a separate, optional route for console owners who want the app to switch camera streams on for them.

Before you connect

Dedicated UniFi user (the normal path)Recommended

  1. Open your console on the local network (its IP address, or unifi.ui.com → your console) and go to Settings → Admins & Users.
  2. Add an admin. Tick Restrict to local access only, and give the account a username and password of its own. Do not use your Ubiquiti cloud login — the app cannot sign in with a cloud account.
  3. Under Protect, give the user View Only or Full Management. Device Specific lets you limit it to chosen cameras.
  4. In Captured Motion pick UniFi Protect, enter the console’s IP address and that username and password, and connect.
  5. Live view uses each camera’s RTSP stream. If a camera shows no picture, open Protect → that camera → Settings → Advanced and switch on the RTSP stream for one quality.

API key (optional, console owner only)

  1. Sign in to the console as its owner. Open the UniFi Network app → Settings → Control Plane → Integrations, and create an API key. Copy it — it is shown once.
  2. In Captured Motion paste it into the API key field on the UniFi step. With a key the app turns on each camera’s stream itself and gets motion the moment Protect sees it.
  3. Keep the username and password filled in as well if you want the app to pull clips out of Protect; the key cannot download them.
  4. A Protect key cannot be limited: it has full access to Protect and to the Network app on that console. Delete it in Integrations whenever you like.

What the app asks for

Controller addressThe console’s LAN IP address, e.g. 192.168.1.1. Not unifi.ui.com.
Username / passwordThe local user you created above.
API keyOptional. Leave blank to use the user login.

If it does not connect

“Authentication failed”The user is a cloud account, or the password is wrong. Create a Restrict-to-local-access admin and use that.
Connected but the camera is darkSwitch on that camera’s RTSP stream in Protect (Camera → Settings → Advanced), or add an API key so the app does it.
“Rejected this API key”Keys are made in the Network app’s Control Plane → Integrations, by the owner, on Protect 5.3 or newer. Site Manager keys from unifi.ui.com are a different thing and will not work.

Vendor documentation

Something out of date? Vendors move their menus. Tell us at [email protected] and we will fix the guide.