Back to ZoomList 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