Interactive live tools
Use incoming comments and gifts to trigger actions in your own software.
TikTok LIVE Interaction API
Bring live comments, gifts, likes and viewer joins into your application, as they happen.
Registration is not open yet. Existing accounts can sign in.
We deliver the data. You decide what your application does with it.
Use incoming comments and gifts to trigger actions in your own software.
Connect audience interactions to your games, animations and on-screen effects.
Notify your server when a monitored creator starts a live stream.
Use the events you receive to build your own displays and statistics.
Kubo Live is an API platform, not a ready-made game, effects app or historical analytics service.
Receive comments, gifts, likes, follows and viewer joins from public TikTok LIVE rooms over WebSocket.
Monitor selected creators and send a notification to your server when they go live. Check delivery results in the console.
Create keys for your applications. Replace or disable them when access needs to change.
See active connections, request records and errors to understand how your integration is running.
Use the API and a standard WebSocket client. No special browser or TikTok app is required for managed streaming.
Use your existing Kubo Live account to open the console.
Create an API key for your server and keep it private.
Request a short-lived token for the creator, then open the returned WebSocket URL.
Read incoming events and add your own application logic.
This browser example runs on this site after sign-in. For your own app, request tokens from your server using an API key. Never put a long-lived key in browser code.
// Run on this site's origin after signing in.
const { wsUrl } = await createLiveToken('YOUR_CREATOR');
const socket = new WebSocket(wsUrl);
socket.onmessage = ({ data }) => {
const packet = JSON.parse(data);
for (const event of packet.messages ?? []) {
console.log(event.type, event.data);
}
};
socket.onerror = () => console.error('Connection error');
socket.onclose = ({ code }) => console.log('Closed', code);
// Call socket.close() when your application stops listening.
async function createLiveToken(account) {
const session = await fetch('/api/auth/session', {
credentials: 'include'
}).then(response => response.json());
if (!session.authenticated || !session.csrf) {
throw new Error('Sign in first');
}
const response = await fetch('/api/tokens', {
method: 'POST',
credentials: 'include',
headers: {
'Content-Type': 'application/json',
'X-CSRF-Token': session.csrf
},
body: JSON.stringify({ account })
});
if (!response.ok) throw new Error('Token request failed');
return response.json();
}A WebSocket opening is not confirmation that the creator is live. Handle the incoming status and error messages, and close the socket when you stop listening.
Connection, request and alert limits are separate. Check your console for the limits assigned to your account.
Paid subscriptions are not available yet.
See authentication, live messages and working examples. Already have an account? Open the console to try a connection.