Cloudflare Realtime

Last updated Oct 19, 2026 Build live applications where people, AI systems, and devices communicate in real time over Cloudflare's global network ↗︎.

Cloudflare Realtime - 图1Cloudflare Realtime - 图2

RealtimeKit<h2>Add audio or video calls to your app</h2>Use prebuilt meeting UI and SDKs for web and mobile. Add managed recording or transcription if your app needs it.Explore RealtimeKit Realtime SFU<h2>Build custom WebRTC applications</h2>Use the Realtime SFU API to control which endpoints publish or receive audio, video, and data. Your application handles signaling and permissions.Explore Realtime SFU

What you can build

RealtimeKit<h3>In-app meetings</h3>Add audio or video calls to your web or mobile app with prebuilt screens and controls.View guide RealtimeKit<h3>Virtual classrooms</h3>Set instructor and student permissions, then split a class into breakout rooms. Record or transcribe sessions when needed.View guide RealtimeKit<h3>Live events</h3>Add reactions, chat, and polls to a live event.View guide Realtime SFU<h3>Embedded devices</h3>Send audio and telemetry from an ESP32 to browsers, with controls for one authorized operator. Use the same design for robot gateways.View guide Realtime SFU<h3>Cloud gaming</h3>Stream a game from a Container to browsers, then send keyboard and pointer input back over DataChannels.View guide Realtime SFU<h3>AI audio pipelines</h3>Transcribe microphone audio with Workers AI, then send generated speech to browsers through WebSocket media adapters.View guide

Realtime primitives

Cloudflare TURN

Relay WebRTC traffic through Cloudflare when a NAT or firewall prevents a direct connection.

WebSocket adapter

Send PCM audio in either direction between Realtime SFU and a WebSocket service, or receive video as JPEG frames.

DataChannels

Exchange chat, sensor updates, and control events between WebRTC endpoints.

Frequently asked questions

Should I use RealtimeKit or Realtime SFU?

If you are new to WebRTC ↗︎ and want to add audio or video meetings to your app, use RealtimeKit. It includes web and mobile SDKs with prebuilt UI. Cloudflare handles signaling and media routing, and you can add managed recording or transcription.

If you have WebRTC experience and need control over what each endpoint publishes or receives, use Realtime SFU. Your application handles signaling, permissions, session state, and track discovery. Cloudflare runs the SFU and forwards media to subscribers.

How does TURN fit into WebRTC?

A TURN server relays traffic when a NAT or firewall prevents two WebRTC endpoints from connecting directly. If a direct connection works, TURN stays out of the path.

RealtimeKit configures Cloudflare TURN for you. Realtime SFU includes access to the same service. You can also use Cloudflare TURN with your own SFU or peer-to-peer application by generating TURN credentials.

Cloudflare TURN uses Anycast ↗︎, so you do not have to deploy regional TURN servers or load balancers.

For webinars, should I use RealtimeKit or Stream Live?

Use RealtimeKit webinars when attendees join as participants. They might speak, appear on camera, or move into breakout rooms.

Use Stream Live when a small group of presenters broadcasts and the audience mainly watches. For example, a webinar with a few presenters and a large watch-only audience should use Stream Live.

Next steps

Get started with RealtimeKit

Create your first meeting and add RealtimeKit to your app.

Get started with Realtime SFU

Create an application, open an SFU session, and publish a media track.

Was this helpful?

YesNo

On this page

Cloudflare Realtime - 图3Docs

{"@context":"https://schema.org","@type":"WebPage","@id":"https://developers.cloudflare.com/realtime/#page","headline":"Cloudflare Realtime","description":"Build live audio, video, and data applications with Cloudflare Realtime, or broadcast live video with Stream.","url":"https://developers.cloudflare.com/realtime/","inLanguage":"en","image":"https://developers.cloudflare.com/realtime/og.png?v=671f80b438177fe8","dateModified":"2026-10-19","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}


description: Build in-app audio and video with RealtimeKit SDKs and customizable UI components. title: RealtimeKit image: https://developers.cloudflare.com/realtime/realtimekit/og.png?v=31a73b0d5312318c


Skip to content

Documentation Index
Fetch the complete documentation index at: https://developers.cloudflare.com/realtime/llms.txt
Use this file to discover all available pages before exploring further.