Getting started overview
Getting started with the Zoom API involves a sequence of steps to establish developer credentials, configure an application, and execute an initial API request. This process typically includes signing up for a Zoom account, navigating the Zoom Marketplace to create an API application, and understanding the authentication mechanisms required to interact with Zoom’s services Zoom API Rest Reference. The API facilitates integration with core Zoom functionalities, such as managing meetings, users, webinars, and recordings, enabling custom application development and workflow automation.
The primary authentication methods for the Zoom API are OAuth 2.0, including Server-to-Server OAuth, and the legacy JSON Web Token (JWT) method Zoom API Authentication Methods. For new integrations, Zoom recommends OAuth 2.0 for enhanced security and broader scope management. This guide focuses on the recommended approach for new developers seeking to make their first API call.
To ensure a smooth onboarding experience, developers are advised to consult the official Zoom API documentation for the most current information regarding endpoints, authentication flows, and specific API behaviors Zoom Developer Portal.
Quick Reference Steps
| Step | What to Do | Where |
|---|---|---|
| 1. Sign Up | Create a Zoom account or log in. A free Basic account is sufficient for initial API exploration. | Zoom Sign In |
| 2. Access Developer Portal | Navigate to the Zoom Marketplace. | Zoom Developer Portal |
| 3. Create App | Choose an application type (e.g., Server-to-Server OAuth or OAuth for user-context apps). | Build a Marketplace App |
| 4. Configure App | Provide app information, set Redirect URLs (for OAuth), and define API scopes. | Zoom Marketplace App Creation Wizard |
| 5. Get Credentials | Obtain your Client ID, Client Secret, and Account ID (for Server-to-Server OAuth) or develop your OAuth flow. | App Credentials Page in Zoom Marketplace |
| 6. Authenticate | Generate an access token using your credentials. | Programmatically via OAuth endpoint or Zoom SDKs |
| 7. Make Request | Construct and send your first API call using the access token. | Via HTTP client (e.g., cURL, Postman) or SDK |
Create an account and get keys
The first prerequisite for using the Zoom API is a Zoom account. Developers can use a free Zoom Basic account, which offers access to many API features for development and testing. Once an account is established, the next step is to obtain API credentials through the Zoom App Marketplace.
Account Creation
- Sign Up/Log In: Go to the Zoom website and either sign in to an existing account or create a new one.
- Access Developer Portal: Navigate to the Zoom Developer Portal. From there, select "Build App" in the navigation menu to access the app creation interface within the Zoom App Marketplace.
App Creation and Credential Retrieval
Zoom offers different app types, each with specific use cases and authentication flows. For most server-side integrations or applications that manage Zoom resources directly, the Server-to-Server OAuth app type is recommended. For applications requiring user authorization (e.g., users granting an app permission to access their meetings), a standard OAuth app is appropriate Zoom API Authentication Types.
-
Choose App Type: In the Zoom App Marketplace, select "Create" to start a new app. You will be prompted to choose an app type. For this guide, we will assume a Server-to-Server OAuth app for simplicity in demonstrating a direct API call.
-
App Information: Provide a unique name for your application. This name will be visible in the Zoom Marketplace if you choose to publish your app.
-
App Credentials: After creating the app, you will be presented with your
Client ID,Client Secret, andAccount ID. These are your API credentials. Store these securely, as the Client Secret is only displayed once. For OAuth apps, you will also configureRedirect URLsandWhitelist URLs. -
Scopes: Define the API scopes your application requires. Scopes determine what your application can do (e.g.,
meeting:read,user:write). Select only the necessary scopes to adhere to the principle of least privilege Zoom API Scopes Reference. -
Activate App: After configuring your app, it must be activated. For Server-to-Server OAuth apps, this usually happens automatically upon creation. For OAuth apps, you may need to explicitly activate it.
Your first request
With your application created and credentials obtained, the next step is to make your first authenticated API call. This involves generating an access token and then using that token in an HTTP request to a Zoom API endpoint.
Authenticate with Server-to-Server OAuth
For Server-to-Server OAuth apps, you obtain an access token by making a POST request to Zoom’s OAuth endpoint. This token is valid for a short period (typically 1 hour) and must be refreshed.
curl -X POST "https://oauth.zoom.us/oauth/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=account_credentials&account_id=YOUR_ACCOUNT_ID" \
--user "YOUR_CLIENT_ID:YOUR_CLIENT_SECRET"
Replace YOUR_ACCOUNT_ID, YOUR_CLIENT_ID, and YOUR_CLIENT_SECRET with your actual credentials. The response will include an access_token, which you will use for subsequent API calls.
Make an API Call
Once you have an access_token, you can use it in the Authorization header of your API requests. Let’s make a simple call to list your account’s users, which requires the user:read:admin scope.
curl -X GET "https://api.zoom.us/v2/users" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
Replace YOUR_ACCESS_TOKEN with the token obtained from the authentication step. A successful response will return a JSON object containing a list of users associated with your Zoom account. You can also test this using a tool like Postman or Insomnia, configuring the authorization header manually.
Common next steps
After successfully making a first API call, developers typically proceed with integrating more specific functionalities:
- Explore More Endpoints: Review the Zoom API reference documentation to identify other endpoints relevant to your application’s needs, such as creating meetings, managing recordings, or handling webhooks.
- Implement OAuth Flow: If your application interacts with individual user data, implement the full OAuth 2.0 authorization code flow to allow users to grant your application access securely. This is crucial for public or multi-user applications.
- Utilize Webhooks: Set up Zoom Webhooks to receive real-time notifications about events like meeting start/end, user creation, or recording completion. This push-based model reduces the need for constant polling.
- Integrate SDKs: For client-side development (web, mobile, desktop), consider using Zoom’s available Client SDKs (JavaScript, Android, iOS, Windows, macOS, Web) to embed video conferencing functionality directly into your application.
- Error Handling: Implement robust error handling mechanisms to gracefully manage API rate limits, invalid requests, and other potential issues. Consult the Zoom API error codes for specific guidance.
- Security Best Practices: Adhere to security best practices, such as storing API keys securely, encrypting sensitive data, and regularly rotating credentials Google Cloud API Key Best Practices.
Troubleshooting the first call
Encountering issues during the initial API call is common. Here are some troubleshooting steps:
-
Incorrect Credentials: Double-check your
Client ID,Client Secret, andAccount ID. Ensure there are no typos or extraneous spaces. Remember that the client secret is only shown once upon app creation. -
Missing or Incorrect Scopes: Verify that your application has been granted the necessary API scopes for the endpoint you are trying to access. For the "list users" endpoint,
user:read:adminis typically required. You can modify scopes in your app settings in the Zoom Marketplace. -
Expired Access Token: Access tokens are short-lived. If you’re receiving an unauthorized error, generate a new access token before making the API request. For production systems, you’ll need to implement a token refresh mechanism.
-
Incorrect Endpoint URL: Confirm that the base URL and the specific endpoint path are correct (e.g.,
https://api.zoom.us/v2/users). Refer to the Zoom API reference for exact endpoint paths. -
HTTP Headers: Ensure that the
Authorizationheader is correctly formatted asBearer YOUR_ACCESS_TOKENand that theContent-Typeheader is set appropriately (e.g.,application/jsonfor most requests,application/x-www-form-urlencodedfor token requests). -
Rate Limits: While less common for a first call, be aware that Zoom imposes API rate limits. If you’re making multiple rapid requests, you might hit a limit, resulting in a 429 Too Many Requests error.
-
Network Issues: Verify your internet connection and ensure no firewalls or proxies are blocking your outbound requests to
api.zoom.usoroauth.zoom.us. -
Check Zoom App Status: Ensure your application in the Zoom Marketplace is active and not in a draft or disabled state.