Introduction

The Stream Video JavaScript SDK is a toolkit for building video calling, audio rooms and livestreaming into your app. It ships with high-level APIs and reactive state management, and every call runs on Stream's global edge network for lower latency and higher reliability. Type definitions ship with the SDK, so it works in TypeScript and plain JavaScript.

This SDK is the client half of your integration. Call types, recording, transcription, webhooks and SIP are configured from your backend with a server-side SDK or the REST API, and the token your app connects with has to be signed there too. See the server-side overview for what to build there, starting with users and tokens.

Build with Stream CLI and Agent Skills

The Stream CLI and Agent Skills give AI coding agents the tools and knowledge to work with Stream. There is no dedicated skill pack for JavaScript yet, but the default skills still help with live documentation and CLI-driven API work.

Install the CLI and the default skills:

curl -fsSL https://getstream.io/cli.sh | bash
getstream skills

Once installed, invoke /stream from your agent. It routes documentation lookups and API operations for you.

Stream Agent Skills can also be installed from skills.sh.

Getting started

If you're new to Stream Video, start with these tutorials:

What you'll learn

Core concepts:

Advanced features:

FAQ

Does the SDK include UI components?

No. It ships the client and reactive state; you build the UI. For prebuilt components use the React SDK.

Which browsers are supported?

Chrome 136+, Firefox 137+, Edge 136+ and Safari 18.4+, plus WebView on Android and iOS. See supported platforms.

How big is the bundle?

Under 370KB minified and around 100KB gzipped.

Can users share their screen?

On desktop browsers, yes. See screen sharing.

Is there noise cancellation?

Yes, on desktop browsers, through the noise cancellation plugin.

Can calls be moderated automatically?

Yes. Call moderation watches video keyframes and audio transcriptions in real time. Ask support to enable it.

Feedback

If something is missing or could be improved, contact us.