Skip to main content
TikTokLive uses a series of global defaults to create the HTTP client. You can customize these settings to modify headers, URLs, cookies, and more.

What are WebDefaults?

WebDefaults is a global configuration object that controls how TikTokLive interacts with TikTok’s servers. These settings must be configured before creating a TikTokLiveClient instance.
Always configure WebDefaults before creating your client. Changes made after client creation will not take effect.

Available Parameters

ParameterTypeDescription
tiktok_sign_api_keystrEuler Stream API key to increase rate limits
tiktok_app_urlstrTikTok app URL (default: https://www.tiktok.com)
tiktok_sign_urlstrSignature server URL for generating tokens
tiktok_webcast_urlstrTikTok livestream URL (default: https://webcast.tiktok.com)
web_client_paramsdictURL parameters for TikTok HTTP requests
web_client_headersdictHeaders for TikTok HTTP requests
web_client_cookiesdictCustom cookies for the HTTP client
ws_client_paramsdictURL parameters for WebSocket connection
ws_client_params_append_strstrExtra string data for WebSocket URI
ws_client_headersdictExtra headers for WebSocket client
ja3_impersonatestrJA3 fingerprint to impersonate

Basic Usage

1

Import WebDefaults

from TikTokLive import TikTokLiveClient
from TikTokLive.client.web.web_settings import WebDefaults
2

Configure settings before client creation

# Override default HTTP settings
WebDefaults.tiktok_sign_url = "https://my-sign-server.com"
WebDefaults.web_client_headers['my_new_header'] = "my-new-value"
3

Create the client

client: TikTokLiveClient = TikTokLiveClient(
    unique_id="@username"
)

Complete Example

from TikTokLive.client.client import TikTokLiveClient
from TikTokLive.client.logger import LogLevel
from TikTokLive.client.web.web_settings import WebDefaults
from TikTokLive.events import ConnectEvent

# *Before* creating a client, you can override the default HTTP settings
WebDefaults.tiktok_sign_url = "https://my-sign-server.com"
WebDefaults.web_client_headers['my_new_header'] = "my-new-value"

# Create the client
client: TikTokLiveClient = TikTokLiveClient(
    unique_id="@tv_asahi_news",
)


@client.on(ConnectEvent)
async def on_connect(event: ConnectEvent):
    client.logger.info(f"Connected to {event.unique_id}!")


if __name__ == '__main__':
    client.logger.setLevel(LogLevel.INFO.value)
    client.run()

Common Use Cases

Custom Headers

Add custom headers to all HTTP requests:
WebDefaults.web_client_headers['User-Agent'] = "MyCustomUserAgent/1.0"
WebDefaults.web_client_headers['X-Custom-Header'] = "custom-value"

Custom Cookies

Set custom cookies for the HTTP client:
WebDefaults.web_client_cookies = {
    'session_id': 'your-session-id',
    'preference': 'dark-mode'
}

Custom Signature Server

Use your own signature server instead of Euler Stream:
WebDefaults.tiktok_sign_url = "https://your-signature-server.com"
If you have an Euler Stream API key, set it to increase rate limits:
WebDefaults.tiktok_sign_api_key = "your-api-key-here"

WebSocket Parameters

Modify WebSocket connection parameters:
WebDefaults.ws_client_headers['X-Custom-WS-Header'] = "value"
WebDefaults.ws_client_params['custom_param'] = "param_value"

Advanced Configuration

URL Parameters

Add custom URL parameters to HTTP requests:
WebDefaults.web_client_params = {
    'lang': 'en',
    'region': 'US'
}

JA3 Fingerprint

Set a custom JA3 fingerprint for browser impersonation:
WebDefaults.ja3_impersonate = "chrome_108"
The JA3 fingerprint should match the current version on the Sign Server, or privileged methods will fail.

Best Practices

  1. Configure before client creation - Always set WebDefaults before instantiating TikTokLiveClient
  2. Don’t modify during runtime - Changes to WebDefaults affect all future client instances
  3. Keep credentials secure - Never hardcode API keys or session tokens in your source code
  4. Test changes - Verify that custom configurations don’t break connectivity
WebDefaults is a global singleton. Changes affect all TikTokLiveClient instances created afterward.

Build docs developers (and LLMs) love