Livepeer Studio uses webhooks to communicate with your application asynchronously when events for your stream occur. For example, you may want to know when a stream is active or idle, so that you can surface this information to viewers.

When these events happen, you can configure Studio to make a POST request to a webhook URL that you specify.

Type of stream events

stream.startedThe parent stream object’s isActive value is marked as true and the .m3u8 HLS URL works
stream.idleThe parent stream object’s isActive value should be marked as false and the .m3u8 HLS URL no longer works
recording.readyThis fires when a recording is ready to be downloaded
recording.startedThis fires when recording has started on an active stream
recording.waitingThis fires after a stream with recording on has concluded and is not yet ready to be downloaded. Typically it takes 5 minutes for recordings to be ready for download.
multistream.connectedThis fires when we’ve successfully connected to the multistream target
multistream.errorThis fires when we’ve encountered an error either while attempting to connect to the third party streaming service or while broadcasting.
multistream.disconnectedThis fires when we are no longer sending video to the multistream target.

Set up a webhook endpoint

The first step is to set up a webhook endpoint in your application. This is the URL that Livepeer Studio will send the event to. Learn more about setting up a webhook endpoint.

Add a webhook URL to Livepeer Studio

Log in to the Livepeer Studio and navigate to the Developers/Webhooks page.


Click the “Create Webhook” button and enter URL of webhook endpoint. Select any stream event (with stream/multistream prefix) to receive notifications for and click “Create Webhook”.