Introduction
The Euler Stream API powers realtime access to TikTok LIVE data. Learn how to get started.
What is the Euler Stream API?
The Euler Stream API is a signing service that generates authenticated URLs and WebSocket connections for accessing TikTok LIVE data. It handles the complex authentication and signature generation required by TikTok's API, so you can focus on building your application.
The API is used by open-source TikTok LIVE libraries across multiple languages to connect to livestreams, receive real-time events (chat messages, gifts, viewer joins, etc.), and build integrations on top of that data.
Base URL
All API requests are made to:
https://tiktok.eulerstream.com
WebSocket connections are made to:
wss://ws.eulerstream.com
Creating an Account
To use the Euler Stream API, you need an account and an API key.
Sign up
Create a free account at eulerstream.com/register. You can sign up with email or use a social login.
Get your API key
After signing in, navigate to the Dashboard and create a new API key. Your API key is used to authenticate all requests to the Euler Stream API.
Start building
Use your API key with one of the supported libraries, the REST API, or the WebSocket API to start accessing TikTok LIVE data.
Authentication
Every request to the Euler Stream API must include your API key. Pass it as a query parameter or header:
# As a query parameter
curl "https://tiktok.eulerstream.com/webcast/fetch/?unique_id=@username&apiKey=YOUR_API_KEY"
# As a header
curl -H "x-api-key: YOUR_API_KEY" "https://tiktok.eulerstream.com/webcast/fetch/?unique_id=@username"Keep your API key secret. Do not expose it in client-side code or public repositories. If your key is compromised, regenerate it immediately from the dashboard.
Rate Limits
The API enforces rate limits to ensure fair usage. Free accounts have a baseline limit, and paid plans
offer higher limits. When you exceed your rate limit, the API returns a 429 status code with headers indicating
when you can retry.
Check your current limits at any time via the /webcast/rate_limits endpoint or on the Dashboard.
Response Format
All API responses are returned as JSON. Successful responses include the requested data directly. Error responses follow a consistent format:
{
"statusCode": 429,
"message": "Rate limit exceeded. Please try again later."
}