---slug: /guides/recording-video-calls---import Tabs from @theme/Tabs;import TabItem from @theme/TabItem;# Recording Video CallsIf you are using SignalWire to conduct your video conferences, it is quite simple to record the video feed and access them laterat your convenience. Depending on how you are using SignalWire Video, there are several ways you might go about controlling your recordings.## How to start a recording### From the Embeddable Video Conference WidgetIf you are using Embeddable Video Rooms in your website, just click the Start Recording option to start the recording.:::infoAnyone with a moderator token will be able to start and stop recording. Embed the guest videoroom version on public pages for people that shouldnt be able to control recordings.::: Starting a recording from the Embeddable Video Conference Widget. If you are using [AppKit](https://www.npmjs.com/package/@signalwire/app-kit) to create or [extend embeddable rooms](../../../getting-started/extending-rooms-with-custom-code/index.mdx),use the setupRoomSession callback to get a reference to the [RoomSession](/sdks/reference/browser-sdk/video/video-roomsession) object.You can use that reference to the RoomSession object to start recordings.html### From the Browser SDKTo start recording in an ongoing room session from the browser SDK, use the [RoomSession.startRecording()](/sdks/reference/browser-sdk/video/video-roomsession#startrecording) method. You must have the room.recording permission to be able to start and stop recording.This method returns a Promise which resolves to a [RoomSessionRecording](/docs/sdks/reference/browser-sdk/video/video-roomsessionrecording.md) object. You can use this returned object to control the recording, including pausing and stopping it.javascript// Join a roomconst roomSession = new SignalWire.Video.RoomSession({ token: , rootElement: document.getElementById(root),});await roomSession.join();// Start recordingconst rec = await roomSession.startRecording();// Stop recording after 10 secondssetTimeout(rec.stop, 10 * 1000);### The Record on Start OptionTo start recording the video conference as soon as it is started, use the _Record on Start_ option. With this option enabled,all sessions occurring in that room will automatically be recorded.If you are creating a Embeddable Video Conference, it will be available via your SignalWire Dashboard (at the_Conferences_ tab on the _Video_ page).If you are creating an advanced room through the REST API, use the[record_on_start](pathname:///rest/create-a-room) option while creating the room. Further, you have to makesure that the room.recording [permission](pathname:///rest/overview/permissions) is set in the room token.:::infoThe _Record on Start_ setting is the only control the REST API provides related to room recording. To control room recordings moreprecisely from your server, use the [Realtime SDK](/docs/sdks/reference/realtime-sdk/video/video-roomsession.mdx). The Realtime SDKexposes a RoomSession object similar to the one in the [Browser SDK](/docs/sdks/reference/browser-sdk/video/video-roomsession.mdx), so youhave finer control over the room session in progress.:::## How to Stop a Recording### From the Embeddable Video Conference WidgetStop a recording from the Embeddable Video Conference WidgetTo stop an ongoing recording through the Embeddable Video Conference widget,click the Stop Recording option.### From the Browser SDKUse the [RoomSessionRecording.stop()](/docs/sdks/reference/browser-sdk/video/video-roomsessionrecording.md) method to stopthe ongoing recording. This method is included on the object returned when you called the[RoomSession.startRecording()](/docs/sdks/reference/browser-sdk/video/video-roomsession.mdx#startRecording) method.const rec = await roomSession.startRecording();await rec.stop();## How to Access Recordings### From the SignalWire DashboardAny recording you make will be available in your SignalWire dashboard for download at https://.signalwire.com/video_recordings.Alternatively, navigate to the _Video_ screen from the sidebar, and click on the _Recordings_ tab to reach the same place.A recording accessed from the SignalWire Dashboard.### From the REST APIsYou can get a list of all videos that have been recorded with a GET request at[https://.signalwire.com/api/video/room_recordings](pathname:///rest/list-room-recordings).The request returns a JSON object with a paginated array of all room recordings, including the id of the roomsession which was recorded, and a uri string that you can use to download the recording.bashcurl -L -X GET https://.signalwire.com/api/video/room_recordings \-H Accept: application/json \-H Authorization: Basic javascriptfetch(https://.signalwire.com/api/video/room_recordings, { method: GET, headers: { Authorization: Basic + btoa(project_id:api_token) },}) .then((response) => response.json()) .then((json) => console.log(json)); ## ConclusionThere are several ways you can record your video conferences and calls, most of them just a handful ofclicks away. Your recordings will stay in the SignalWire servers so you can access them when you need, anddelete them if you dont.