Interactive Live Streaming API & SDK
Interactive Live Streaming API & SDK
Real-time WebRTC streaming with sub-second latency. Promote any viewer to co-host mid-stream, run up to 25 simultaneous hosts, and ship on web, iOS, Android, Flutter and React Native.
Real-time WebRTC streaming with sub-second latency. Promote any viewer to co-host mid-stream, run up to 25 simultaneous hosts and ship on web, iOS, Android, Flutter and React Native.

LOVED BY DEVELOPERS AT






















Built on WebRTC for Sub-Second Interactive Live Streaming

Deliver Real-time Streaming to 100K+ Viewers with Multiple Hosts
- Hosts and co-hosts connect through a Selective Forwarding Unit (SFU) on a global edge network, ultra-low latency streaming
- Real-time collaboration with up to 25 simultaneous hosts
- Dynamically switch roles between viewers and hosts during live sessions
- Ensure smooth viewing experience with adaptive bitrate streaming

Fast Channel Switching and Smooth Live Streaming
- Sub-second channel switching ensures seamless real-time streaming.
- Fast initial frame rendering and quick channel creation for uninterrupted video.
- Deliver streams in multiple resolutions for the best quality across devices.
- Adaptive live streaming optimized for orientation to enhance viewer experience.

Build Engaging Virtual Experience with Advanced Features
- Live polls, Q&A, chat, reactions, virtual gifts and shared music ship with the SDK
- Boost engagement with whiteboard, AI virtual background and AI Noise Suppression.
- Instantly adjust video resolution and orientation for a dynamic viewing experience.
- Real-time captions and transcription with diverse language support.

Stream RTMP to Multiple Platforms with a Single API
- Broadcast to any social platform in 1080p kbps.
- Go live on 20+ platforms simultaneously.
- Compatible with all custom RTMP outputs.
- Start streaming instantly from any browser.
Everything Included in the Interactive Live Streaming SDK
Fully Customized UI
Ultra-Low Latency
Invite as a Co-host
Browser and Cross Device Support
Chat, Reactions and Virtual Gifts
DEVELOPER-CENTRIC API
Build engaging live experiences effortlessly!
Low-latency Global Infrastructure
20+ Frameworks Supported
Secure JWT Authentication
Maintainance-free SDK
In-built state change events
1import VideoSDK from "@videosdk.live/js-sdk";
2
3// Configure authentication token
4VideoSDK.config("<Authentication-token>");
5
6// Initialize meeting
7const meeting = VideoSDK.initMeeting({
8 meetingId: "abc-pqr-xyz",
9 name: "John Doe",
10 micEnabled: true,
11 webcamEnabled: true,
12});1import 'package:flutter/material.dart';
2import 'package:videosdk/videosdk.dart';
3
4class MyApp extends StatelessWidget {
5 var token ="<Authentication-token>";
6 // create room
7 Room _room = VideoSDK.createRoom(
8 roomId: 'abc-pqr-xyz',
9 token: token,
10 displayName: "John Doe",
11 micEnabled: true,
12 camEnabled: true,
13 defaultCameraIndex: 1, // Index of MediaDevices will be used to set default camera
14 );
15 }
16}1import { MeetingProvider } from "@videosdk.live/react-sdk";
2
3const App = () => (
4 <MeetingProvider
5 config={{
6 meetingId: "abc-pqr-xyz",
7 name: "John Doe",
8 micEnabled: true,
9 webcamEnabled: true,
10 }}
11 token={"<Authentication-token>"}
12 >
13 // Meeting View
14 </MeetingProvider>
15);1import androidx.appcompat.app.AppCompatActivity;
2import android.os.Bundle;
3import live.videosdk.rtc.android.Meeting;
4import live.videosdk.rtc.android.VideoSDK;
5
6public class MainActivity extends AppCompatActivity {
7
8 @Override
9 protected void onCreate(Bundle savedInstanceState) {
10 super.onCreate(savedInstanceState);
11 setContentView(R.layout.activity_main);
12 final String token = "<Authentication-token>";
13
14 VideoSDK.config(token);
15 Meeting meeting = VideoSDK.initMeeting(
16 MainActivity.this, "abc-pqr-xyz", "John Doe",
17 true, true, null, null, false, null
18 )
19 }
20}1import VideoSDKRTC
2class SessionViewController: UIViewController {
3 private var meeting: Meeting?
4
5 override func viewDidLoad() {
6 super.viewDidLoad()
7
8 // Configure authentication token got earlier
9 VideoSDK.config(token: <Authentication-token>)
10
11 // create a new meeting instance
12 meeting = VideoSDK.initMeeting(
13 meetingId: "abc-pqr-xyz", // required
14 participantName: "John Doe", // required
15 micEnabled: true, // optional, default: true
16 webcamEnabled: true // optional, default: true
17 )
18 }
19}1import asyncio
2from videosdk import MeetingConfig, VideoSDK
3
4loop = asyncio.get_event_loop()
5
6def main():
7 meeting_config = MeetingConfig(
8 meeting_id="abc-pqr-xyz",
9 name="John Doe",
10 mic_enabled=True,
11 webcam_enabled=True,
12 token=<VIDEOSDK_AUTH_TOKEN>
13 )
14
15 # Initialize the meeting
16 meeting = VideoSDK.init_meeting(**meeting_config)
17
18 # Join the meeting
19 meeting.join()
20
21if __name__ == '__main__':
22 main()
23 loop.run_forever()1using live.videosdk;
2
3Meeting meeting = Meeting.GetMeetingObject();
4meeting.Join("YOUR_TOKEN", "MEETING_ID", "John Doe", true, true);
5 WHAT YOU CAN BUILD
One Technology, Multiple Solutions


“I still remember when I was trying out the product and connected over discord with Arjun Kava, and he immediately responded. It is one of the things that we found less often. The team is super enthusiastic to make the product as next big thing. Easy integration is the beauty of it. Few lines of code and it's done.”
Ankur Chandra ,
Engineering Manager at Fynd
<2 week
Time to go live
>100k
Increase in engagement
Let’s build together
Start Building With Free $20 Balance | No credit card required to start.
