Notice: We're retiring Works with Nest. See the home page for more information.

Camera API

The Nest API works with all Nest Cam™ models.

Users can add multiple Nest Cams to the devices/cameras group, up to the maximum per structure. When you make a call to this data location, you can access Nest Cam data (data values for devices in the structure).

All the below values are found under each devices/cameras/device_id in the JSON document.

device_id

Nest Cam unique identifier.

Details
https://developer-api.nest.com/devices/cameras/device_id/device_id
Returnsstring
Example: "awJo6rH..."
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

software_version

Software version.

Details
https://developer-api.nest.com/devices/cameras/device_id/software_version
Returnsstring
Example: "4.0"
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

structure_id

Structure unique identifier.

Details
https://developer-api.nest.com/devices/cameras/device_id/structure_id
Returnsstring
Example: "VqFabWH21nw..."
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

where_id

A unique, Nest-generated identifier that represents name, the display name of the device.

Learn more about where names for Nest Thermostats, Nest Protects and Nest Cams.

Details
https://developer-api.nest.com/devices/cameras/device_id/where_id
Returnsstring
Example: "d6reb_OZTM..."
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

where_name

The display name of the device. Associated with the Nest Cam where_id. Can be any room name from a list we provide, or a custom name. Learn more about where names for Nest Thermostats, Nest Protects and Nest Cams.

Details
https://developer-api.nest.com/devices/cameras/device_id/where_name
Returnsstring
Example: "Hallway"
Accessread-only
Available inCamera read / v3
Camera read + images / v4
Camera read/write / v3
Camera read/write + images / v4

name

Display name of the device; can be any room name from a list we provide, or a custom name.

Details
https://developer-api.nest.com/devices/cameras/device_id/name
Returnsstring
Example: "Hallway"
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

name_long

Long display name of the device. Includes a custom (label), created by the user, or via wheres.

Details
https://developer-api.nest.com/devices/cameras/device_id/name_long
Returnsstring
Example: "Hallway Nest Cam (upstairs)"
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

is_online

Device connection status with the Nest service.

Details
https://developer-api.nest.com/devices/cameras/device_id/is_online
Returnsboolean
Values: true, false
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

is_streaming

Camera status, either on and actively streaming video, or off. See How your camera works with Home/Away Assist for more information.

Details
https://developer-api.nest.com/devices/cameras/device_id/is_streaming
Returnsboolean
Values: true, false
Accessread/write
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

is_audio_input_enabled

Camera microphone status, either on and listening, or off. Learn more about Nest Cam audio settings.

Details
https://developer-api.nest.com/devices/cameras/device_id/is_audio_input_enabled
Returnsboolean
Values: true, false
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

last_is_online_change

Timestamp that identifies the last change to the online status, in ISO 8601 format.

Details
https://developer-api.nest.com/devices/cameras/device_id/last_is_online_change
Returnsstring
Example: "2016-12-29T18:42:00.000Z"
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

is_video_history_enabled

Nest Aware subscription status (subscription active or not).

Details
https://developer-api.nest.com/devices/cameras/device_id/is_video_history_enabled
Returnsboolean
Values: true, false
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

web_url

Web URL (deep link) to the live video stream at home.nest.com.

Details
https://developer-api.nest.com/devices/cameras/device_id/web_url
Returnsstring
Example: "https://home.nest.com/cameras/device_id?auth=camera_token"
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

app_url

App URL (deep link) to the live video stream in the Nest app.

Details
https://developer-api.nest.com/devices/cameras/device_id/app_url
Returnsstring
Example: "nestmobile://cameras/device_id?auth=camera_token"
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

is_public_share_enabled

Users can choose to share their video and make it viewable by anyone. When public share is enabled, you can read public_share_url.

Details
https://developer-api.nest.com/devices/cameras/device_id/is_public_share_enabled
Returnsboolean
Values: true, false
Accessread-only
Available inCamera read + images / v3-v4
Camera read/write + images / v3-v4

activity_zones

Returns an array of all defined Activity Zones.

Activity Zones are used to monitor motion events within user-defined areas of the video stream. Requires Nest Aware.

Details
https://developer-api.nest.com/devices/cameras/device_id/activity_zones
Returnsarray
Example: [ {"name" : "string1", "id" : "string2"},... ]

string1 is the zone name, either user-defined or automatically generated when the zone is created.
string2 is an identifier assigned by Nest when the Activity Zone is created.
Accessread-only
Available inCamera read + images / v3-v4
Camera read/write + images / v3-v4

public_share_url

You can access this URL when a user makes their video stream public.

Details
https://developer-api.nest.com/devices/cameras/device_id/public_share_url
Returnsstring
Example: "https://video.nest.com/live/string1?string2"

string1 is the video stream name, either user-defined or automatically generated when the stream is set to public.
Accessread-only
Available inCamera read + images / v3-v4
Camera read/write + images / v3-v4

snapshot_url

Capture an image on demand. Returns the URL of an image captured from the live video stream. Requires that the camera is on and actively streaming.

