# Retrieve a meeting's recordings

**URL:** <https://devforum.zoom.us/t/retrieve-a-meetings-recordings/2519>\
**Category:** API and Webhooks\
**Created:** [November 6, 2018, 7:13pm UTC](https://devforum.zoom.us/t/retrieve-a-meetings-recordings/2519 "2018-11-06T19:13:25Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Roberto\_Guerra](https://avatars.discourse-cdn.com/v4/letter/r/e79b87/32.png) [@Roberto\_Guerra](https://devforum.zoom.us/u/Roberto_Guerra)\
**Post date:** [November 6, 2018, 7:13pm UTC](https://devforum.zoom.us/t/retrieve-a-meetings-recordings/2519/1 "2018-11-06T19:13:25Z")

</div>

I’m trying to retrieve a meeting’s recording with the new API. I have verified that the recording exists by going to the `Recording Management` page. However, when I try to use the API, I get an error saying “There is no recording for this meeting”. We used to do this fine with v1 of the API but the same operation fails with v2.

&nbsp;

This is the v2 API call we are using [https://zoom.github.io/api/#retrieve-a-meeting-s-all-recordings](https://zoom.github.io/api/#retrieve-a-meeting-s-all-recordings)

Is there an undocumented parameter we are missing? What is the correct way to download recordings?

---

<div class="post-metadata">

**Author:** ![TimZoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/timzoom/32/978_2.png) [@TimZoom](https://devforum.zoom.us/u/TimZoom)\
**Post date:** [November 6, 2018, 10:43pm UTC](https://devforum.zoom.us/t/retrieve-a-meetings-recordings/2519/2 "2018-11-06T22:43:05Z")

</div>

Is it a recurring meeting? You can use the recurrence ID to get the specific occurrences&nbsp;recording.&nbsp;

---

<div class="post-metadata">

**Author:** ![Roberto\_Guerra](https://avatars.discourse-cdn.com/v4/letter/r/e79b87/32.png) [@Roberto\_Guerra](https://devforum.zoom.us/u/Roberto_Guerra)\
**Post date:** [November 7, 2018, 2:05am UTC](https://devforum.zoom.us/t/retrieve-a-meetings-recordings/2519/3 "2018-11-07T02:05:48Z")

</div>

It isn’t a recurring meeting. I found the issue. Some meeting ids have a `/` in them, which can’t be used in a url because of that reason. The work around is to url encode the meeting id, but Zoom’s API is not url decoding them. This is causing us lots of issues.

---

<div class="post-metadata">

**Author:** ![dany](https://avatars.discourse-cdn.com/v4/letter/d/5e9695/32.png) [@dany](https://devforum.zoom.us/u/dany)\
**Post date:** [January 31, 2025, 9:26pm UTC](https://devforum.zoom.us/t/retrieve-a-meetings-recordings/2519/4 "2025-01-31T21:26:17Z")

</div>

The error you’re encountering, **“There is no recording for this meeting”** , when using Zoom API v2 to retrieve meeting recordings, can be caused by several factors. Below are suggestions and best practices to troubleshoot and resolve the issue:

* * *

### **1. Check Meeting ID Format**

Zoom differentiates between:

- **UUIDs (Universal Unique Identifiers)** for recurring or special meetings
- **Meeting IDs (simple 9-11 digit numbers)** for single-instance meetings

**Important:**  
If your meeting has a UUID, you need to URL-encode it if it contains slashes.  
The error you’re encountering, **“There is no recording for this meeting”** , when using Zoom API v2 to retrieve meeting recordings, can be caused by several factors. Below are suggestions and best practices to troubleshoot and resolve the issue:

* * *

### **1. Check Meeting ID Format**

Zoom differentiates between:

- **UUIDs (Universal Unique Identifiers)** for recurring or special meetings
- **Meeting IDs (simple 9-11 digit numbers)** for single-instance meetings

**Important:**  
If your meeting has a UUID, you need to URL-encode it if it contains slashes .  
Replace `/` in the UUID with `%2F`.  
2. Use Correct API Parameters

Ensure the request includes any necessary parameters:

Occurrence ID: Required for recurring meetings  
Include the correct `Authorization: Bearer {access_token}` header.

1. Verify API Permissions

Make sure the JWT or OAuth token used has the required scopes:

`recording:read:admin` or `recording:read`

1. Meeting vs. Webinar

Double-check if you’re accessing a **webinar recording** instead of a meeting recording, as they use different endpoints:

Webinar recordings use `/webinars/{webinarId}/recordings`.

5 Check Recording Status  
The recording may be processing. Fetch the meeting recording status to confirm its availability.
