Zoom API- Download Recordings with password, OAuth- Server to Server

Hi,

I am working on a program that would allow approved users to download a Zoom recording into their local machine, which works fine. While working on it I noticed that I was able to download a recording by providing the recording ID, using …/rec/download/{RecordingID},"
but it only works for recordings which are not password protected. Is there a way I could get the recording password? Is there an API that will take the recording ID and password and download the recording?

**Authentication method or app type - Server to Server OAuth. Recently switched from JWT to OAuth

API Endpoint(s) and/or Zoom API Event(s)
api.zoom.us/v2/users/{MemberID}/recordings?from={start}&to={end} - To get recordings for a given member, for a date range.
Once, I have the recording ID I am trying to download the recording, using the download_url: Error - Zoom

Thanks!

Hi @Riks
Thanks for reaching out to the Zoom Developer Forum and welcome to our community! I am happy to help here!

Have you been able to troubleshoot this issue? or are you still working on it?

Let me know,
Cheers,
Elisa

Hi,

I’m having the same or a similar issue.

I don’t get any error, but some recordings download as a 14KB file in my automation. But if I copy the link from the logs and paste that in my browser, it does contain the entire recording.

I am making sure to use the MP4 file format to download the recording.

Any help is super appreciated!

Hi @jay6 , your issue is different from what @Riks described. Can you please confirm that you are using a S2S OAuth generated token to download recordings?

@Riks can you please query this endpoint which returns recording_play_passcode in the response?

Please share the full endpoint you’re using.

Thank you for the quick response!

Yes, I am using S2S oauth.

Should note that one users recordings downloaded fine, but the second and third users did not

Okay @jay6 , please confirm the following :

  • recording:read:admin scope on Server-to-Server OAuth app
  • That you have the Recording management and View the recording content permissions assigned on the user role that’s trying to download the recording

It may be that you do not have permission to download those user’s recordings. When you said “it does not contain the entire recording”, what are you receiving?

confirmed recording:read:admin scope is authorized for the app
Where do I find the View recording content permission? Can you explain those steps?

To answer the last question, I’m running a script on multiple users to download their recordings from Zoom. For the first user, it worked fine. But the 2nd and 3rd users, it started only downloading a 14kb file. Note that if I manually copy-paste the download link I’m using in the script, it does download the full video file.

SOLVED: it was a password protected recording so I needed to pass my access_token as a query parameter in the request.

Thank you for your help

1 Like

Great, I’m happy it’s resolved now!

hey can you help me i want to switch form JWT to S2S oauth to download all recordings.
how can i do it?

Hi @shettyhardik2001 ,

Check out the migration guide: https://developers.zoom.us/docs/internal-apps/jwt-app-migration/

Thanks!

hey i have made a python script using S2S aouth and i am able to get all recording links but when i click on that link it says “Download has been disabled by the administrator (200)” what should i do?

@shettyhardik2001 , please reach out to your admin about your user permissions with respect to cloud recording: https://support.zoom.us/hc/en-us/articles/201363173-Zoom-user-types-roles

hii thanks for the help am able to download recordings but when i try to retrieve recordings https://api.zoom.us/v2/users/{userid}/recordings i am only able to retrieve latest 1 recording and not the whole available recordings in my account

Hi @shettyhardik2001 ,

I missed your last response since you did not @ me directly.

What query parameters did you use? You can customize to retrieve recordings within certain timespan: Zoom Meeting API