Skip to main content

Data overview

An overview of realtime text and data features for LiveKit.

Overview

LiveKit provides several APIs for exchanging data between participants. Each is designed for a different interaction pattern — guaranteed delivery of text or files, request-response workflows, continuous low-latency streaming, or synchronized shared state.

Choosing the right API

TaskRecommended APIPatternDescription
Send text (chat, LLM responses)Text streamsGuaranteed, message-basedAutomatic chunking and topic-based routing.
Send files or binary dataByte streamsGuaranteed, message-basedTransfer files, images, or any binary data with progress tracking.
Call a method on another participantRPCGuaranteed, message-basedExecute custom methods on other participants and await a response.
Stream continuous data (sensors, telemetry, game state)Data tracksLossy, continuousPrioritizes staying realtime over guaranteed delivery. Frames that can't be delivered in time are dropped.
Synchronize shared stateState synchronizationGuaranteed, message-basedReplicate participant attributes and room metadata across all participants.
Low-level control over individual packet deliveryData packetsGuaranteed or lossy, message-basedAdvanced API for precise control over individual packet behavior. For lossy delivery, data tracks offer similar control when frame payloads fit in a single packet.

In this section