Skip to main content

Data overview

An overview of realtime text and data features for LiveKit.

On this page

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