Zoom

Links

    Zoom API

    Getting access, Developing, Testing

    Back to Zoom

    List All Recordings

    Use this API to list all cloud recordings of a user. For user-level apps, pass the me value instead of the userId parameter.

    To access a user's password protected cloud recording, send the user's OAuth access token as a Bearer token in the Authorization header. For example,

    curl -H "Authorization: Bearer <ACCESS_TOKEN>" https://{{base-domain}}/rec/archive/download/xyz

    When a user records a meeting or a webinar by choosing the Record to the Cloud option, the video, audio, and chat text are recorded in the Zoom cloud.

    Scopes: recording:read:admin, recording:read
    Rate Limit Label: Medium

    Prerequisites:

    • Pro or a higher plan.
    • Cloud Recording must be enabled on the user's account.

    Input

    type: object properties: parameters: type: object properties: userId: oneOf: - type: string example: 6dfgdfgdg444447b0egga - type: string format: email example: [email protected] - type: string enum: - me example: me description: >- The user ID or email address of the user. For user-level apps, pass the `me` value. page_size: default: 30 maximum: 300 type: integer example: 30 description: The number of records returned within a single API call. next_page_token: type: string example: IAfJX3jsOLW7w3dokmFl84zOa0MAVGyMEB2 description: >- Use the next page token to paginate through large result sets. A next page token is returned whenever the set of available results exceeds the current page size. This token's expiration period is 15 minutes. mc: default: 'false' type: string example: 'false' description: >- Query metadata of recording if an On-Premise Meeting Connector was used for the meeting. trash: default: false type: boolean example: false description: >- Query trash. `true`: List recordings from trash.<br> `false`: Do not list recordings from the trash.<br> The default value is `false`. If you set it to `true`, you can use the `trash_type` property to indicate the type of Cloud recording that you need to retrieve. from: format: date type: string example: '2020-06-30' description: >- The start date in 'yyyy-mm-dd' UTC format for the date range for which you would like to retrieve recordings. The maximum range can be a month. If no value is provided for this field, the default will be current date. For example, if you make the API request on June 30, 2020, without providing the “from” and “to” parameters, by default the value of 'from' field will be “2020-06-30” and the value of the 'to' field will be “2020-07-01”. **Note**: The "trash" files cannot be filtered by date range and thus, the "from" and "to" fields should not be used for trash files. to: format: date type: string example: '2020-06-30' description: 'End date in ''yyyy-mm-dd'' ''yyyy-mm-dd'' UTC format. ' trash_type: default: meeting_recordings type: string example: meeting_recordings description: >- The type of cloud recording that you would like to retrieve from the trash. The value can be one of the following:<br> `meeting_recordings`: List all meeting recordings from the trash.<br> `recording_file`: List all individual recording files from the trash. meeting_id: type: integer example: 6840331990 description: The meeting ID. required: - userId title: Parameters

    Output

    type: object title: Recording List properties: from: description: Start Date. format: date type: string example: '2022-01-01' to: description: End Date. format: date type: string example: '2022-04-01' next_page_token: description: >- The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes. type: string example: Tva2CuIdTgsv8wAnhyAdU3m06Y2HuLQtlh3 page_count: description: The number of pages returned for the request made. type: integer example: 1 page_size: default: 30 description: The number of records returned within a single API call. maximum: 300 type: integer example: 30 total_records: description: The number of all records available across pages. type: integer example: 1 meetings: description: List of recordings. title: Recording List type: array items: type: object title: Recording file List properties: account_id: description: Unique Identifier of the user account. type: string example: Cx3wERazSgup7ZWRHQM8-w duration: description: Meeting duration. type: integer example: 20 host_id: description: ID of the user set as host of meeting. type: string example: _0ctZtY0REqWalTmwvrdIw id: description: Meeting ID - also known as the meeting number. type: integer example: 6840331990 recording_count: description: >- Number of recording files returned in the response of this API call. This includes the `recording_files` and `participant_audio_files` files. type: integer example: 22 start_time: description: The time at which the meeting started. format: date-time type: string example: '2021-03-18T05:41:36Z' topic: description: Meeting topic. type: string example: My Personal Meeting total_size: description: >- The total file size of the recording. This includes the `recording_files` and `participant_audio_files` files. format: int64 type: integer example: 22 type: description: >- The recording's associated type of meeting or webinar: If the recording is of a meeting: * `1` — Instant meeting. * `2` — Scheduled meeting. * `3` — A recurring meeting with no fixed time. * `4` — A meeting created via PMI (Personal Meeting ID). * `7` — A [Personal Audio Conference](https://support.zoom.us/hc/en-us/articles/204517069-Getting-Started-with-Personal-Audio-Conference) (PAC). * `8` - Recurring meeting with a fixed time. If the recording is of a webinar: * `5` — A webinar. * `6` — A recurring webinar without a fixed time * `9` — A recurring webinar with a fixed time. If the recording is **not** from a meeting or webinar: * `99` — A recording uploaded via the [**Recordings**](https://zoom.us/recording) interface on the Zoom Web Portal. enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 99 type: string x-enum-descriptions: - Instant Meeting - Scheduled Meeting - Recurring Meeting with no fixed time - Meeting created using a Personal Meeting ID - A webinar - Recurring webinar without a fixed time - Personal Audio Conference - Recurring meeting with a fixed time - Recurring webinar with a fixed time - A recording uploaded example: '1' uuid: description: >- Unique Meeting Identifier. Each instance of the meeting will have its own UUID. type: string example: BOKXuumlTAGXuqwr3bLyuQ== recording_play_passcode: type: string description: >- The cloud recording's password to be used in the URL. This recording's password can be directly spliced in `play_url` or `share_url` with `?pwd=` to access and play. For example, 'https://zoom.us/rec/share/**************?pwd=yNYIS408EJygs7rE5vVsJwXIz4-VW7MH'. If you want to use this field, please contact Zoom support. example: yNYIS408EJygs7rE5vVsJwXIz4-VW7MH recording_files: description: List of recording file. title: Recording file List type: array items: type: object properties: deleted_time: description: >- The time at which recording was deleted. Returned in the response only for trash query. type: string example: '2021-03-18T05:41:36Z' download_url: description: >- The URL at which to download the the recording. **JWT apps** To access a private or password-protected cloud recording of a user in your account, use a [Zoom JWT app](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app). Use the generated JWT token as the value of the `access_token` query parameter and include this query parameter at the end of the URL. For example: `https://{{base-domain}}/rec/download/{{path-to-file-download}}?access_token={{JWT-token}}` **OAuth apps** If a user has authorized and installed your OAuth app that contains recording scopes, use the user's [OAuth access token](https://developers.zoom.us/docs/integrations/oauth/) to download the file. For example: `https://{{base-domain}}/rec/archive/download/xxx?access_token={{OAuth-access-token}}` **Note:** This field does **not** return for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). Instead, this API will return the `file_path` field. **Note:** We recommend that you send the access_token as a Bearer token in the Authorization header, for example: "Authorization": "Bearer <ACCESS_TOKEN>”. type: string example: https://example.com/rec/download/Qg75t7xZBtEbAkjdlgbfdngBBBB file_path: description: >- The file path to the On-Premise account recording. **Note:** This API only returns this field for [Zoom On-Premise accounts](https://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does **not** return the `download_url` field. type: string example: /9090876528/path01/demo.mp4 file_size: description: The recording file size. type: number example: '7220' file_type: description: "The recording file type. The value of this field could be one of the following:<br>\n`MP4`: Video file of the recording.<br>`M4A` Audio-only file of the recording.<br>`TIMELINE`: Timestamp file of the recording in JSON file format. To get a timeline file, the \"Add a timestamp to the recording\" setting must be enabled in the [recording settings](https://support.zoom.us/hc/en-us/articles/203741855-Cloud-recording#h_3f14c3a4-d16b-4a3c-bbe5-ef7d24500048). The time will display in the host's timezone, set on their Zoom profile.\n<br> `TRANSCRIPT`: Transcription file of the recording in VTT format.<br> `CHAT`: A TXT file containing in-meeting chat messages that were sent during the meeting.<br>`CC`: File containing closed captions of the recording in VTT file format.<br>`CSV`: File containing polling data in csv format.\n\n<br>\n\nA recording file object with file type of either `CC` or `TIMELINE` **does not have** the following properties:<br>\n\t`id`, `status`, `file_size`, `recording_type`, and `play_url`.<br>`SUMMARY`: Summary file of the recording in JSON file format." type: string example: MP4 enum: - MP4 - M4A - CHAT - TRANSCRIPT - CSV - TB - CC - CHAT_MESSAGE - SUMMARY file_extension: type: string description: The file extension type of the recording file. enum: - MP4 - M4A - TXT - VTT - CSV - JSON - JPG example: M4A id: description: >- The recording file ID. Included in the response of general query. type: string example: 72576a1f-4e66-4a77-87c4-f13f9808bd76 meeting_id: description: 'The meeting ID. ' type: string example: L0AGOEPVR9m5WSOOs/d+FQ== play_url: description: The URL using which a recording file can be played. type: string example: https://example.com/rec/play/Qg75t7xZBtEbAkjdlgbfdngBBBB recording_end: description: The recording end time. Response in general query. type: string example: '2021-03-18T05:41:36Z' recording_start: description: The recording start time. type: string example: '2021-03-18T05:41:36Z' recording_type: description: >- The recording type.<br>`shared_screen_with_speaker_view(CC)`<br>`shared_screen_with_speaker_view`<br>`shared_screen_with_gallery_view`<br>`speaker_view`<br>`gallery_view`<br>`shared_screen`<br>`audio_only`<br>`audio_transcript`<br>`chat_file`<br>`active_speaker`<br>`poll`<br>`timeline`<br>`closed_caption`<br>`audio_interpretation`<br>`summary`<br>`summary_next_steps`<br>`summary_smart_chapters`<br>`sign_interpretation` type: string enum: - shared_screen_with_speaker_view(CC) - shared_screen_with_speaker_view - shared_screen_with_gallery_view - active_speaker - gallery_view - shared_screen - audio_only - audio_transcript - chat_file - poll - host_video - closed_caption - timeline - thumbnail - audio_interpretation - summary - summary_next_steps - summary_smart_chapters - sign_interpretation example: shared_screen_with_speaker_view status: description: The recording status. enum: - completed type: string example: completed