Retrieve all past zoom cloud recordings?

Description
Hi, I was looking into the Zoom Cloud Recordings list. I’m interested in figuring out how I can retrieve all past recordings.

I was looking at https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingslist, but it’s unclear:

  • does the from date actually get limited to 1 month? Is this 1 month between the from / to dates? Setting a longer date range doesn’t seem to raise an error (I get a 200, but I don’t have videos old enough to confirm whether older videos would be excluded if I just choose an older date range)

  • How does this work with the next_page_token? Is this for pagination if there are more results than the item limit within the selected date range?

  • Does the page size get applied to the number of recordings or the number of meetings?

  • I didn’t see documentation around default query parameter values, but it appears that the default from date is set to yesterday.

Error
The full error message or issue you are running into.

Which App Type (OAuth / Chatbot / JWT / Webhook)?
I’m using Oauth

Which Endpoint/s?

2 Likes

Adding onto this, how are results ordered? Are they always chronological? Thanks!

Hey @mokutsu,

You can get recordings up to 6 months in the past, using one month increments with the to and from query params. @shrijana.g can you confirm and add this to the docs?

Yes!

The number of meetings, the highest level JSON array.

@shrijana.g can you confirm?

Yes!

Thanks,
Tommy

2 Likes

@tommy @mokutsu
Thank you for the questions.

We have removed the 6 months limit for recordings so you can get all the recordings that are available on the Zoom account. The max range for the query for “from” and “to” is one month. If you do not provide a date, the default will be from the current date to the next day. For example, if you try to call the API today (June 30) without “from” and “to” params, by default from= “2020-06-30” and to =“2020-07-01”. I will add this information in the docs as well and make it clear. No, there is no specific sorting mechanism for the response, so do not rely on the order.

Thank you,
Shrijana

2 Likes

Hi Shrijana and Tommy, thanks for the responses! Much appreciated!

If the order is not guaranteed, what’s the logic for paginated results (ie what determines whether a video is not in both the first set of paginated results vs the second set etc)?

I had a few more questions come up, primarily:

  • I noticed the documentation didn’t include file types for transcript and CC. Is CC in .VTT format? What format is the transcript in?
  • If I want to retrieve all past recordings, is the only option then to iterate 1 month at a time until in past? I’m a bit concerned about the rate limit if this is the case. Is there any way I can retrieve all past recordings for a greater date range?

Also, I just wanted to check about the rate limit. I saw that “Rate limits will be shared by all apps created and installed on an account”. For example, I set up an oauth based app that uses the medium rate-limited /meetings/{meetingId}/recordings endpoint (i.e. 60 requests/second).

  • Does this 60 requests/second get shared between all of my end users that have installed my app? i.e. if User A,B,C all use my app at the same time, do they contribute to the same limit?

OR

  • Alternatively, does each end user experience their own rate limit based on the apps they have installed? For example if user A installs app 1 and app 2, is the 60 req/sec limit shared on user A’s account? And if User B installs 5 apps, user B’s 60 req/sec limit is shared between the 5 apps he/she has installed?

Hey @mokutsu,

The order for the response should be chronological (meeting start_time) starting with the from query param.

Hey @shrijana.g, can you add what kind of file these are to the docs? :slight_smile:

Yes, or you can use the List Recordings of an Account, which supports pagination:

It is based on the developer. So if you have created 5 apps, the rate limits will be shared between the 5 apps you create, not based on the user who installs them.

Thanks,
Tommy

1 Like

Thanks so much Tommy!
That makes sense with the date params, I noticed Shrijana mentioned that there is no specific sorting mechanism so not to rely on the order so I was a bit confused.

I was looking at list recordings of an account earlier, but it seems like this has the same mechanism for pagination combined with the 1 month limit that the list all recordings endpoint has so neither endpoint at this time is really able to retrieve a longer date range than 1 month (the pagination appears to be applied on top of the default date range, so if no dates are provided, results from 1 day are paginated, while providing a date range maxes out at 1 month, and those results are then paginated). Right now, if I want to show the most recent recording for a user, and let’s say their last recording was 9 months ago, I’d need to iterate through 9 API calls just to get that first set of recordings.

Is there a way that I can give feedback or suggest features like this? It would be really helpful if pagination was applied without the default date range limit, or if the allowable date range was longer.

thanks!

Hey @mokutsu,

Yes, please submit a feature request here and we will look into adding this: #feature-requests

Thanks,
Tommy

1 Like