
Product
Introducing Reports: An Extensible Reporting Framework for Socket Data
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.
@zoom/meetingsdk
Advanced tools
⚠️ Action Required:
We recommend that you upgrade to 5.1.4 or above if you use WebRTC video to prevent issues with future Chrome versions.
Use of this SDK is subject to our Terms of Use
The Zoom Meeting SDK embeds the Zoom Meeting and Webinar experience in a website through a highly optimized WebAssembly module.
The Meeting SDK is reserved for human use cases and does not support bots or AI notetakers. To build an AI notetaker application or access realtime media, use Zoom RTMS (Real-time media streams).
In your frontend project, install the Meeting SDK:
npm install @zoom/meetingsdk --save
Add <meta charset="UTF-8" /> to your web app's entry point(index.html) to ensure the browser uses UTF-8. If not set, the browser might choose a different encoding, causing text or data issues.
There are two views to choose from, Client View and Component View.

What is Client View? The Client View provides a full-page meeting experience identical to the Zoom Web Client, seamlessly integrated into your web page.
Import ZoomMtg and prepare the SDK:
import { ZoomMtg } from '@zoom/meetingsdk'
ZoomMtg.preLoadWasm()
ZoomMtg.prepareWebSDK()
Note: The Meeting SDK adds DOM elements for overlays and accessibility. Learn more about managing these elements.
ZoomMtg.init() Parameters| Parameter | Description |
|---|---|
leaveUrl | Required - URL where participants are redirected when leaving the meeting |
ZoomMtg.join() ParametersGet meeting details from the Zoom APIs.
| Parameter | Description |
|---|---|
signature | Required - Your SDK JWT |
meetingNumber | Required - The Zoom Meeting or Webinar Number |
userName | Required - Name of the user joining the meeting |
passWord | Required - Meeting password (empty string if only waiting room required) |
userEmail | Required for Webinars - User email (also required for registration) |
tk | Required for Registration - Registrant's token |
zak | Required for Starting - Host's Zoom Access Key (ZAK) |
ZoomMtg.init({
leaveUrl: 'https://yourapp.com/meeting-ended',
patchJsMedia: true,
success: (success) => {
console.log('SDK initialized successfully')
ZoomMtg.join({
signature: signature,
meetingNumber: meetingNumber,
userName: userName,
userEmail: userEmail,
passWord: passWord,
success: (success) => {
console.log('Joined meeting successfully')
},
error: (error) => {
console.error('Failed to join meeting:', error)
}
})
},
error: (error) => {
console.error('Failed to initialize SDK:', error)
}
})
For the full list of features and event listeners, as well as additional guides, see our Meeting SDK docs.
The component view provides the option to display the Meeting SDK for web in components on your page. This allows for a more flexible design. Component view is designed specifically for desktop browser use cases, not mobile environments. For mobile use cases, use client view.

What is Component View? The Component View provides flexible, embeddable meeting components that can be styled and positioned within your existing UI design.
Import ZoomMtgEmbedded and create the client:
import ZoomMtgEmbedded from "@zoom/meetingsdk/embedded"
const client = ZoomMtgEmbedded.createClient()
Create a container element where the Meeting SDK will render:
<div id="meetingSDKElement">
<!-- Zoom Meeting SDK Rendered Here -->
</div>
Note: The container remains hidden until you join a meeting or webinar.
Get meeting details from the Zoom APIs.
| Parameter | Description |
|---|---|
signature | Required - Your SDK JWT |
meetingNumber | Required - The Zoom Meeting or Webinar Number |
userName | Required - Name of the user joining the meeting |
password | Required - Meeting password (empty string if only waiting room required) |
userEmail | Required for Webinars - User email (also required for registration) |
tk | Required for Registration - Registrant's token |
zak | Required for Starting - Host's Zoom Access Key (ZAK) |
const meetingSDKElement = document.getElementById('meetingSDKElement')
client.init({
zoomAppRoot: meetingSDKElement,
language: 'en-US',
patchJsMedia: true
}).then(() => {
console.log('SDK initialized successfully')
client.join({
signature: signature,
meetingNumber: meetingNumber,
password: password,
userName: userName,
userEmail: userEmail
}).then(() => {
console.log('Joined meeting successfully')
}).catch((error) => {
console.error('Failed to join meeting:', error)
})
}).catch((error) => {
console.error('Failed to initialize SDK:', error)
})
For the full list of features and event listeners, as well as additional guides, see our Meeting SDK docs.
To use Zoom for Government, you need to apply for a new SDK key at ZFG Marketplace.
Update your package.json to use the ZFG version:
{
"dependencies": {
"@zoom/meetingsdk": "4.0.7-zfg"
}
}
ZoomMtg.setZoomJSLib("https://source.zoomgov.com/{VERSION}/lib", "/av")
ZoomMtg.init({
webEndpoint: "www.zoomgov.com",
// ... other options
})
const client = ZoomMtgEmbedded.createClient()
client.init({
assetPath: 'https://source.zoomgov.com/{VERSION}/lib/av',
webEndpoint: "www.zoomgov.com",
// ... other options
})
📖 Documentation: Client View | Component View
FAQs
Zoom MeetingSDK-Web Client
The npm package @zoom/meetingsdk receives a total of 77,526 weekly downloads. As such, @zoom/meetingsdk popularity was classified as popular.
We found that @zoom/meetingsdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Explore exportable charts for vulnerabilities, dependencies, and usage with Reports, Socket’s new extensible reporting framework.

Product
Socket for Jira lets teams turn alerts into Jira tickets with manual creation, automated ticketing rules, and two-way sync.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.