Use this field to get a snapshot from the live video stream.

  • snapshot_url - returns the URL of an image captured from the live video stream
  • Requires that the camera is on and actively streaming

The snapshot quality from the API is only 1080p throughput if you are:

  • actively viewing the camera stream in the application (web_url)
  • actively viewing the public stream (app_url)
  • subscribed to Nest Aware

If you are not actively viewing the stream or do not have a Nest Aware subscription, the API has no 1080p source from which to retrieve a snapshot at that resolution and generates a lower-quality image. Also, low local network bandwidth may cause the API snapshot resolution to dip below 1080p with Nest Aware present.

Learn more about bandwidth requirements for Nest Cameras.

Rate limits apply to this call, depending on Nest Aware subscription status.

Details
https://developer-api.nest.com/devices/cameras/device_id/snapshot_url
Returnsstring
Example: "string1/device_id/string2?auth=camera_token"
Accessread-only
Available inCamera read + images / v3-v4
Camera read/write + images / v3-v4

last_event

This object captures information about the last event that triggered a notification.

Some fields and some permission combinations require a Nest Aware subscription to access last event information.

All the below values are found under each devices/cameras/device_id/last_event in the JSON document.

has_sound

Sound event - sound was detected.

Details
https://developer-api.nest.com/devices/cameras/device_id/last_event/has_sound
Returnsboolean
Values: true, false
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

has_motion

Motion event - motion was detected.

Details
https://developer-api.nest.com/devices/cameras/device_id/last_event/has_motion
Returnsboolean
Values: true, false
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

has_person

Person event - a person was detected.

Details
https://developer-api.nest.com/devices/cameras/device_id/last_event/has_person
Returnsboolean
Values: true, false
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

start_time

Event start time, in ISO 8601 format.

Details
https://developer-api.nest.com/devices/cameras/device_id/last_event/start_time
Returnsstring
Example: "2016-12-29T00:00:00.000Z"
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

end_time

Event end time, in ISO 8601 format.

Details
https://developer-api.nest.com/devices/cameras/device_id/last_event/end_time
Returnsstring
Example: "2016-12-29T00:00:00.000Z"
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

urls_expire_time

Timestamp, in ISO 8601 format, that identifies the expiration of these event-related URLs:

Expiration time is calculated as: last_event/start_time + n days (where n = 10 or 30 days, depending on the Nest Aware subscription plan).

Requires Nest Aware.

Details
https://developer-api.nest.com/devices/cameras/device_id/last_event/urls_expire_time
Returnsstring
Example: "2016-12-29T00:00:00.000Z"
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

web_url

Web URL (deep link) to the last sound or motion event at home.nest.com. Used to display the last recorded event, and requires user to be signed in to the account.

Requires Nest Aware. If the event URL has expired or the device does not have an active subscription, then this value is not included in the payload.

See last_event/urls_expire_time for information on this URL's expiration time.

Details
https://developer-api.nest.com/devices/cameras/device_id/last_event/web_url
Returnsstring
Example: "https://home.nest.com/cameras/device_id/cuepoints/string?auth=camera_token"
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

app_url

Nest app URL (deep link) to the last sound or motion event. Used to display the last recorded event, and requires user to be signed in to the account.

Requires Nest Aware. If the event URL has expired or the device does not have an active subscription, then this value is not included in the payload.

See last_event/urls_expire_time for information on this URL's expiration time.

Details
https://developer-api.nest.com/devices/cameras/device_id/last_event/app_url
Returnsstring
Example: "nestmobile://cameras/device_id/cuepoints/string?auth=camera_token"
Accessread-only
Available inCamera read / v1-v3
Camera read + images / v1-v4
Camera read/write / v1-v3
Camera read/write + images / v1-v4

image_url

URL (link) to the image file captured for a sound or motion event.

Requires Nest Aware. See last_event/urls_expire_time for information on this URL's expiration time.

Details
https://developer-api.nest.com/devices/cameras/device_id/last_event/image_url
Returnsstring
Example: "https://www.dropcam.com/api/wwn.get_image/string1/device_id/string2?auth=camera_token"
Accessread-only
Available inCamera read + images / v1-v4
Camera read/write + images / v1-v4

animated_image_url

URL (link) to the gif file captured for a sound or motion event.

Requires Nest Aware.

Details
https://developer-api.nest.com/devices/cameras/device_id/last_event/animated_image_url
Returnsstring
Example: "https://www.dropcam.com/api/wwn.get_image/string1/device_id/string2?auth=camera_token"
Accessread-only
Available inCamera read + images / v1-v4
Camera read/write + images / v1-v4

activity_zone_ids

Identifiers for Activity Zones that detected a motion event.

Requires Nest Aware. When used with the activity_zones array, you can get the zone name from these ids.

If last_event/has_motion is

  • true = returns the activity zone ids that detected a motion event
  • false = returns an empty array
Details
https://developer-api.nest.com/devices/cameras/device_id/last_event/activity_zone_ids
Returnsarray
Example: [ string1, string2,... ]
Accessread-only
Available inCamera read + images / v3-v4
Camera read/write + images / v3-v4