Welcome to the new Daily Docs. Please let us know what you think.

Recording events

In order to turn on recording and listen for recording events, you'll need to be on the Scale plan. There is also a per minute recording fee. Please reach out if you have any questions about Scale.

If you will be recording your calls, you might be interested in monitoring the status of those recordings. Daily's recording events help you monitor that and respond accordingly.

Compatibility:
Prebuilt
Custom

Emitted for all participants when a recording starts.

All recording-started events include the type of recording started ("local", "cloud", "rtp-tracks", "output-byte-stream", or "cloud-beta").

When the type is "cloud-beta" or "rtp-tracks", the recording-started event will also include startedBy with the participant id of the person who started the recording. "cloud-beta" recordings will also include the same layout property as live streaming events.

If you start a local-based recording ("local", "cloud", or "output-byte-stream"), you may get some of these properties in your event, but other participants will only get an event containing {"action": "recording-started"}.

Compatibility:
Prebuilt
Custom

Emitted for all participants when a recording stops.

Compatibility:
Prebuilt
Custom

For experimental use only. This API may change.

Compatibility:
Prebuilt
Custom

Emitted when a recording error occurs.

Compatibility:
Prebuilt
Custom

Emitted when recording upload has completed.

Compatibility:
Prebuilt
Custom

Emitted once recording has started for the output-byte-stream recording type. The data field of the object passed to the recording-data event contains the raw bytes from the MediaRecorder process. When the recording is complete, the finished field of that object, in the final recording-data event, will be set to true.