Can I import cameras from a CSV file?

Yes, you can upload a CSV file that defines your video streams. Especially when working with large lists of cameras in many locations, it's helpful to assemble the full inventory of camera/NVR/VMS streams in a spreadsheet / worksheet. As the person importing the CSV file, you must have "Can Manage" permission on all accounts listed in the CSV file under the column named "user_email". See How to create a CSV file.

  1. Open and Choose File:

  2. Select the CSV file that contains the definition of your video streams and press Upload File.

  3. Review the email confirmation that reports any rows skipped due to data validation errors after you see this message displayed when the upload has completed:

Required fields and permission

NOTE: the minimum required fields for successful import are listed below. When omitted, the local_camera_id is created automatically from the mac_address of the camera.

  1. user_email (which is the content owner's email address)
  2. box_mac_address
  3. mac_address (MAC of the camera, though this must be accurate only when using mac2ip rather than static ip_address)
  4. name (the camera name)
  5. username
  6. password
  7. rtsp_server
  8. rtsp_path
  9. local_camera_id (required *only* if you need to differentiate among channels of an NVR that all share the NVR's same mac_address. For example, if your 16-channel NVR has MAC BEFE11223344, then you must specify a local_camera_id value for each channel like BEFE11223344.0, BEFE11223344.1, BEFE11223344.2, ...BEFE11223344.15)

The user signed-in and submitting the CSV to be imported must also have Can Manage permission each account specified by user_email in the CSV.

The import acts as a PATCH update to the account's cameras rather than as a PUT replacement of all cameras.


If you edit the CSV using a spreadsheet like Excel or Google Sheets, make sure to preserve the exact text of fields like stream and channel that may have leading zeros. The import sometimes strips the leading zeros if the column is not formatted as "Plain Text". For example, your channel "02" can become "2" and break the stream connection.



Have more questions? Submit a request