Agora powers an average of over
minutes of human connection per month
Build it with Agora
Agora provides the building blocks to enable a wide range of real-time engagement possibilities
The most advanced developer platform
Our network monitors activity in real time and automatically selects the most efficient routing path for sub-second latency globally across 200+ data centers.
Access to all users
Compatible with all popular development platforms and mobile-device friendly with minimal battery consumption.
Architected to withstand sudden spikes in traffic, gracefully scaling from one to millions of concurrent users as your business demands.
Flexible building blocks
Developers can create unique experiences with our extensive APIs, customizable UI and pre-integrated third-party extensions.
99.99% uptime, 300ms average global latency and zero system-wide downtime in company history.
Enterprise support plans
Our industry-leading technical team provides 24×7 development and operational support.
For meaningful human connections
Explore ways voice and video are redefining engagement
Made for developers
Connect to the Agora platform with only a few lines of code
Please select device
import AgoraRtcKit agoraKit = AgoraRtcEngineKit.sharedEngine(withAppId: AppID, delegate: self) agoraKit.setupLocalVideo(videoCanvas) agoraKit.enableVideo() agoraKit.joinChannel(byToken: Token, channelId: "demoChanne1", info:nil, uid:0) agoraKit.setupRemoteVideo(videoCanvas) agoraKit.leaveChannel(nil)
import io.agora.rtc.RtcEngine; mRtcEngine = RtcEngine.create(context, appid, eventHandler); mRtcEngine.setupLocalVideo(videoCanvas); mRtcEngine.enableVideo(); mRtcEngine.joinChannel(token, channelName, info, uid); mRtcEngine.setupRemoteVideo(videoCanvas); mRtcEngine.leaveChannel();
import AgoraRtcEngine from 'agora-electron-sdk'; RtcEngine.initialize(appid); RtcEngine.setupLocalVideo(element); RtcEngine.enableVideo() RtcEngine.joinChannel(token, channel, info, uid); RtcEngine.setupRemoveVideo(uid, view, info, channel); RtcEngine.leaveChannel()
import AgoraRTC from 'agora-rtc-sdk'; let client = AgoraRTC.createClient(config); client.init(appid); let localStream = AgoraRTC.createStream(streamSpec) localStream.init(); localStream.play(elementID); client.join(token, channel, uid); remoteStream.play("elementID"); client.leave();
using agora_gaming_rtc; IRtcEngine mRtcEngine = IRtcEngine.getEngine(appId); mRtcEngine.EnableVideo(); mmRtcEngine.EnableVideoObserver(); mmRtcEngine.JoinChannel(channel, null, 0); VideoSurface remoteVideoSurface = go.AddComponent<VideoSurface> (); mmRtcEngine.LeaveChannel(); mmRtcEngine.DisableVideoObserver();
#include "IAgoraRtcEngine.h" m_lpAgoraEngine = (IRtcEngine *)createAgoraRtcEngine(); m_lpAgoraObject->GetEngine()->setupLocalVideo(vc); m_lpAgoraObject->GetEngine()->enableVideo(); int nRet = m_lpAgoraEngine->joinChannel(token, channelName, NULL, nUID); m_lpAgoraObject->GetEngine()->setupRemoteVideo(vc); int nRet = m_lpAgoraEngine->leaveChannel();
Global companies and startups
trust the Agora platform
Pricing that scales with your business
Get 10,000 mins FREE per month
Let’s start working together
Whether you have questions about Agora technology, development, pricing or partnerships, we’re here to help.
Contact our Experts »
With 10,000 free minutes each month, you don’t pay until your business starts to scale. No credit card required.
Get Started »