Before Creating a New Topic:
If you’re experiencing unexpected API/Zoom API Events (webhooks) behavior please search the forum with relevant keywords (e.x. error message) and follow the guidance outlined in those posts. Please also leverage the following support links:
- Zoom Developer Changelog for Dev Product Changes: https://marketplace.zoom.us/docs/guides/stay-up-to-date/changelog/
- General Troubleshooting: Support - Zoom Developers
- To Submit a Ticket for Unexpected API/Zoom API Events Behavior: Official Zoom Support | Help Center
- For General & Integrations Related Guidance: https://community.zoom.com/
- For Troubleshooting Webhooks: Guide: "We Are Not Receiving Webhooks As Expected" -- Here's What to Do! - #2
API Endpoint(s) and/or Zoom API Event(s)
We are working with the following Zoom API endpoints:
- Check if the user exists:
GET https://api.zoom.us/v2/users/{email}
- Create a new Zoom user (if not found):
POST https://api.zoom.us/v2/users
- Create a Zoom meeting for the user:
POST https://api.zoom.us/v2/users/me/meetings
Description
We have developed a registration form in Laravel with the following fields:
- First Name
- Last Name
- Email Address
Workflow:
- User submits the form → We validate the input using Google reCAPTCHA.
- Check if the user exists on Zoom
- Calls
GET https://api.zoom.us/v2/users/{email}
to check if the user exists. - If the user exists, retrieves their Zoom user ID.
- If the user is not found (404 error), proceeds to create a new user.
- Create Zoom User (if needed)
- Calls
POST https://api.zoom.us/v2/users
withaction: custCreate
. - Provides user details (
email
,first_name
,last_name
,password
(randomly generated)).
- Create a Zoom meeting for the user
- Calls
POST https://api.zoom.us/v2/users/me/meetings
to schedule a meeting. - Sets
topic
,type
,start_time
,duration
,timezone
, and other settings.
- Handling Repeat Registrations
- If the same user submits the form again (email already exists), we create a new meeting and send the meeting details to the user via email.
- Afterward, the user is redirected to a Thank You page.
Error?
When creating multiple meetings, we are encountering a rate limit issue:
Failed to create meeting: Client error: POST https://api.zoom.us/v2/users/me/meetings
resulted in a 429 Too Many Requests
response: {“code”:429,“message”:"You have exceeded the daily rate limit (100) of Meeting Create/Update API requests permitted for (truncated…)}
How To Reproduce
Request URL & Headers (without sensitive data):
Check if user exists:
GET https://api.zoom.us/v2/users/{email}
Headers:
- Authorization: Bearer {access_token}
- Content-Type: application/json
Create new user (if not found):
POST https://api.zoom.us/v2/users
Headers:
- Authorization: Bearer {access_token}
- Content-Type: application/json
Body:
{
"action": "custCreate",
"user_info": {
"email": "user@example.com",
"first_name": "John",
"last_name": "Doe",
"password": "random@123"
}
}
Authentication method or app type:
- We are using OAuth authentication with account-level credentials.
- The access token is generated via:
POST https://zoom.us/oauth/token?grant_type=account_credentials&account_id={ZOOM_ACCOUNT_ID}
Error:
HTTP 429 Too Many Requests
{
“code”: 429,
“message”: “You have exceeded the daily rate limit (100) of Meeting Create/Update API requests permitted.”
}
Additional Question
We are running multiple campaigns where we expect a high volume of user registrations, ranging from 100 to 1,000+ users per day. Each user who registers needs to have a Zoom meeting created for them. Given Zoom’s current daily rate limit of 100 meeting creation/update requests, this restriction poses a significant challenge for our workflow.
To ensure seamless user onboarding without interruptions, we need guidance on the best approach to handle this scenario. Specifically, we would like to understand:
- Rate Limit Increase – Is there an option to request a higher rate limit for meeting creation to accommodate our scale? If so, what is the process for requesting an increase?
- Alternative Solutions – Are there alternative ways to schedule meetings at scale, such as:
- Using Zoom Webinars instead of individual meetings?
- Creating recurring meetings with unique join links for users instead of separate meetings?
- Assigning users to pre-existing meetings instead of creating a new one each time?
- Best Practices for High-Volume Meeting Scheduling – What is the recommended approach to avoid hitting the rate limit while still ensuring that each user gets a valid meeting link?
We would appreciate any recommendations or solutions to ensure that both user creation and meeting scheduling remain uninterrupted, even with large-scale registrations. Thank you!