# Accessing cloud recordings

**URL:** <https://devforum.zoom.us/t/accessing-cloud-recordings/132203>\
**Category:** Cloud Recordings\
**Created:** [April 30, 2025, 5:44pm UTC](https://devforum.zoom.us/t/accessing-cloud-recordings/132203 "2025-04-30T17:44:45Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mak23aug](https://avatars.discourse-cdn.com/v4/letter/m/278dde/32.png) [@mak23aug](https://devforum.zoom.us/u/mak23aug)\
**Post date:** [April 30, 2025, 5:44pm UTC](https://devforum.zoom.us/t/accessing-cloud-recordings/132203/1 "2025-04-30T17:44:45Z")

</div>

Hi there,  
I wanted to generate zoom meeting link and record that meeting then save it to cloud.

1. I generate the zoom meeting link through my javascript code. (getting 202 as response code)
2. I am able to start/stop recording via zoom API
3. Now when I go to my recordings section on the website it asks me to purchase the Workplace Pro.  
My question is:
4. will purchasing the workplace pro solve the issue?
5. is there anything fundamentally wrong about the process im following?

Here is my code for better understanding.,

```auto
import axios from "axios";
import { creds } from "./creds.js";
const { account_id, client_id, client_secrete } = creds;

async function getAccessToken() {
  const tokenUrl = "https://zoom.us/oauth/token";
  const auth = Buffer.from(`${client_id}:${client_secrete}`).toString("base64");

  const response = await axios.post(
    `${tokenUrl}?grant_type=account_credentials&account_id=${account_id}`,
    {},
    {
      headers: {
        Authorization: `Basic ${auth}`,
      },
    }
  );

  return response.data.access_token;
}

async function scheduleZoomMeeting(token) {
  const meetingConfig = {
    topic: "Test Meeting",
    type: 2, // 2 = Scheduled meeting
    start_time: "2025-05-01T15:00:00Z",
    duration: 30, // in minutes
    timezone: "UTC",
    agenda: "Discuss Zoom API integration",
    settings: {
      host_video: true,
      participant_video: true,
      join_before_host: true,
      mute_upon_entry: false,
      auto_recording: "cloud", // <-- ENABLE RECORDING
      approval_type: 0,
      registration_type: 1,
    },
  };

  const response = await axios.post(
    `https://api.zoom.us/v2/users/me/meetings`,
    meetingConfig,
    {
      headers: {
        Authorization: `Bearer ${token}`,
        "Content-Type": "application/json",
      },
    }
  );

  console.log("Meeting created successfully:");
  console.log(`Join URL: ${JSON.stringify(response.data)}`);
}

async function startCloudRecording(meetingId, token) {
  const url = `https://api.zoom.us/v2/live_meetings/${meetingId}/events`;
  const headers = {
    Authorization: `Bearer ${token}`,
    "Content-Type": "application/json",
  };
  const payload = {
    method: "recording.stop",
  };

  try {
    const response = await axios.patch(url, payload, { headers });
    console.log(
      `Successfully started cloud recording for meeting ${meetingId}`
    );
    console.log(response);
  } catch (error) {
    console.log(error);
  }
}

async function getRecordingFiles(meetingId, token) {
  const url = `https://api.zoom.us/v2/meetings/${meetingId}/recordings`;

  const response = await axios.get(url, {
    headers: {
      Authorization: `Bearer ${token}`,
    },
  });

  const transcriptFiles = response.data.recording_files.filter(
    (file) => file.file_type === "TRANSCRIPT"
  );

  transcriptFiles.forEach((file) => {
    console.log("Transcript Download URL:", file.download_url);
  });
}

```

When i try to fetch the meeting recording with specific meeting id I get

```auto
 recording doesn't exist error with statuscode 404

```

Follow up: Is there any other way of doing this? using zoom-sdk? I dont want to provide any user interface to this that is why I am not using web-sdk.

thanks in advance!

---

<div class="post-metadata">

**Author:** ![elisa.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/elisa.zoom/32/47836_2.png) [@elisa.zoom](https://devforum.zoom.us/u/elisa.zoom)\
**Post date:** [May 8, 2025, 7:34pm UTC](https://devforum.zoom.us/t/accessing-cloud-recordings/132203/2 "2025-05-08T19:34:12Z")

</div>

hi @mak23aug  
Thanks for reaching out to us!  
Are you still facing this issue??? to access the recordings endpoints you must have a Pro or higher plan

> **[Meetings APIs](https://developers.zoom.us/docs/api/meetings/#tag/cloud-recording/GET/users/%7BuserId%7D/recordings)**
>
> API reference for: Meetings

It is listed in this endpoints Prerequisites
