Introduction
Using Zoom APIs
Pagination
Error Definitions
Rate Limits
Testing Zoom APIs
Accounts
Billing
Chat Channels
Chat Channels (Account-level)
Chat Messages
Chatbot Messages
Contacts
Cloud Recording
Dashboards
Devices
Groups
IM Chat
IM Groups
Meetings
PAC
Phone
Phone Auto Receptionists
Phone Blocked List
Phone Call Queues
Phone Devices
Phone Shared Line Groups
Phone Site
Common Area Phones
Reports
Roles
Rooms
Rooms Account
Rooms Location
SIP Phone
TrackingField
TSP
Users
Webinars
Rooms Devices
SIP Connected Audio
Deprecated API Endpoints
Account Events
App Events
Chat Message Events
Chat Channel Events
Chatbot Events
Meeting Events
Phone Events
Recording Events
TSP Events
User Events
Webinar Events
Zoom Room Events
Data Compliance

Rate Limits

Rate Limits define the maximum number of requests that can be made by apps to the Zoom REST API in a given period of time. Zoom employs rate limits to ensure stability of the API service for all users and to prevent many types of abuse or inadvertent usage.

This document defines the new rate limits in effect as of April 19, 2020.

Rate limits are applied based on the account plan, with higher limits available for all Business, Enterprise and Education accounts. Rate limits are applied at the account level. Rate limits will be shared by all apps created and installed on an account. When the limit is exceeded, an API request will fail and an HTTP 429 status code will be returned.

APIs are grouped by Request Type, with unique rate limits for each. A “Rate Limit Label” will be added on each section in our API Reference documentation for each endpoint.

Some APIs have restrictions on concurrent operations performed at the resource level (for example: simultaneous updates to a single userID).

The rate limits of Zoom Phone APIs are different than that of all other Zoom APIs. Refer to Rate Limits of Zoom Phone APIs section to learn more.

Rate limits vary depending on the account plan and the type of request that is being made. Use the tables below to understand supported account types and rate limit labels.

Account Types

Type Description
Pro Accounts that have purchased the Pro plan.

Business and higher

Accounts that are on Business Plan, Education Plan, VIP Plan, API Partner Plan and Enterprise Plan.

Rate Limit Labels Based on Request Types

Rate Limit Labels Description
Light Create, Retrieve, Update, Delete a single resource. Example: Get Details about a Specific User, Update User Status etc.
Medium This category includes Batch APIs and Chat APIs.

Batch APIs:
Create, Retrieve and Update multiple resources at once. Examples: List Group Members, Add Members to a Group etc.

Chat APIs:
Chat Contacts, Chat Messages and Chat Channels APIs.
Heavy This category includes all Reports APIs and most Dashboard APIs. Some Dashboard APIs have stricter rate limits than the Heavy APIs and these APIs can be identified by the Resource-intensive label.

Resource-intensive

This category includes Dashboard APIs with following endpoints:
GET /v2/metrics/meetings
GET /v2/metrics/webinars
GET/v2/metrics/zoomrooms
GET /v2/metrics/im

To ensure that you are incorporating the correct rate limits in your code, check the “Rate Limit Label” section included in the API reference of each endpoint. Use the table below to understand the rate limits applied on different account types.

Rate Limits

Rate Limit Labels Account Types and Corresponding Rate Limits

Pro Accounts

Business, Education, Enterprise and Partner Accounts

Light 30 requests/second 
 
80 requests/second 
Medium 20 requests/second  60 requests/second 
Heavy  10 requests/second 

A daily rate limit of 30,000 requests/day will be shared amongst Heavy and Resource-intensive APIs.
40 requests/second 

A daily rate limit of 60,000 requests/day will be shared amongst Heavy and Resource-intensive APIs.

Resource-intensive 

10 requests/minute 

A daily rate limit of 30,000 requests/day will be shared amongst Heavy and Resource-intensive APIs.
20 requests/minute 

A daily rate limit of 60,000 requests/day will be shared amongst Heavy and Resource-intensive APIs.

Rate Limits of Zoom Phone APIs

Similar to other Zoom APIs, Zoom Phone APIs are also rate limited based on the account type and these limits are shared by apps created and installed on the account. However, the rate limits values of Zoom Phone APIs are slightly different than that of other Zoom APIs.

Zoom Phone Request Types

Rate Limit Labels Description
Light Create, Retrieve, Update, Delete a single Zoom Phone resource. Example: Create a Call Queue, Get Details of a Call Queue etc.
Medium This category includes a majority of Batch Zoom Phone APIs.

Batch APIs:
Create, Retrieve and Update multiple resources at once. Examples: List Phone Sites,List Phone Numbers etc.
Heavy This category includes Get User Call Logs and Get Account Call Logs APIs.

Zoom Phone Rate Limits

Rate Limit Labels Account Types and Corresponding Rate Limits

Pro Accounts

Business, Education, Enterprise and Partner Accounts

Light 20 requests/second 
 
40 requests/second 
Medium 10 requests/second  20 requests/second 
Heavy  5 requests/second 

A daily rate limit of 15,000 requests/day is applied to Heavy APIs.
10 requests/second 

A daily rate limit of 30,000 requests/day is applied to Heavy APIs.

Additional Rate Limits for Concurrent Requests

If concurrent requests (GET/DELETE/PATCH/POST/PUT) are being made on a single resource, the request may fail and you will recieve an error message along with a 429 HTTP status code.

Concurrent rate limits error will occur in rare cases such as when your app makes multiple requests in a short period of interval to disassociate a user from your account. In this scenario, you will receive the following error message:
Too many concurrent requests. A request to disassociate this user has already been made.

Similarly, you can not create/update more than 100 meetings for a user in a single day.

Best Practices for Handling Errors

When you exceed the rate limits allowed for an API request, you will receive a “429 Too Many Requests” error. The best way to handle rate limits is to be on the lookout for 429 status codes and build in a retry mechanism that makes reduced number of requests to the server in a given timeframe.

For APIs that have daily rate limits, a Retry-After header will be included to the response indicating how long you must wait before making the next request. The table below lists the errors that you might encounter when you reach the rate limits.

Rate Limit Type HTTP Status Codes Error Messages

Regular Rate Limit

429

You have reached the maximum per-second rate limit for this API. Try again later.

Example Response Header:

X-RateLimit-Category: Light
X-RateLimit-Type: QPS

Daily Rate Limit

429

You have reached the maximum daily rate limit for this API. Refer to the response header for details on when you can make another request.

Example Response Header:

X-RateLimit-Category: Heavy
X-RateLimit-Type: Daily-limit
X-RateLimit-Limit: 30000
X-RateLimit-Remaining: 0
Retry-After: 2020-05-31T00:00:00Z

Cache responses whenever possible instead of frequently making the same request. We also highly recommend that you use Webhooks instead of polling for changes whenever applicable. Instead of making repeated calls to pull data frequently from the Zoom API, you can use Webhooks to get information on events that happen in a Zoom account. Learn more from the Webhook Reference guide.

To prevent abuse and handle API request traffic efficiently, we may alter these limits if required.