# Download zoom meeting recording programatically

**URL:** <https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279>\
**Category:** API and Webhooks\
**Created:** [April 15, 2020, 8:53am UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279 "2020-04-15T08:53:24Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![rohit](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/rohit/32/1714_2.png) [@rohit](https://devforum.zoom.us/u/rohit)\
**Post date:** [April 15, 2020, 8:53am UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/1 "2020-04-15T08:53:24Z")

</div>

How can I download zoom meeting recording programmatically. Prior there was no password for recording. But nowsdays zoom asking for password for recording but I have not set any password as i don’t need.

Now the issue is to download recording programmatically. Please tell the way how to download it.

---

<div class="post-metadata">

**Author:** ![michael.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/michael.zoom/32/37213_2.png) [@michael.zoom](https://devforum.zoom.us/u/michael.zoom)\
**Post date:** [April 15, 2020, 10:55pm UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/2 "2020-04-15T22:55:55Z")

</div>

Hi @rohit, to access a password protected cloud recording, add an “access\_token” parameter to the download URL and provide a [JWT](https://marketplace.zoom.us/docs/guides/getting-started/app-types/create-jwt-app) as the value of the “access\_token”.

Use the [GET Meeting Recordings API](https://marketplace.zoom.us/docs/api-reference/zoom-api/cloud-recording/recordingget) as a reference.

---

<div class="post-metadata">

**Author:** ![momaiz.net](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/momaiz.net/32/2418_2.png) [@momaiz.net](https://devforum.zoom.us/u/momaiz.net)\
**Post date:** [April 16, 2020, 4:20am UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/3 "2020-04-16T04:20:36Z")

</div>

Hello @michael.zoom ,  
I also have the same problem . i have JWT access token .and it work fine for other apis .  
but when download the recording . like what you said

if i tried curl download file method i got empty answer .

but when i tried to download as get method i got

{“status”:false,“errorCode”:401,“errorMessage”:“java.lang.NullPointerException”,“result”:null}

Best regards

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [April 16, 2020, 6:54am UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/4 "2020-04-16T06:54:42Z")

</div>

Hey @momaiz.net,

Can you private message me your download URL with the JWT Token attached so I can debug?

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![shaheer.shahab](https://avatars.discourse-cdn.com/v4/letter/s/ee59a6/32.png) [@shaheer.shahab](https://devforum.zoom.us/u/shaheer.shahab)\
**Post date:** [April 16, 2020, 4:33pm UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/5 "2020-04-16T16:33:49Z")

</div>

Hi,  
I am using OAuth Token for all authentication process and API calling instead of JWT Token. How can i download recordings using OAuth? I tried to use OAuth token inplace of JWT token but unable to download recording it says:

{“status”:false,“errorCode”:401,“errorMessage”:“com.saasbee.webapp.exception.common.ValidationException: This API does not support oAuth2.”,“result”:null}

Suggest me any solution to download these recordings using OAuth authentication

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [April 17, 2020, 7:02pm UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/6 "2020-04-17T19:02:12Z")

</div>

Hey @shaheer.shahab,

You will need to use the download\_token received from the [Cloud Recording Completed Webhook.](https://marketplace.zoom.us/docs/api-reference/webhook-reference/recording-events/recording-completed)

`download_url?access_token=DOWNLOAD_TOKEN_HERE`

 ![Screen Shot 2020-04-17 at 1.02.20 PM](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/2X/d/d8bdc9832879cd9a1e112e64fd5555c17b233f56.png)

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![momaiz.net](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/momaiz.net/32/2418_2.png) [@momaiz.net](https://devforum.zoom.us/u/momaiz.net)\
**Post date:** [April 17, 2020, 9:46pm UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/7 "2020-04-17T21:46:35Z")

</div>

Hello @tommy .  
How are you today ?  
I sent you PM as you asked , can you please check it .

Contain download url and access token

Best regards  
Momaiz

---

<div class="post-metadata">

**Author:** ![stephen](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/stephen/32/4971_2.png) [@stephen](https://devforum.zoom.us/u/stephen)\
**Post date:** [April 18, 2020, 12:33am UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/8 "2020-04-18T00:33:01Z")

</div>

Hi @tommy,

Thanks for the info on the download token on the webhook. How do you access existing password-protected recordings that were there before the Oauth authorization? With webhooks I can only access new recordings as they happen.

Thanks,  
Stephen

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [April 19, 2020, 5:44am UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/9 "2020-04-19T05:44:32Z")

</div>

Hey @stephen,

You can use a [JWT Token](https://marketplace.zoom.us/docs/guides/auth/jwt) to download prior password protected recordings.

`download_url?access_token=JWT_TOKEN_HERE`

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [April 19, 2020, 5:44am UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/10 "2020-04-19T05:44:47Z")

</div>

Hey @momaiz.net,

I will check thanks!

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![stephen](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/stephen/32/4971_2.png) [@stephen](https://devforum.zoom.us/u/stephen)\
**Post date:** [April 19, 2020, 7:30pm UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/11 "2020-04-19T19:30:01Z")

</div>

@tommy What about for an Oauth app? Is it possible to download prior password protected recordings from another account that has been authenticated?

---

<div class="post-metadata">

**Author:** ![clippermadness](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/clippermadness/32/1039_2.png) [@clippermadness](https://devforum.zoom.us/u/clippermadness)\
**Post date:** [April 20, 2020, 9:19pm UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/12 "2020-04-20T21:19:51Z")

</div>

@tommy I have the same question as @stephen

How does an OAuth app download prior password protected recordings? Or handle missed callbacks, or cases when the download can’t be completed within the 1 hour time frame of the token provided in the webhook?

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [April 21, 2020, 9:35am UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/13 "2020-04-21T09:35:31Z")

</div>

Hey @clippermadness, @stephen,

We are working on this exact case and will include it in an upcoming release soon.

Stay updated here: [https://marketplace.zoom.us/docs/changelog](https://marketplace.zoom.us/docs/changelog)

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![clippermadness](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/clippermadness/32/1039_2.png) [@clippermadness](https://devforum.zoom.us/u/clippermadness)\
**Post date:** [April 21, 2020, 1:41pm UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/14 "2020-04-21T13:41:10Z")

</div>

Thanks @tommy! We’ll be on the lookout, but do you have an ETA? Meanwhile, I can confirm that the JWT mechanism works as a stopgap.

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [April 22, 2020, 4:56pm UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/15 "2020-04-22T16:56:00Z")

</div>

Hey @clippermadness,

ETA is in the coming months, but that is subject to change. Glad the JWT workaround is working for you!

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![shaheer.shahab](https://avatars.discourse-cdn.com/v4/letter/s/ee59a6/32.png) [@shaheer.shahab](https://devforum.zoom.us/u/shaheer.shahab)\
**Post date:** [April 24, 2020, 8:22am UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/16 "2020-04-24T08:22:58Z")

</div>

Hi @tommy,  
Thanks for your reply, looking forward for your upcoming release for OAuth app.

I am now using JWT as a work around but i am facing problem when downloading cc files. I appended JWT token with the dowload\_url and it is working fine with every file except these cc files.

[https://zoom.us/rec/play/vtt?fid=](https://zoom.us/rec/play/vtt?fid=)_file\_id_&type=cc&access\_token=_jwt\_token_

When i hit this URL a blank page appear. Any suggestion?

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [April 28, 2020, 5:01pm UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/17 "2020-04-28T17:01:18Z")

</div>

Hey @shaheer.shahab,

Can you private message me your full CC file with the JWT Token attached so I can debug?

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![raj1](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/raj1/32/57227_2.png) [@raj1](https://devforum.zoom.us/u/raj1)\
**Post date:** [May 27, 2020, 10:37am UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/18 "2020-05-27T10:37:07Z")

</div>

@tommy I am also trying to download using JWT token but password is being asked.

download\_url?access\_token={JWT}  
How do I make it working?

---

<div class="post-metadata">

**Author:** ![tommy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/tommy/32/72769_2.png) [@tommy](https://devforum.zoom.us/u/tommy)\
**Post date:** [June 1, 2020, 10:56pm UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/19 "2020-06-01T22:56:05Z")

</div>

Hey @raj1,

How are you making the request to download it? Can you please share your code snippet?

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![raj1](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/raj1/32/57227_2.png) [@raj1](https://devforum.zoom.us/u/raj1)\
**Post date:** [June 2, 2020, 7:08am UTC](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279/20 "2020-06-02T07:08:33Z")

</div>

I could figure this out but now I am facing another challenge

All my meetings are recurring meetings. When I am dowloading recording , recording only of the last session are downloading.

How can I download recordings of all sessions of the meeting?

[Next page](https://devforum.zoom.us/t/download-zoom-meeting-recording-programatically/13279.md?page=2)
