Introduction
Using Zoom APIs
Pagination
Error Definitions
Rate Limits
Testing Zoom APIs
Accounts
Billing
Chat Channels
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 Site
Common Area Phones
Reports
Roles
Rooms
Rooms Account
Rooms Location
SIP Phone
TrackingField
TSP
Users
Webinars
SIP Connected Audio
Account Events
App Events
Chat Message Events
Chat Channel Events
Chatbot Events
Meeting Events
Recording 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 how rate limits are applied:

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.

Request Types

Type (Label) 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, a “Rate Limit Label” section in the API reference document will be added for each endpoint you will be using. Use the table below to understand the upcoming rate limits by type.

Rate Limits

API Request Groups (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

The rate limits of Zoom Phone APIs are different than that of all other Zoom APIs. These rate limits are not differentiated based on account types.

API Endpoints Rate Limit Daily Limit
GET /v2/phone/blocked_list 1 request/second N/A
GET /v2/phone/calling_plans 1 request/second N/A
GET /v2/phone/users/{userId}/call_logs 1 request/second 5000 requests/day
GET /v2/phone/call_logs 1 request/second 5000 requests/day
GET /v2/phone/common_area_phones 1 request/second N/A
GET /v2/phone/devices 1 request/second N/A
GET /v2/phone/call_queues 1 request/second N/A
GET /v2/phone/call_queues/{groupId}/recordings 1 request/second N/A
GET /v2/phone/numbers 1 request/second N/A
GET /v2/phone/users/{userId}/recordings 1 request/second N/A
GET /v2/phone/shared_line_appearance 1 request/second N/A
GET /v2/phone/shared_line_groups 1 request/second N/A
GET /v2/phone/sites 1 request/second N/A
GET /v2/phone/users 1 request/second N/A
GET /v2/phone/users/{userId}/voice_mails 1 request/second N/A
GET /v2/phone/voice_mails/{voiceMailId} 1 request/second N/A

The rate limit of all the Phone APIs that are not listed in the table above is 10 requests/second.

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.