# REST API CORS Error

**URL:** <https://devforum.zoom.us/t/rest-api-cors-error/2596>\
**Category:** API and Webhooks\
**Created:** [November 26, 2018, 4:03pm UTC](https://devforum.zoom.us/t/rest-api-cors-error/2596 "2018-11-26T16:03:15Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![kweku](https://avatars.discourse-cdn.com/v4/letter/k/e480ec/32.png) [@kweku](https://devforum.zoom.us/u/kweku)\
**Post date:** [November 26, 2018, 4:03pm UTC](https://devforum.zoom.us/t/rest-api-cors-error/2596/1 "2018-11-26T16:03:15Z")

</div>

Hello there,

I’ve been trying to use the Zoom API to get a listing of webinars to display on a custom web page, however I keep getting a CORS origin error: `Access to XMLHttpRequest at 'https://api.zoom.us/v2/users?status=active' from origin 'https://myurlhere' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.`

I’ve seen somewhere in your docs that I have to use the Web SDK. I will appreciate it if there are clear directives/instructions on how to achieve this.

Thanks

---

<div class="post-metadata">

**Author:** ![bdeanindy](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/bdeanindy/32/154_2.png) [@bdeanindy](https://devforum.zoom.us/u/bdeanindy)\
**Post date:** [November 28, 2018, 4:29am UTC](https://devforum.zoom.us/t/rest-api-cors-error/2596/2 "2018-11-28T04:29:52Z")

</div>

You’re correct that you can use the Zoom Web Client SDK to overcome these limitations, but you’ll be aware that behind the scenes, this is using Web Assembly: [https://marketplace.zoom.us/docs/guides/zoom-sdks/Web-Client-SDK](https://marketplace.zoom.us/docs/guides/zoom-sdks/Web-Client-SDK) (please pay special attention to the LIMITATIONS section of the docs)

There are only one of three ways to resolve CORS issues:

1. Proxy the requests from Client-\>Your Server (removes browser/sandbox restrictions, best practice…most in control of developers)
2. Use Web Assembly or Web Workers (but these can still have limitations that need exploring)
3. If the server accepts your domain or wildcard domains (not recommended since it is introduces security risks, and will never be supported by Zoom’s APIs)

Personally, unless your use-case requirements insist on having client-side code perform these Zoom API requests, I would recommend proxying them through your backend services. This has an added benefit of limiting security risks while also working well with elastic architectures to address scale without impacting client-side usability.

---

<div class="post-metadata">

**Author:** ![ofd.aws96](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ofd.aws96/32/12902_2.png) [@ofd.aws96](https://devforum.zoom.us/u/ofd.aws96)\
**Post date:** [August 2, 2020, 3:05pm UTC](https://devforum.zoom.us/t/rest-api-cors-error/2596/3 "2020-08-02T15:05:43Z")

</div>

is there any hack to call zoom api from jquery now ?

WIsh there was anyway a it could be called from xhr without all these webassembly & stuffs

---

<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:** [August 4, 2020, 5:33pm UTC](https://devforum.zoom.us/t/rest-api-cors-error/2596/4 "2020-08-04T17:33:07Z")

</div>

Hey @ofd.aws96,

You can setup a simply Node.js server to call the API:

> **[Simple Node.js proxy server with Express and Request](https://lowrey.me/simple-node-js-proxy-server-with-express-and-request/)**
>
> One of the best surprises a developer can get is when "stuff just works". Far
> too often, you'll get tangled up just trying to get a project off the ground.
> You'll spend too much time just trying to figure out which config file goes
> where, which...

Thanks,  
Tommy

---

<div class="post-metadata">

**Author:** ![littlechad](https://avatars.discourse-cdn.com/v4/letter/l/57b2e6/32.png) [@littlechad](https://devforum.zoom.us/u/littlechad)\
**Post date:** [November 12, 2020, 9:05am UTC](https://devforum.zoom.us/t/rest-api-cors-error/2596/5 "2020-11-12T09:05:00Z")

</div>

Hi i read on other [cors error post](https://devforum.zoom.us/t/rest-api-cors-error/2596/3), that i need to do a request from a server side, its actually more relevant if i post a reply there on that post but unfortunately its been closed that i cant post any reply, so i decided to ask it here instead

what about refreshing a token, should it also be a server side request? or can i do it from the client? as i can do a token request from client side

thanks

---

<div class="post-metadata">

**Author:** ![will.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/will.zoom/32/14417_2.png) [@will.zoom](https://devforum.zoom.us/u/will.zoom)\
**Post date:** [November 13, 2020, 2:43pm UTC](https://devforum.zoom.us/t/rest-api-cors-error/2596/6 "2020-11-13T14:43:41Z")

</div>

Hey @littlechad,

Good question. For all of our API endpoints, your requests should be executed server side. You will run into errors (CORS) if you try to submit requests from your client side.

Let me know if this helps to clarify,  
Wil
