Real-time video conferencing, built your way.
Add real-time video conferencing to your app with a few lines of code. Fishjam's Video Conferencing API handles the WebRTC SFU infrastructure — just pick an SDK and start building.

Mix and match what you need
Fishjam is a modular real-time media infrastructure. Use one product or combine them depending on your needs.
Rooms & participants
Create and manage video rooms with a single API call. Invite participants, control access with tokens, and let users join from any device.
Media tracks
Send and receive audio, video, and screen share tracks. Subscribe participants to each other's streams and control quality on the fly.
SDKs
React, React Native, and server-side SDKs for video conferencing — ready to drop into your existing stack. No extra config, no infrastructure setup required.
Data channels
Send custom data alongside your media streams. Build chat, reactions, polls, or any real-time feature on top of your video call.
Server-side SDK
Manage rooms, participants, and tokens from your backend. Full control over your conferencing logic without touching WebRTC internals.
Fast to integrate, easy to extend
You're just 3 steps away from a working video call.
Create a room
Create your account and grab your API key. Your first room is ready in minutes.
const room = await fishjamClient.createRoom({ type: "conference" });Create a peer
Use the server SDK or REST API to create a room and generate participant tokens.
const { peer, peerToken } = await fishjamClient.createPeer(room.id);Join from any SDK
Connect your React or React Native frontend to the WebRTC video conference. Participants join the room and start streaming - no peer-to-peer complexity, Fishjam's SFU handles routing.
const { joinRoom } = useConnection();
joinRoom({ peerToken });Create a room
Create your account and grab your API key. Your first room is ready in minutes.
const room = await fishjamClient.createRoom({ type: "conference" });Create a peer
Use the server SDK or REST API to create a room and generate participant tokens.
const { peer, peerToken } = await fishjamClient.createPeer(room.id);Join from any SDK
Connect your React or React Native frontend to the WebRTC video conference. Participants join the room and start streaming - no peer-to-peer complexity, Fishjam's SFU handles routing.
const { joinRoom } = useConnection();
joinRoom({ peerToken });Pick your use case




Take it further
Need more? Video calls are just the start.
AI agents
Add an AI agent to any room as a participant. It listens, speaks, and processes media — just like a human attendee. Connect OpenAI, Gemini, or bring your own model.
Compositing
Turn your conference tracks into broadcast-quality output. Add overlays, switch layouts, and stream to any destination — all controlled by code. Built for virtual events, branded webinars, and anything that needs more than a plain video grid.
Pay for what you use. Nothing more.
Fishjam uses a usage-based pricing model across all products — from video conferencing and live streaming to AI voice agents. No hidden infrastructure fees. No surprise scaling costs.
Start for free, scale as you grow.
View pricing details