TikTok LIVE API Client - The #1 Worldwide freemium SaaS API for TikTok LIVE data retrieval, offered in all major languages!
See the codeThe TikTok LIVE API allows you to connect to any TikTok LIVE stream and receive real-time chat messages, gifts, likes, follows, shares, viewer counts, room stats, and PK battles over a single managed WebSocket. Official SDKs for Node.js/TypeScript, Python, C#, Java, and Go. Powered by EulerStream, the managed backend behind the popular TikTokLive library.
Updated for 2026. Managed connections that keep working when TikTok changes. No protobuf parsing, no reverse engineering, no maintenance on your side.
TikTok does not publish an official public API for reading LIVE stream interaction data (chat, gifts, likes) in real time. EulerStream fills that gap with a managed API used in production for live overlays, stream alerts, TikTok LIVE games, chatbots, and analytics dashboards.
The core difference from self-hosted libraries is who carries the maintenance burden. Reverse-engineered connections break whenever TikTok updates its webcast protocol, and your own IP is exposed to TikTok directly. With EulerStream, the connection layer is hosted and maintained for you.
| EulerStream | Self-hosted / reverse-engineered | |
|---|---|---|
| Real-time chat, gifts, likes, follows, viewers, PK battles | Yes | Yes |
| Managed WebSocket (your IP never touches TikTok) | Yes | No |
| Keeps working when TikTok updates | Yes | Needs manual upkeep |
| Official SDKs in 5 languages | Yes | Varies |
| JWT auth, LIVE alerts, moderation routes | Yes | No |
| Free community tier | Yes | Yes |
Full API documentation and the interactive OpenAPI spec live at eulerstream.com/docs.
| Language | Package | Install |
|---|---|---|
| TypeScript / Node.js | tiktok-live-api-sdk | npm i tiktok-live-api-sdk |
| Python | EulerApiSdk | pip install EulerApiSdk |
| C# / .NET | EulerApiSdk | dotnet add package EulerApiSdk |
| Java | com.eulerstream:euler-api-sdk | Maven / Gradle |
| Go | github.com/EulerStream/TikTok-Live-Api/sdk/go | go get github.com/EulerStream/TikTok-Live-Api/sdk/go |
Everything else can use the language-agnostic WebSocket directly. A payload decoder tool is available for debugging.
import EulerStreamApiClient from "tiktok-live-api-sdk";
const client = new EulerStreamApiClient({ apiKey: "YOUR_API_KEY" });
// Look up any TikTok user by @username
const user = await client.tikTokUsers.retrieveTikTokUserBasic("tv_asahi_news");
console.log(user.data.user?.nickname);
// Browse the TikTok LIVE gift catalog
const catalog = await client.gifts.listWebcastGifts();
console.log(catalog.data.gifts?.length, "gifts");
// Business plan: fetch the TikTok LIVE WebSocket URL straight from the creator's @username
const webcast = await client.anchors.fetchWebcastURLByUniqueId("tv_asahi_news");
from EulerApiSdk import AuthenticatedClient
from EulerApiSdk.api.tik_tok_users import retrieve_tik_tok_user_basic
from EulerApiSdk.api.tik_tok_live_gifts import list_webcast_gifts
client = AuthenticatedClient(base_url="https://api.eulerstream.com", token="YOUR_API_KEY")
with client as c:
# Look up any TikTok user by @username
user = retrieve_tik_tok_user_basic.sync(unique_id="tv_asahi_news", client=c)
print(user.user.nickname)
# Browse the TikTok LIVE gift catalog
catalog = list_webcast_gifts.sync(client=c)
print(len(catalog.gifts), "gifts")
Per-language SDK docs: TypeScript · Python · C# · Java · Go
Subscribe to every real-time event from a TikTok LIVE stream using only the creator's @username:
Beyond the event stream, the REST API covers the gift catalog, room covers and video URLs, bulk live checks, creator leaderboards and rankings, and moderation actions (bans, mutes, sensitive words, moderator management). The full route catalog is on the pricing page.
Several popular open-source TikTok LIVE libraries integrate with EulerStream out of the box:
| Library | Language | Repo |
|---|---|---|
| TikTok-Live-Connector | Node.js | zerodytrash/TikTok-Live-Connector |
| TikTokLive | Python | isaackogan/TikTokLive |
| TikTokLiveSharp | C# / Unity | frankvHoof93/TikTokLiveSharp |
| TikTokLiveJava | Java | jwdeveloper/TikTokLiveJava |
| TikTokLiveRust | Rust | jwdeveloper/TikTokLiveRust |
| gotiktoklive | Go | steampoweredtaco/gotiktoklive |
| Community | Business | Enterprise | |
|---|---|---|---|
| Price | Free, forever | $50/month (48-hour free trial) | Custom |
| Requests / day | 2,500 | 10,000 | 250,000+ |
| Cloud WebSockets | 25 | 100 | 1,500+ |
| TikTok LIVE alerts | 5 | 50 | 1,000+ |
| TikTok image CDN | Basic | Full | Full |
Add-ons such as premium webcast routes, priority API requests, signature routes, CAPTCHA routes, and ranking catalog routes are available on paid plans. See eulerstream.com/pricing for current details.
SDKs are generated via GitHub Actions from the OpenAPI document committed at spec/openapi.json. It is the public document the API server emits from its own source (openapi:emit -- --public in the euler-api-server app), so a release is generated from a reviewed, versioned spec rather than from whatever a running server happens to serve. Refresh it with scripts/refresh-spec.sh <path-to-euler-api-server-app>, which also refreshes the private SDK's full document, then commit the result.
| Workflow | Purpose |
|---|---|
| Dry Run | Generate and build SDKs without publishing (validation only) |
| Release | Generate, version, and publish to npm / PyPI / NuGet / Maven Central / Go tags |
Releases are triggered manually via the GitHub Actions "Run workflow" button. Nothing publishes automatically on push.
Does TikTok have an official LIVE API for chat and gifts? No. TikTok does not offer an official public API for reading LIVE stream interaction data (chats, gifts, likes) in real time. EulerStream provides a managed API that connects to TikTok's LIVE (webcast) service so you can receive these events over a WebSocket.
How do I read TikTok LIVE chat and gifts in real time?
Install an SDK above, add your API key, and subscribe to events for any streamer by their @username. Chat, gifts, likes, follows, viewer counts, and PK battle events arrive as they happen.
Which languages are supported? Node.js/TypeScript, Python, C#, Java, and Go, plus a language-agnostic WebSocket for everything else.
Is there a free tier? Yes. The Community tier is free forever and includes 2,500 requests per day, 25 cloud WebSockets, and 5 LIVE alerts. Higher limits and additional routes are available on the Business ($50/month) and Enterprise plans.
Is this affiliated with TikTok? No. This is an independent, unofficial third-party project. It is not affiliated with, endorsed by, or connected to TikTok or ByteDance.
![]() |
EulerStream: managed TikTok LIVE WebSocket connections, 250,000+ requests/day, LIVE alerts, JWT auth, and dedicated support.
Need custom volume or SLAs? Schedule a call. |
Questions, issues, or feedback? Join the EulerStream Discord or open a GitHub issue.
TikTok LIVE API Client - The #1 Worldwide freemium SaaS API for TikTok LIVE data retrieval, offered in all major languages!
See the codeThe TikTok LIVE API allows you to connect to any TikTok LIVE stream and receive real-time chat messages, gifts, likes, follows, shares, viewer counts, room stats, and PK battles over a single managed WebSocket. Official SDKs for Node.js/TypeScript, Python, C#, Java, and Go. Powered by EulerStream, the managed backend behind the popular TikTokLive library.
Updated for 2026. Managed connections that keep working when TikTok changes. No protobuf parsing, no reverse engineering, no maintenance on your side.
TikTok does not publish an official public API for reading LIVE stream interaction data (chat, gifts, likes) in real time. EulerStream fills that gap with a managed API used in production for live overlays, stream alerts, TikTok LIVE games, chatbots, and analytics dashboards.
The core difference from self-hosted libraries is who carries the maintenance burden. Reverse-engineered connections break whenever TikTok updates its webcast protocol, and your own IP is exposed to TikTok directly. With EulerStream, the connection layer is hosted and maintained for you.
| EulerStream | Self-hosted / reverse-engineered | |
|---|---|---|
| Real-time chat, gifts, likes, follows, viewers, PK battles | Yes | Yes |
| Managed WebSocket (your IP never touches TikTok) | Yes | No |
| Keeps working when TikTok updates | Yes | Needs manual upkeep |
| Official SDKs in 5 languages | Yes | Varies |
| JWT auth, LIVE alerts, moderation routes | Yes | No |
| Free community tier | Yes | Yes |
Full API documentation and the interactive OpenAPI spec live at eulerstream.com/docs.
| Language | Package | Install |
|---|---|---|
| TypeScript / Node.js | tiktok-live-api-sdk | npm i tiktok-live-api-sdk |
| Python | EulerApiSdk | pip install EulerApiSdk |
| C# / .NET | EulerApiSdk | dotnet add package EulerApiSdk |
| Java | com.eulerstream:euler-api-sdk | Maven / Gradle |
| Go | github.com/EulerStream/TikTok-Live-Api/sdk/go | go get github.com/EulerStream/TikTok-Live-Api/sdk/go |
Everything else can use the language-agnostic WebSocket directly. A payload decoder tool is available for debugging.
import EulerStreamApiClient from "tiktok-live-api-sdk";
const client = new EulerStreamApiClient({ apiKey: "YOUR_API_KEY" });
// Look up any TikTok user by @username
const user = await client.tikTokUsers.retrieveTikTokUserBasic("tv_asahi_news");
console.log(user.data.user?.nickname);
// Browse the TikTok LIVE gift catalog
const catalog = await client.gifts.listWebcastGifts();
console.log(catalog.data.gifts?.length, "gifts");
// Business plan: fetch the TikTok LIVE WebSocket URL straight from the creator's @username
const webcast = await client.anchors.fetchWebcastURLByUniqueId("tv_asahi_news");
from EulerApiSdk import AuthenticatedClient
from EulerApiSdk.api.tik_tok_users import retrieve_tik_tok_user_basic
from EulerApiSdk.api.tik_tok_live_gifts import list_webcast_gifts
client = AuthenticatedClient(base_url="https://api.eulerstream.com", token="YOUR_API_KEY")
with client as c:
# Look up any TikTok user by @username
user = retrieve_tik_tok_user_basic.sync(unique_id="tv_asahi_news", client=c)
print(user.user.nickname)
# Browse the TikTok LIVE gift catalog
catalog = list_webcast_gifts.sync(client=c)
print(len(catalog.gifts), "gifts")
Per-language SDK docs: TypeScript · Python · C# · Java · Go
Subscribe to every real-time event from a TikTok LIVE stream using only the creator's @username:
Beyond the event stream, the REST API covers the gift catalog, room covers and video URLs, bulk live checks, creator leaderboards and rankings, and moderation actions (bans, mutes, sensitive words, moderator management). The full route catalog is on the pricing page.
Several popular open-source TikTok LIVE libraries integrate with EulerStream out of the box:
| Library | Language | Repo |
|---|---|---|
| TikTok-Live-Connector | Node.js | zerodytrash/TikTok-Live-Connector |
| TikTokLive | Python | isaackogan/TikTokLive |
| TikTokLiveSharp | C# / Unity | frankvHoof93/TikTokLiveSharp |
| TikTokLiveJava | Java | jwdeveloper/TikTokLiveJava |
| TikTokLiveRust | Rust | jwdeveloper/TikTokLiveRust |
| gotiktoklive | Go | steampoweredtaco/gotiktoklive |
| Community | Business | Enterprise | |
|---|---|---|---|
| Price | Free, forever | $50/month (48-hour free trial) | Custom |
| Requests / day | 2,500 | 10,000 | 250,000+ |
| Cloud WebSockets | 25 | 100 | 1,500+ |
| TikTok LIVE alerts | 5 | 50 | 1,000+ |
| TikTok image CDN | Basic | Full | Full |
Add-ons such as premium webcast routes, priority API requests, signature routes, CAPTCHA routes, and ranking catalog routes are available on paid plans. See eulerstream.com/pricing for current details.
SDKs are generated via GitHub Actions from the OpenAPI document committed at spec/openapi.json. It is the public document the API server emits from its own source (openapi:emit -- --public in the euler-api-server app), so a release is generated from a reviewed, versioned spec rather than from whatever a running server happens to serve. Refresh it with scripts/refresh-spec.sh <path-to-euler-api-server-app>, which also refreshes the private SDK's full document, then commit the result.
| Workflow | Purpose |
|---|---|
| Dry Run | Generate and build SDKs without publishing (validation only) |
| Release | Generate, version, and publish to npm / PyPI / NuGet / Maven Central / Go tags |
Releases are triggered manually via the GitHub Actions "Run workflow" button. Nothing publishes automatically on push.
Does TikTok have an official LIVE API for chat and gifts? No. TikTok does not offer an official public API for reading LIVE stream interaction data (chats, gifts, likes) in real time. EulerStream provides a managed API that connects to TikTok's LIVE (webcast) service so you can receive these events over a WebSocket.
How do I read TikTok LIVE chat and gifts in real time?
Install an SDK above, add your API key, and subscribe to events for any streamer by their @username. Chat, gifts, likes, follows, viewer counts, and PK battle events arrive as they happen.
Which languages are supported? Node.js/TypeScript, Python, C#, Java, and Go, plus a language-agnostic WebSocket for everything else.
Is there a free tier? Yes. The Community tier is free forever and includes 2,500 requests per day, 25 cloud WebSockets, and 5 LIVE alerts. Higher limits and additional routes are available on the Business ($50/month) and Enterprise plans.
Is this affiliated with TikTok? No. This is an independent, unofficial third-party project. It is not affiliated with, endorsed by, or connected to TikTok or ByteDance.
![]() |
EulerStream: managed TikTok LIVE WebSocket connections, 250,000+ requests/day, LIVE alerts, JWT auth, and dedicated support.
Need custom volume or SLAs? Schedule a call. |
Questions, issues, or feedback? Join the EulerStream Discord or open a GitHub issue.