tiktok-live-api 1.4.2 ā 1.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -33
- package/dist/index.d.mts +6 -6
- package/dist/index.d.ts +6 -6
- package/package.json +84 -84
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
> š **Full documentation, guides, and dashboard ā [tik.tools](https://tik.tools)** | š **Python SDK ā [tik.tools/guides/python-tiktok-live](https://tik.tools/guides/python-tiktok-live)** | š **WebSocket API ā [tik.tools/websocket](https://tik.tools/websocket)**
|
|
8
8
|
|
|
9
|
-
**Unofficial TikTok LIVE API Client for Node.js & TypeScript**
|
|
9
|
+
**Unofficial TikTok LIVE API Client for Node.js & TypeScript** - Connect to any TikTok LIVE stream and receive real-time chat messages, gifts, likes, follows, viewer counts, battles, and more. Includes AI-powered live captions (speech-to-text). Powered by the [TikTool](https://tik.tools) managed API.
|
|
10
10
|
|
|
11
11
|
[](https://www.npmjs.com/package/tiktok-live-api)
|
|
12
12
|
[](https://www.npmjs.com/package/tiktok-live-api)
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
[](https://github.com/tiktool/tiktok-live-api/blob/main/LICENSE)
|
|
15
15
|
|
|
16
16
|
<p align="center">
|
|
17
|
-
<img src="https://raw.githubusercontent.com/tiktool/tiktok-live-api/main/tiktok-live-api.gif" alt="TikTok Live API Demo
|
|
17
|
+
<img src="https://raw.githubusercontent.com/tiktool/tiktok-live-api/main/tiktok-live-api.gif" alt="TikTok Live API Demo - real-time chat, gifts, and viewer events" width="700">
|
|
18
18
|
</p>
|
|
19
19
|
|
|
20
|
-
> This package is **not affiliated with or endorsed by TikTok**. It connects to the [TikTool Live](https://tik.tools) managed API service
|
|
20
|
+
> This package is **not affiliated with or endorsed by TikTok**. It connects to the [TikTool Live](https://tik.tools) managed API service - 99.9% uptime, no reverse engineering, no maintenance required. Also available for [Python](https://pypi.org/project/tiktok-live-api/) and [any language via WebSocket](https://tik.tools/docs).
|
|
21
21
|
|
|
22
22
|
## Install
|
|
23
23
|
|
|
@@ -66,14 +66,14 @@ That's it. **No complex setup, no protobuf, no reverse engineering, no breakages
|
|
|
66
66
|
|
|
67
67
|
---
|
|
68
68
|
|
|
69
|
-
## š Try It Now
|
|
69
|
+
## š Try It Now - Live Demo
|
|
70
70
|
|
|
71
|
-
Copy-paste this into a file and run it. Connects to a live TikTok stream and prints every event in real time. Works on the free Community tier
|
|
71
|
+
Copy-paste this into a file and run it. Connects to a live TikTok stream and prints every event in real time. Works on the free Community tier - 2 hours per WebSocket connection.
|
|
72
72
|
|
|
73
73
|
**Save as `demo.mjs` and run with `node demo.mjs`:**
|
|
74
74
|
|
|
75
75
|
```javascript
|
|
76
|
-
// demo.mjs
|
|
76
|
+
// demo.mjs - TikTok LIVE in real time
|
|
77
77
|
// npm install tiktok-live-api
|
|
78
78
|
import { TikTokLive } from 'tiktok-live-api';
|
|
79
79
|
|
|
@@ -90,7 +90,7 @@ client.on('member', e => { events++; console.log(`š ${e.user.uniqueId} j
|
|
|
90
90
|
client.on('follow', e => { events++; console.log(`ā ${e.user.uniqueId} followed`); });
|
|
91
91
|
client.on('roomUserSeq', e => { events++; console.log(`š Viewers: ${e.viewerCount}`); });
|
|
92
92
|
|
|
93
|
-
client.on('connected', () => console.log(`\nā
Connected to @${LIVE_USERNAME}
|
|
93
|
+
client.on('connected', () => console.log(`\nā
Connected to @${LIVE_USERNAME} - streaming events...\n`));
|
|
94
94
|
client.on('disconnected', () => console.log(`\nš Disconnected. Received ${events} events.\n`));
|
|
95
95
|
|
|
96
96
|
client.connect();
|
|
@@ -101,7 +101,7 @@ client.connect();
|
|
|
101
101
|
<summary><strong>š Pure WebSocket version (no SDK, any language)</strong></summary>
|
|
102
102
|
|
|
103
103
|
```javascript
|
|
104
|
-
// ws-demo.mjs
|
|
104
|
+
// ws-demo.mjs - Pure WebSocket, zero SDK
|
|
105
105
|
// npm install ws
|
|
106
106
|
import WebSocket from 'ws';
|
|
107
107
|
|
|
@@ -111,7 +111,7 @@ const LIVE_USERNAME = 'tv_asahi_news';
|
|
|
111
111
|
const ws = new WebSocket(`wss://api.tik.tools?uniqueId=${LIVE_USERNAME}&apiKey=${API_KEY}`);
|
|
112
112
|
let events = 0;
|
|
113
113
|
|
|
114
|
-
ws.on('open', () => console.log(`\nā
Connected to @${LIVE_USERNAME}
|
|
114
|
+
ws.on('open', () => console.log(`\nā
Connected to @${LIVE_USERNAME} - streaming events...\n`));
|
|
115
115
|
ws.on('message', (raw) => {
|
|
116
116
|
const msg = JSON.parse(raw);
|
|
117
117
|
events++;
|
|
@@ -190,7 +190,7 @@ client.connect();
|
|
|
190
190
|
| `subscribe` | New subscriber | `user` |
|
|
191
191
|
| `roomUserSeq` | Viewer count | `viewerCount`, `topViewers` |
|
|
192
192
|
| `battle` | PK start / end / status change | `battleId`, `status` (1=ACTIVE / 2=STARTING / 3=ENDED / 4=PREPARING), `battleDuration`, `teams` |
|
|
193
|
-
| `battleArmies` | Live PK score update | `battleId`, `status`, `matchId`, `sessionId`, `durationSec`, `secsRemaining`, `hosts[]`
|
|
193
|
+
| `battleArmies` | Live PK score update | `battleId`, `status`, `matchId`, `sessionId`, `durationSec`, `secsRemaining`, `hosts[]` - each host has `teamTotalScore` + `contributors[]` (MVP first) |
|
|
194
194
|
| `battleItemCard` | Booster multipliers, gloves, mist, match-guide, thunder, extra-time | `effect` (`'gloves'` / `'mist'` / `'booster_x2'` / `'booster_x3'` / `'match_guide'` / ...), `multiplier` (2 or 3), `senderUserId`, `senderNickname`, `activatedAtSec`, `durationSec`, `endsAtSec`, `commentTemplate` |
|
|
195
195
|
| `roomPin` | Pinned/starred message | `user`, `comment`, `action`, `durationSeconds` |
|
|
196
196
|
| `envelope` | Treasure chest | `diamonds`, `user` |
|
|
@@ -231,7 +231,7 @@ await client.connect();
|
|
|
231
231
|
|
|
232
232
|
## Live Captions (Speech-to-Text)
|
|
233
233
|
|
|
234
|
-
Transcribe and translate any TikTok LIVE stream in real-time. **This feature is unique to TikTool Live
|
|
234
|
+
Transcribe and translate any TikTok LIVE stream in real-time. **This feature is unique to TikTool Live - no other TikTok library offers it.**
|
|
235
235
|
|
|
236
236
|
```typescript
|
|
237
237
|
import { TikTokCaptions } from 'tiktok-live-api';
|
|
@@ -291,7 +291,7 @@ client.on('chat', (event) => {
|
|
|
291
291
|
.sort((a, b) => b[1] - a[1])
|
|
292
292
|
.slice(0, 5);
|
|
293
293
|
top.forEach(([name, diamonds], i) => {
|
|
294
|
-
console.log(` ${i + 1}. ${name}
|
|
294
|
+
console.log(` ${i + 1}. ${name} - ${diamonds} š`);
|
|
295
295
|
});
|
|
296
296
|
}
|
|
297
297
|
});
|
|
@@ -314,7 +314,7 @@ import { TikTokLive, ChatEvent, GiftEvent } from 'tiktok-live-api';
|
|
|
314
314
|
|
|
315
315
|
const client = new TikTokLive('streamer', { apiKey: 'KEY' });
|
|
316
316
|
|
|
317
|
-
// Full autocompletion
|
|
317
|
+
// Full autocompletion - your IDE knows the type of `event`
|
|
318
318
|
client.on('chat', (event: ChatEvent) => {
|
|
319
319
|
console.log(event.user.uniqueId); // ā typed
|
|
320
320
|
console.log(event.comment); // ā typed
|
|
@@ -337,12 +337,12 @@ client.on('gift', (event: GiftEvent) => {
|
|
|
337
337
|
| `maxReconnectAttempts` | `number` | `5` | Max reconnection attempts |
|
|
338
338
|
|
|
339
339
|
**Methods:**
|
|
340
|
-
- `client.on(event, handler)`
|
|
341
|
-
- `client.off(event, handler)`
|
|
342
|
-
- `client.connect()`
|
|
343
|
-
- `client.disconnect()`
|
|
344
|
-
- `client.connected`
|
|
345
|
-
- `client.eventCount`
|
|
340
|
+
- `client.on(event, handler)` - Register event handler
|
|
341
|
+
- `client.off(event, handler)` - Remove event handler
|
|
342
|
+
- `client.connect()` - Connect to stream (returns Promise)
|
|
343
|
+
- `client.disconnect()` - Disconnect from stream
|
|
344
|
+
- `client.connected` - Whether currently connected
|
|
345
|
+
- `client.eventCount` - Total events received
|
|
346
346
|
|
|
347
347
|
### `new TikTokCaptions(uniqueId, options?)`
|
|
348
348
|
|
|
@@ -354,11 +354,11 @@ client.on('gift', (event: GiftEvent) => {
|
|
|
354
354
|
| `maxDurationMinutes` | `number` | `60` | Auto-disconnect timer |
|
|
355
355
|
|
|
356
356
|
**Methods:**
|
|
357
|
-
- `captions.on(event, handler)`
|
|
358
|
-
- `captions.off(event, handler)`
|
|
359
|
-
- `captions.connect()`
|
|
360
|
-
- `captions.disconnect()`
|
|
361
|
-
- `captions.connected`
|
|
357
|
+
- `captions.on(event, handler)` - Register event handler
|
|
358
|
+
- `captions.off(event, handler)` - Remove event handler
|
|
359
|
+
- `captions.connect()` - Start receiving captions (returns Promise)
|
|
360
|
+
- `captions.disconnect()` - Stop receiving captions
|
|
361
|
+
- `captions.connected` - Whether currently connected
|
|
362
362
|
|
|
363
363
|
## Why tiktok-live-api?
|
|
364
364
|
|
|
@@ -368,7 +368,7 @@ client.on('gift', (event: GiftEvent) => {
|
|
|
368
368
|
| **TypeScript** | ā First-class, fully typed | Partial | N/A |
|
|
369
369
|
| **Live Captions** | ā AI speech-to-text | ā | ā |
|
|
370
370
|
| **Translation** | ā Real-time, 50+ languages | ā | ā |
|
|
371
|
-
| **Maintenance** | ā Zero
|
|
371
|
+
| **Maintenance** | ā Zero - we handle it | ā You fix breakages | ā You fix breakages |
|
|
372
372
|
| **CAPTCHA Solving** | ā Built-in (Pro+) | ā | ā |
|
|
373
373
|
| **Feed Discovery** | ā See who's live | ā | ā |
|
|
374
374
|
| **Free Tier** | ā 2,500 req/day, 15 WS, 2h per WS | ā Free (unreliable) | ā Free (unreliable) |
|
|
@@ -379,18 +379,18 @@ client.on('gift', (event: GiftEvent) => {
|
|
|
379
379
|
| Tier | Requests/Day | WebSocket Connections | Price |
|
|
380
380
|
|------|-------------|----------------------|-------|
|
|
381
381
|
| Community | 2,500 | 15 (2h per WS) | Free forever |
|
|
382
|
-
| Pro | 75,000 | 50 (8h per WS) | from $
|
|
383
|
-
| Ultra | 300,000 | 250 (8h per WS) | from $
|
|
384
|
-
| **Global Agency** | 300,000 | 500 (8h per WS) + Firehose | $549/mo +tax |
|
|
382
|
+
| Pro | 75,000 | 50 (8h per WS) | from $19/wk +tax |
|
|
383
|
+
| Ultra | 300,000 | 250 (8h per WS) | from $69/wk +tax |
|
|
384
|
+
| **Global Agency** | 300,000 | 500 (8h per WS) + Firehose | $149/wk or $549/mo +tax |
|
|
385
385
|
|
|
386
386
|
Full plan details at [tik.tools/pricing](https://tik.tools/pricing). Highlights:
|
|
387
387
|
|
|
388
|
-
- **Community** ($0 forever): 2,500 req/day Ā· 15 WS Ā· 2 hours per connection Ā· masked leaderboards. Designed for devs building apps
|
|
389
|
-
- **Pro** (
|
|
390
|
-
- **Ultra** (
|
|
391
|
-
- **Global Agency** ($549/mo): Everything in Ultra + **Live Gifter Firehose WS** (region/league/global filters, min-diamond threshold) + VIP Telegram alerts + VIP Web Vault (unmasked historical visual access)
|
|
388
|
+
- **Community** ($0 forever): 2,500 req/day Ā· 15 WS Ā· 2 hours per connection Ā· masked leaderboards. Designed for devs building apps - upgrade when you need real usernames. No datacenter proxies; calls must come from your own IP.
|
|
389
|
+
- **Pro** ($19/wk): 75K req/day Ā· 50 WS Ā· unmasked leaderboards Ā· Feed Discovery Ā· 5 AI caption streams Ā· priority routing Ā· chat support
|
|
390
|
+
- **Ultra** ($69/wk): 300K req/day Ā· 250 WS Ā· 20 AI caption streams Ā· **League Rankings API** unmasked Ā· 99.5% uptime SLA Ā· priority chat support
|
|
391
|
+
- **Global Agency** ($149/wk or $549/mo): Everything in Ultra + **Live Gifter Firehose WS** (region/league/global filters, min-diamond threshold) + VIP Telegram alerts + VIP Web Vault (unmasked historical visual access)
|
|
392
392
|
|
|
393
|
-
### Live Gifter Firehose
|
|
393
|
+
### Live Gifter Firehose - Global Agency
|
|
394
394
|
|
|
395
395
|
Real-time gift event stream from our Dragonfly fan-out. Filter by region, league, or globally; cap by minimum diamond threshold. Mid-stream filter updates supported via `update_filter` frame, no reconnect needed.
|
|
396
396
|
|
package/dist/index.d.mts
CHANGED
|
@@ -69,7 +69,7 @@ interface BattleEvent {
|
|
|
69
69
|
teams: Array<Record<string, unknown>>;
|
|
70
70
|
scores: number[];
|
|
71
71
|
}
|
|
72
|
-
/** One host on a battle side
|
|
72
|
+
/** One host on a battle side - present per-host in multi-guest PK. */
|
|
73
73
|
interface BattleHost {
|
|
74
74
|
hostUserId: string;
|
|
75
75
|
teamTotalScore: number;
|
|
@@ -82,7 +82,7 @@ interface BattleContributor {
|
|
|
82
82
|
score: number;
|
|
83
83
|
nickname: string;
|
|
84
84
|
}
|
|
85
|
-
/** Payload for `battleArmies` events
|
|
85
|
+
/** Payload for `battleArmies` events - score updates during PK. */
|
|
86
86
|
interface BattleArmiesEvent {
|
|
87
87
|
battleId: string;
|
|
88
88
|
/** 1=ACTIVE, 2=STARTING, 3=ENDED, 4=PREPARING */
|
|
@@ -98,7 +98,7 @@ interface BattleArmiesEvent {
|
|
|
98
98
|
/** Per-host breakdown with MVP contributors. */
|
|
99
99
|
hosts?: BattleHost[];
|
|
100
100
|
}
|
|
101
|
-
/** Payload for `battleItemCard` events
|
|
101
|
+
/** Payload for `battleItemCard` events - multipliers (x2/x3), gloves, mist, etc. */
|
|
102
102
|
interface BattleItemCardEvent {
|
|
103
103
|
battleId: string;
|
|
104
104
|
cardType: number;
|
|
@@ -212,7 +212,7 @@ interface TikTokCaptionsEventMap {
|
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
/**
|
|
215
|
-
* TikTokLive
|
|
215
|
+
* TikTokLive - Connect to any TikTok LIVE stream via WebSocket.
|
|
216
216
|
*
|
|
217
217
|
* Receives real-time events: chat messages, gifts, likes, follows,
|
|
218
218
|
* viewer counts, battles, and more. Powered by the TikTool managed API.
|
|
@@ -327,10 +327,10 @@ declare class TikTokLive {
|
|
|
327
327
|
}
|
|
328
328
|
|
|
329
329
|
/**
|
|
330
|
-
* TikTokCaptions
|
|
330
|
+
* TikTokCaptions - Real-time AI speech-to-text for TikTok LIVE streams.
|
|
331
331
|
*
|
|
332
332
|
* Transcribe and translate any TikTok LIVE stream in real-time.
|
|
333
|
-
* This feature is unique to TikTool Live
|
|
333
|
+
* This feature is unique to TikTool Live - no other service offers it.
|
|
334
334
|
*
|
|
335
335
|
* @example
|
|
336
336
|
* ```typescript
|
package/dist/index.d.ts
CHANGED
|
@@ -69,7 +69,7 @@ interface BattleEvent {
|
|
|
69
69
|
teams: Array<Record<string, unknown>>;
|
|
70
70
|
scores: number[];
|
|
71
71
|
}
|
|
72
|
-
/** One host on a battle side
|
|
72
|
+
/** One host on a battle side - present per-host in multi-guest PK. */
|
|
73
73
|
interface BattleHost {
|
|
74
74
|
hostUserId: string;
|
|
75
75
|
teamTotalScore: number;
|
|
@@ -82,7 +82,7 @@ interface BattleContributor {
|
|
|
82
82
|
score: number;
|
|
83
83
|
nickname: string;
|
|
84
84
|
}
|
|
85
|
-
/** Payload for `battleArmies` events
|
|
85
|
+
/** Payload for `battleArmies` events - score updates during PK. */
|
|
86
86
|
interface BattleArmiesEvent {
|
|
87
87
|
battleId: string;
|
|
88
88
|
/** 1=ACTIVE, 2=STARTING, 3=ENDED, 4=PREPARING */
|
|
@@ -98,7 +98,7 @@ interface BattleArmiesEvent {
|
|
|
98
98
|
/** Per-host breakdown with MVP contributors. */
|
|
99
99
|
hosts?: BattleHost[];
|
|
100
100
|
}
|
|
101
|
-
/** Payload for `battleItemCard` events
|
|
101
|
+
/** Payload for `battleItemCard` events - multipliers (x2/x3), gloves, mist, etc. */
|
|
102
102
|
interface BattleItemCardEvent {
|
|
103
103
|
battleId: string;
|
|
104
104
|
cardType: number;
|
|
@@ -212,7 +212,7 @@ interface TikTokCaptionsEventMap {
|
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
/**
|
|
215
|
-
* TikTokLive
|
|
215
|
+
* TikTokLive - Connect to any TikTok LIVE stream via WebSocket.
|
|
216
216
|
*
|
|
217
217
|
* Receives real-time events: chat messages, gifts, likes, follows,
|
|
218
218
|
* viewer counts, battles, and more. Powered by the TikTool managed API.
|
|
@@ -327,10 +327,10 @@ declare class TikTokLive {
|
|
|
327
327
|
}
|
|
328
328
|
|
|
329
329
|
/**
|
|
330
|
-
* TikTokCaptions
|
|
330
|
+
* TikTokCaptions - Real-time AI speech-to-text for TikTok LIVE streams.
|
|
331
331
|
*
|
|
332
332
|
* Transcribe and translate any TikTok LIVE stream in real-time.
|
|
333
|
-
* This feature is unique to TikTool Live
|
|
333
|
+
* This feature is unique to TikTool Live - no other service offers it.
|
|
334
334
|
*
|
|
335
335
|
* @example
|
|
336
336
|
* ```typescript
|
package/package.json
CHANGED
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "tiktok-live-api",
|
|
3
|
-
"version": "1.4.
|
|
4
|
-
"description": "Unofficial TikTok LIVE API Client
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"module": "dist/index.mjs",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"import": "./dist/index.mjs",
|
|
12
|
-
"require": "./dist/index.js"
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
"files": [
|
|
16
|
-
"dist",
|
|
17
|
-
"README.md",
|
|
18
|
-
"LICENSE"
|
|
19
|
-
],
|
|
20
|
-
"scripts": {
|
|
21
|
-
"build": "tsup src/index.ts --format cjs,esm --dts --clean",
|
|
22
|
-
"prepublishOnly": "npm run build"
|
|
23
|
-
},
|
|
24
|
-
"keywords": [
|
|
25
|
-
"tiktok",
|
|
26
|
-
"tiktok-live",
|
|
27
|
-
"tiktok-api",
|
|
28
|
-
"tiktok-live-api",
|
|
29
|
-
"tiktok-live-connector",
|
|
30
|
-
"tiktok-live-sdk",
|
|
31
|
-
"tiktok-websocket",
|
|
32
|
-
"tiktok-chat",
|
|
33
|
-
"tiktok-gifts",
|
|
34
|
-
"tiktok-bot",
|
|
35
|
-
"tiktok-data",
|
|
36
|
-
"tiktok-stream",
|
|
37
|
-
"tiktok-events",
|
|
38
|
-
"tiktok-viewer",
|
|
39
|
-
"live-streaming",
|
|
40
|
-
"live-chat",
|
|
41
|
-
"webcast",
|
|
42
|
-
"websocket",
|
|
43
|
-
"real-time",
|
|
44
|
-
"speech-to-text",
|
|
45
|
-
"captions",
|
|
46
|
-
"transcription",
|
|
47
|
-
"translation",
|
|
48
|
-
"tiktok-live-python",
|
|
49
|
-
"tiktok-tools",
|
|
50
|
-
"euler-stream",
|
|
51
|
-
"tiktoklive",
|
|
52
|
-
"tiktok-connector",
|
|
53
|
-
"tiktok-live-node",
|
|
54
|
-
"tiktok-live-js",
|
|
55
|
-
"tiktok-scraper",
|
|
56
|
-
"tiktok-monitoring",
|
|
57
|
-
"livestream-api"
|
|
58
|
-
],
|
|
59
|
-
"author": {
|
|
60
|
-
"name": "TikTool",
|
|
61
|
-
"email": "support@tik.tools",
|
|
62
|
-
"url": "https://tik.tools"
|
|
63
|
-
},
|
|
64
|
-
"license": "MIT",
|
|
65
|
-
"repository": {
|
|
66
|
-
"type": "git",
|
|
67
|
-
"url": "https://github.com/tiktool/tiktok-live-api"
|
|
68
|
-
},
|
|
69
|
-
"bugs": {
|
|
70
|
-
"url": "https://github.com/tiktool/tiktok-live-api/issues"
|
|
71
|
-
},
|
|
72
|
-
"homepage": "https://tik.tools",
|
|
73
|
-
"dependencies": {
|
|
74
|
-
"ws": "^8.16.0"
|
|
75
|
-
},
|
|
76
|
-
"devDependencies": {
|
|
77
|
-
"@types/ws": "^8.5.10",
|
|
78
|
-
"tsup": "^8.0.0",
|
|
79
|
-
"typescript": "^5.3.0"
|
|
80
|
-
},
|
|
81
|
-
"engines": {
|
|
82
|
-
"node": ">=16.0.0"
|
|
83
|
-
}
|
|
84
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "tiktok-live-api",
|
|
3
|
+
"version": "1.4.5",
|
|
4
|
+
"description": "Unofficial TikTok LIVE API Client - Real-time chat, gifts, viewers, battles, and AI live captions from any TikTok livestream. Managed WebSocket API with 99.9% uptime.",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.mjs",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.mjs",
|
|
12
|
+
"require": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"README.md",
|
|
18
|
+
"LICENSE"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsup src/index.ts --format cjs,esm --dts --clean",
|
|
22
|
+
"prepublishOnly": "npm run build"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"tiktok",
|
|
26
|
+
"tiktok-live",
|
|
27
|
+
"tiktok-api",
|
|
28
|
+
"tiktok-live-api",
|
|
29
|
+
"tiktok-live-connector",
|
|
30
|
+
"tiktok-live-sdk",
|
|
31
|
+
"tiktok-websocket",
|
|
32
|
+
"tiktok-chat",
|
|
33
|
+
"tiktok-gifts",
|
|
34
|
+
"tiktok-bot",
|
|
35
|
+
"tiktok-data",
|
|
36
|
+
"tiktok-stream",
|
|
37
|
+
"tiktok-events",
|
|
38
|
+
"tiktok-viewer",
|
|
39
|
+
"live-streaming",
|
|
40
|
+
"live-chat",
|
|
41
|
+
"webcast",
|
|
42
|
+
"websocket",
|
|
43
|
+
"real-time",
|
|
44
|
+
"speech-to-text",
|
|
45
|
+
"captions",
|
|
46
|
+
"transcription",
|
|
47
|
+
"translation",
|
|
48
|
+
"tiktok-live-python",
|
|
49
|
+
"tiktok-tools",
|
|
50
|
+
"euler-stream",
|
|
51
|
+
"tiktoklive",
|
|
52
|
+
"tiktok-connector",
|
|
53
|
+
"tiktok-live-node",
|
|
54
|
+
"tiktok-live-js",
|
|
55
|
+
"tiktok-scraper",
|
|
56
|
+
"tiktok-monitoring",
|
|
57
|
+
"livestream-api"
|
|
58
|
+
],
|
|
59
|
+
"author": {
|
|
60
|
+
"name": "TikTool",
|
|
61
|
+
"email": "support@tik.tools",
|
|
62
|
+
"url": "https://tik.tools"
|
|
63
|
+
},
|
|
64
|
+
"license": "MIT",
|
|
65
|
+
"repository": {
|
|
66
|
+
"type": "git",
|
|
67
|
+
"url": "https://github.com/tiktool/tiktok-live-api"
|
|
68
|
+
},
|
|
69
|
+
"bugs": {
|
|
70
|
+
"url": "https://github.com/tiktool/tiktok-live-api/issues"
|
|
71
|
+
},
|
|
72
|
+
"homepage": "https://tik.tools",
|
|
73
|
+
"dependencies": {
|
|
74
|
+
"ws": "^8.16.0"
|
|
75
|
+
},
|
|
76
|
+
"devDependencies": {
|
|
77
|
+
"@types/ws": "^8.5.10",
|
|
78
|
+
"tsup": "^8.0.0",
|
|
79
|
+
"typescript": "^5.3.0"
|
|
80
|
+
},
|
|
81
|
+
"engines": {
|
|
82
|
+
"node": ">=16.0.0"
|
|
83
|
+
}
|
|
84
|
+
}
|