
Zoom API
Zoom API
Zoom API creates meetings, manages participants, and fetches recordings or transcripts — the foundation for Zoom integrations and bots.
OAuth and Server-to-Server OAuth cover personal and org-wide use
Free accounts cap meetings at 40 minutes
Create a Server-to-Server OAuth app (simplest for in-house use) or an OAuth app (for third-party distribution) at marketplace.zoom.us. After getting an access_token, send Authorization: Bearer <token>. Webhook endpoints must be configured and verified in the Marketplace.
Uptime · 30-day window
About this API
The Zoom API covers Meetings, Webinars, Phone, and Chat. The most common entry points are the Meetings and Recordings APIs: create meetings, generate join URLs, and fetch recordings and transcripts after the call. The Webinar API serves the events/marketing space with registration, reminders, and reports.
Authentication offers three app types. Server-to-Server OAuth is simplest for in-house backend calls — no user-authorization dance. OAuth is for third-party distribution. JWT is deprecated and only kept for legacy migration. All API calls are HTTPS, and access tokens are short-lived — refresh them on a regular cadence.
Webhooks are the main bridge to external systems: meeting started, ended, recording ready, participant joined — all push to your configured endpoint in real time. Zoom does not guarantee exactly-once delivery, so retries may produce duplicate events — your handler must be idempotent. Free Zoom accounts have a hard 40-minute cap per meeting, which matters for any paid-demo flow that depends on longer meetings.
What you can build
- 1Programmatically create meeting links and embed them in calendars
- 2Manage webinar registrations and reminder emails
- 3Fetch cloud recordings and transcripts
- 4Query usage and billing reports
- 5Trigger post-meeting automations (notes, follow-ups) via webhooks
Strengths & limitations
Strengths
- OAuth and Server-to-Server OAuth cover personal and org-wide use
- Rich meeting metadata and recording APIs
- Marketplace listing gives a stable distribution channel
Limitations
- Free accounts cap meetings at 40 minutes
- Some advanced features (live transcription, breakouts) require paid plans
- Webhook retries require you to handle idempotency yourself
Example request
curl https://developer.zoom.us/<endpoint> \
-H "Authorization: Bearer $ACCESS_TOKEN"Getting started
Create a Server-to-Server OAuth app (simplest for in-house use) or an OAuth app (for third-party distribution) at marketplace.zoom.us. After getting an access_token, send Authorization: Bearer <token>. Webhook endpoints must be configured and verified in the Marketplace.
FAQ
Is API access free?+
The API itself is free, but the features it exposes are still gated by your Zoom plan (e.g. the 40-minute meeting cap on free accounts).
Are JWT apps still usable?+
No — JWT is deprecated. New apps must use OAuth or Server-to-Server OAuth. Legacy JWT apps need to migrate.
Can I get live captions during a meeting?+
Yes, via Live Transcription (paid feature) over a dedicated WebSocket endpoint.
Why am I getting duplicate webhook events?+
Zoom does not guarantee exactly-once delivery. Your endpoint should dedupe by event id.
Technical details
- Auth type
- oauth
- Pricing
- freemium
- Protocols
- REST
- SDKs
- javascript, typescript, python, java
- Response time
- 2570 ms
- Last health check
- 5/12/2026, 7:38:45 AM
Endpoints
Parsed from the OpenAPI spec. Showing 12 of 369 non-deprecated endpoints.
/accountsAccountsList sub accounts
/accountsAccountsCreate a sub account
/accounts/{accountId}AccountsDisassociate a sub account
/accounts/{accountId}AccountsGet sub account details
/accounts/{accountId}/billingBillingGet billing information
/accounts/{accountId}/billingBillingUpdate billing information
/accounts/{accountId}/billing/invoicesBillingList billing invoices
/accounts/{accountId}/billing/invoices/{invoiceId}BillingGet invoice details
/accounts/{accountId}/lock_settingsAccountsGet locked settings
/accounts/{accountId}/lock_settingsAccountsUpdate locked settings
/accounts/{accountId}/managed_domainsAccountsGet managed domains
/accounts/{accountId}/optionsAccountsUpdate options
357 more endpoints not shown. See the OpenAPI spec for the full list.
Alternatives to consider
Different providers solving similar problems. Picked by category, auth, pricing, and tag overlap.