videosdk-server-sdk-go
Server-side Go SDK for the VideoSDK REST APIs: rooms,
sessions, recordings, HLS, livestreams, transcodings, SIP, AI agents, and local
auth-token signing.
No third-party dependencies, fully typed, context-aware. Go 1.23+.
Documentation
Full guides and the complete API reference live at
docs.videosdk.live/server-sdk/introduction.
Go package reference:
pkg.go.dev/github.com/videosdk-live/videosdk-server-sdk-go/videosdk.
Installation
go get github.com/videosdk-live/videosdk-server-sdk-go@latest
Quick start
package main
import (
"context"
"fmt"
"log"
"github.com/videosdk-live/videosdk-server-sdk-go/videosdk"
)
func main() {
client, err := videosdk.NewClient(
videosdk.WithAPIKey("YOUR_API_KEY"),
videosdk.WithSecret("YOUR_SECRET"),
)
if err != nil {
log.Fatal(err)
}
// Create a room
room, err := client.Rooms.Create(context.Background(), videosdk.RoomCreateParams{})
if err != nil {
log.Fatal(err)
}
fmt.Println("created room:", room.RoomID)
// List its sessions (auto-paging across all pages)
for session, err := range client.Sessions.ListAutoPaging(context.Background(), videosdk.SessionListParams{
RoomID: videosdk.String(room.RoomID),
}) {
if err != nil {
log.Fatal(err)
}
fmt.Println(session.ID)
}
}
You can also set VIDEOSDK_API_KEY and VIDEOSDK_SECRET and call
videosdk.NewClient() with no options. Get your API key and secret from the
VideoSDK dashboard.
License
MIT