Introducing the KickLogz API, Team Dashboard and Advanced Tracker Notifications 🚀
KickLogz API vv1

KickLogz API Documentation

Read-only access to streamer analytics, account metadata, and historical search jobs.

General

Connection details

Base URL, auth header, and basic API information.

Connection details
Base URL https://kicklogz.com/api/customer/v1
Base path /api/customer/v1
Auth header x-kicklogz-api-key
API key example klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Overview
Documented endpoints 56
Live now 55
Coming soon 1
The catalog endpoint returns only the launch-approved endpoints that the authenticated key can currently use.
Search is asynchronous: create a job first, then poll the job status endpoint until it completes.
Search endpoints charge base units multiplied by the plan searchUnitCostMultiplier.
Page size and date range limits depend on the endpoint and account plan and are enforced server-side on every request.
Quick setup

Start using the KickLogz API

Follow these steps to buy access, create a key, and send your first request.

Quick setup
  1. 1. Purchase access

    Buy a KickLogz API plan from the packages page.

    Open packages
  2. 2. Create an API key

    Open Profile > KickLogz API and create a key with the allowed streamer scope and endpoint families.

    Open profile
  3. 3. Send read-only requests

    Include x-kicklogz-api-key on every request. All KickLogz API endpoints are read-only.

Quick start cURL bash
curl -X GET "https://kicklogz.com/api/customer/v1/account" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Plans & limits

Available plans

Choose a plan and see its rate, quota, and streamer limits.

Starter 1 Streamer
  • 1 streamer
  • 20 RPM
  • 1 concurrency
  • 12,000 monthly units
  • 3 day search window
Scale 50 Streamers
  • 50 streamers
  • 60 RPM
  • 3 concurrency
  • 150,000 monthly units
  • 7 day search window
Enterprise Unlimited
  • Unlimited streamers
  • 120 RPM
  • 6 concurrency
  • 1,000,000 monthly units
  • 14 day search window
Roadmap

Coming soon endpoints

Preview endpoint families that are planned or built but not fully public yet.

1 Not live yet
1 Families queued
Errors

Error response format

Standard JSON error envelope returned by the KickLogz API.

JSON error response json
{
  "success": false,
  "status": 429,
  "error": "customer_api_rate_limit_exceeded",
  "message": "Per-minute rate limit exceeded.",
  "details": {
    "family": "streamer_profile",
    "rpmLimit": 20,
    "currentMinuteCount": 21
  },
  "retryAfterSeconds": 15
}
Endpoint explorer

Search the full endpoint catalog

Search by endpoint code, method, path, family, or description.

56 endpoints

Meta

Authentication, catalog, quota, and entitlement helper endpoints.

live total
GET

Account summary

/api/customer/v1/account
Live now 0 units Account scoped

Returns the authenticated account, key metadata, effective limits, and latest usage snapshot.

Use this first after key creation to confirm plan limits, environment, and whether search is enabled.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/account" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "version": "v1",
  "basePath": "/api/customer/v1",
  "account": {
    "id": "capi_acc_1001",
    "planCode": "starter_1",
    "status": "active",
    "allowAllStreamers": false,
    "streamerLimit": 1,
    "stripeSubscriptionId": "sub_1TDaI2P60eWI0gWuYDRV5o1E"
  },
  "apiKey": {
    "id": "capi_key_101",
    "label": "Production key",
    "prefix": "klz_live_0123456789abcdef",
    "environment": "live",
    "expiresAt": null,
    "lastUsedAt": "2026-03-22T02:25:17.000Z"
  },
  "limits": {
    "enabledFamilies": [
      "meta",
      "streamer_profile",
      "broadcast",
      "search",
      "kick_profile"
    ],
    "allowAllStreamers": false,
    "streamerLimit": 1,
    "maxPageSize": 100,
    "maxDateRangeDays": 7,
    "rpmLimit": 20,
    "concurrencyLimit": 1,
    "monthlyRequestLimit": 5000,
    "monthlyUnitLimit": 12000,
    "searchEnabled": true,
    "searchMaxDateRangeDays": 3,
    "searchRpmLimit": 6,
    "searchConcurrencyLimit": 1,
    "searchUnitCostMultiplier": 5
  },
  "usage": {
    "usageMonth": "2026-03-01",
    "limits": {
      "enabledFamilies": [
        "meta",
        "streamer_profile",
        "broadcast",
        "search",
        "kick_profile"
      ],
      "allowAllStreamers": false,
      "streamerLimit": 1,
      "maxPageSize": 100,
      "maxDateRangeDays": 7,
      "rpmLimit": 20,
      "concurrencyLimit": 1,
      "monthlyRequestLimit": 5000,
      "monthlyUnitLimit": 12000,
      "searchEnabled": true,
      "searchMaxDateRangeDays": 3,
      "searchRpmLimit": 6,
      "searchConcurrencyLimit": 1,
      "searchUnitCostMultiplier": 5
    },
    "usage": {
      "requestsUsed": 42,
      "unitsUsed": 118,
      "searchRequestsUsed": 4,
      "searchUnitsUsed": 80,
      "streamerProfileRequestsUsed": 18,
      "broadcastRequestsUsed": 0,
      "kickProfileRequestsUsed": 0
    },
    "remaining": {
      "requestsRemaining": 4958,
      "unitsRemaining": 11882
    }
  }
}
GET

Usage snapshot

/api/customer/v1/usage
Live now 0 units Account scoped

Returns current monthly request and unit usage for the authenticated account.

The payload includes both raw usage counters and remaining monthly quota.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/usage" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "version": "v1",
  "usage": {
    "usageMonth": "2026-03-01",
    "limits": {
      "enabledFamilies": [
        "meta",
        "streamer_profile",
        "broadcast",
        "search",
        "kick_profile"
      ],
      "allowAllStreamers": false,
      "streamerLimit": 1,
      "maxPageSize": 100,
      "maxDateRangeDays": 7,
      "rpmLimit": 20,
      "concurrencyLimit": 1,
      "monthlyRequestLimit": 5000,
      "monthlyUnitLimit": 12000,
      "searchEnabled": true,
      "searchMaxDateRangeDays": 3,
      "searchRpmLimit": 6,
      "searchConcurrencyLimit": 1,
      "searchUnitCostMultiplier": 5
    },
    "usage": {
      "requestsUsed": 42,
      "unitsUsed": 118,
      "searchRequestsUsed": 4,
      "searchUnitsUsed": 80,
      "streamerProfileRequestsUsed": 18,
      "broadcastRequestsUsed": 0,
      "kickProfileRequestsUsed": 0
    },
    "remaining": {
      "requestsRemaining": 4958,
      "unitsRemaining": 11882
    }
  }
}
GET

Live catalog

/api/customer/v1/catalog
Live now 0 units Account scoped

Returns only the launch-approved endpoints that the authenticated account can call today.

This is the best runtime source of truth if you want to discover the exact families and endpoints enabled for a specific key.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/catalog" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "version": "v1",
  "groups": [
    {
      "family": "meta",
      "endpoints": [
        {
          "code": "meta.account",
          "method": "GET",
          "path": "/api/customer/v1/account",
          "family": "meta",
          "units": 0,
          "implemented": true,
          "launchApproved": true,
          "backendStatus": "ready",
          "streamerScoped": false,
          "note": "Authenticated account summary and effective limits."
        }
      ]
    },
    {
      "family": "streamer_profile",
      "endpoints": [
        {
          "code": "streamer.summary",
          "method": "GET",
          "path": "/api/customer/v1/streamers/:slug",
          "family": "streamer_profile",
          "units": 1,
          "implemented": true,
          "launchApproved": true,
          "backendStatus": "ready",
          "streamerScoped": true,
          "note": null
        }
      ]
    }
  ]
}
GET

Streamer entitlements

/api/customer/v1/entitlements/streamers
Live now 0 units Account scoped

Lists the streamer slugs currently assigned to the authenticated account.

Useful when you manage many streamers and want to sync allowed slugs into your application.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/entitlements/streamers?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "version": "v1",
  "allowAllStreamers": false,
  "streamerLimit": 1,
  "data": [
    {
      "streamer_slug": "semm_usa",
      "channel_id": 50291333,
      "chatroom_id": 90500123,
      "display_name": "Semm USA",
      "source": "subscription_sync",
      "added_at": "2026-03-01T12:00:00.000Z",
      "created_at": "2026-03-01T12:00:00.000Z",
      "updated_at": "2026-03-01T12:00:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "totalItems": 1,
    "totalPages": 1
  }
}

Streamer profiles

Read-only streamer profile, chat, subscription, and analytics endpoints.

live total
GET

Streamer summary

/api/customer/v1/streamers/:slug
Live now 1 units Streamer scoped

Resolves a streamer slug into core profile context plus 30-day message totals.

Use this as the root record for streamer-level analytics dashboards.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z",
    "chatroom_id": 90500123,
    "channel_id": 50291333,
    "message_count": 183245,
    "message_count_30d": 183245
  }
}
GET

Unique chatters

/api/customer/v1/streamers/:slug/users
Live now 1 units Streamer scoped

Counts distinct users who sent at least one message during the last 30 days.

Good for DAU-style streamer activity analysis.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/users" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "uniqueUsers": 12453
}
GET

Emote usage total

/api/customer/v1/streamers/:slug/emotes
Live now 1 units Streamer scoped

Counts messages containing emotes during the last 30 days.

Returns a fast single-number aggregate for emote-heavy channels.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/emotes" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "totalEmotes": 28811
}
GET

First tracked message

/api/customer/v1/streamers/:slug/first-message
Live now 1 units Streamer scoped

Returns the earliest tracked chat message timestamp for the streamer.

Helpful when you want to know how far historical chat coverage goes for a channel.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/first-message" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "firstMessageDate": "2024-02-02T18:30:00.000Z"
}
GET

Latest chat messages

/api/customer/v1/streamers/:slug/messages
Live now 5 units Streamer scoped

Returns the most recent tracked chat messages for the streamer.

The endpoint is read-only and intended for recent chat previews or lightweight export tasks. You can request up to 250 recent messages in one call.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
limit integer

Maximum number of recent chat rows to return. Minimum 1, maximum 250.

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/messages?limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "messages": [
    {
      "id": "1827107192312",
      "user_id": 998811,
      "username": "viewer42",
      "slug": "semm_usa",
      "color": "#53FC18",
      "content": "gg wp",
      "created_at": "2026-03-21T21:20:11.000Z",
      "created_at_formatted": "2026-03-21T21:20:11.000Z"
    }
  ]
}
GET

Hourly activity chart

/api/customer/v1/streamers/:slug/charts/hourly-activity
Live now 2 units Streamer scoped

Returns 24 hourly buckets for recent streamer chat activity.

Useful for understanding which hours generate the most chat volume.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/charts/hourly-activity" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "labels": [
    "00:00",
    "01:00",
    "02:00",
    "03:00"
  ],
  "data": [
    184,
    97,
    65,
    41
  ]
}
GET

Daily trend

/api/customer/v1/streamers/:slug/charts/daily-trend
Live now 2 units Streamer scoped

Returns daily message totals for the recent trend window.

Good for plotting momentum and day-over-day streamer engagement.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/charts/daily-trend" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "labels": [
    "2026-03-16",
    "2026-03-17",
    "2026-03-18",
    "2026-03-19"
  ],
  "data": [
    1820,
    2103,
    1931,
    2218
  ]
}
GET

Most active chatters

/api/customer/v1/streamers/:slug/charts/active-users
Live now 2 units Streamer scoped

Returns the top usernames by message count for the recent window.

This endpoint is useful for leaderboard widgets or moderation dashboards.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/charts/active-users?limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "labels": [
    "viewer42",
    "viewer77",
    "viewer99"
  ],
  "data": [
    321,
    207,
    188
  ]
}
GET

Room settings history

/api/customer/v1/streamers/:slug/room-settings
Live now 2 units Streamer scoped

Returns the tracked moderation and room configuration history for the streamer chat.

Useful for auditing how room restrictions changed over time.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/room-settings" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "totalRoomSettings": 3,
  "roomSettings": [
    {
      "setting_type": "slow_mode",
      "enabled": true,
      "value": 10,
      "changed_by_username": "mod_jane",
      "created_at": "2026-03-19T15:00:00.000Z"
    }
  ]
}
GET

Subscription summary

/api/customer/v1/streamers/:slug/subscriptions
Live now 2 units Streamer scoped

Returns 30-day subscriber totals, latest normal/gifted subscribers, and top gifters.

Designed for overview cards without requiring multiple paginated calls.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/subscriptions?limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "totalSubscribers": {
    "normal": 124,
    "gifted": 37,
    "total": 161
  },
  "normalSubscribers": [
    {
      "username": "viewer42",
      "months": 3,
      "tier": "Tier 1",
      "event_time": "2026-03-20T19:00:00.000Z",
      "is_renewed": true
    }
  ],
  "giftedSubscribers": [
    {
      "username": "viewer77",
      "months": 1,
      "tier": "Tier 1",
      "gifter_username": "biggifter",
      "event_time": "2026-03-20T20:00:00.000Z",
      "is_renewed": false
    }
  ],
  "topGifters": [
    {
      "gifter_username": "biggifter",
      "total_gifts": 14
    }
  ]
}
GET

Normal subscribers

/api/customer/v1/streamers/:slug/subscriptions/normal
Live now 3 units Streamer scoped

Returns paginated normal subscribers for the last 30 days.

Each record represents the latest known subscription state per username.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/subscriptions/normal?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "username": "viewer42",
      "months": 3,
      "tier": "Tier 1",
      "event_time": "2026-03-20T19:00:00.000Z",
      "is_renewed": true
    }
  ],
  "totalItems": 124,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 7
}
GET

Gifted subscribers

/api/customer/v1/streamers/:slug/subscriptions/gifted
Live now 3 units Streamer scoped

Returns paginated gifted subscription events for the last 30 days.

Records include the gifting username when present.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/subscriptions/gifted?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "username": "viewer77",
      "months": 1,
      "tier": "Tier 1",
      "gifter_username": "biggifter",
      "event_time": "2026-03-20T20:00:00.000Z",
      "is_renewed": false
    }
  ],
  "totalItems": 37,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 2
}
GET

Top gifters

/api/customer/v1/streamers/:slug/subscriptions/top-gifters
Live now 3 units Streamer scoped

Returns paginated top gifters ranked by gift count.

Good for sponsor, community, or monetization dashboards.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/subscriptions/top-gifters?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "gifter_username": "biggifter",
      "total_gifts": 14,
      "last_gift_date": "2026-03-20T20:00:00.000Z"
    }
  ],
  "totalItems": 9,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Latest gifts

/api/customer/v1/streamers/:channelId/gifts/latest
Live now 3 units Account scoped

Returns paginated latest Kick gifts for a channel ID.

This endpoint uses channelId instead of slug because gifts are channel-level events.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
channelId integer

Kick channel ID for the streamer.

Example: 50291333
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_channel_not_found HTTP 404
Streamer channel not found.

The streamer exists, but a channel identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/50291333/gifts/latest?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "sender_username": "viewer42",
      "gift_name": "Rocket",
      "gift_amount": 5,
      "message": "LFG",
      "event_time": "2026-03-20T20:10:00.000Z"
    }
  ],
  "totalItems": 57,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 3
}
GET

Gift total

/api/customer/v1/streamers/:channelId/gifts/total
Live now 1 units Account scoped

Returns the total gift amount tracked in the last 30 days for the channel.

A compact metric endpoint for monetization summaries.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
channelId integer

Kick channel ID for the streamer.

Example: 50291333
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

streamer_channel_not_found HTTP 404
Streamer channel not found.

The streamer exists, but a channel identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/50291333/gifts/total" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "total_gifts": 241
}
GET

Ban history

/api/customer/v1/streamers/:slug/bans
Live now 3 units Streamer scoped

Returns paginated ban events for the last 30 days.

Useful for moderation review, abuse dashboards, or safety analytics.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/bans?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "id": "ban_1202",
      "user_id": 442211,
      "username": "toxic_user",
      "slug": "semm_usa",
      "banned_by_id": 7711,
      "banned_by_username": "mod_jane",
      "banned_by_slug": "mod_jane",
      "permanent": false,
      "created_at": "2026-03-18T22:00:00.000Z",
      "expires_at": "2026-03-19T22:00:00.000Z",
      "unbanned_at": null,
      "unbanned_by_id": null,
      "unbanned_by_username": null,
      "unbanned_by_slug": null
    }
  ],
  "totalItems": 13,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Top moderators

/api/customer/v1/streamers/:slug/top-moderators
Live now 2 units Streamer scoped

Returns moderators ranked by recorded ban activity.

A lightweight aggregate endpoint for moderation leaderboards.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/top-moderators?limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "moderators": [
    {
      "banned_by_username": "mod_jane",
      "ban_count": 24
    }
  ]
}
GET

Hosts history

/api/customer/v1/streamers/:slug/hosts
Live now 3 units Streamer scoped

Returns paginated host/raid style events.

Each row includes the host username, viewer count, and optional message.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/hosts?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "host_username": "partner_channel",
      "number_viewers": 213,
      "optional_message": "raid time",
      "created_at": "2026-03-19T23:35:00.000Z"
    }
  ],
  "totalItems": 8,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Poll history

/api/customer/v1/streamers/:slug/polls
Live now 3 units Streamer scoped

Returns paginated streamer polls from the recent 30-day window.

Poll options are returned as parsed JSON when available.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/polls?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "id": 1099,
      "title": "Next game?",
      "options": [
        {
          "label": "Valorant",
          "votes": 342
        },
        {
          "label": "CS2",
          "votes": 201
        }
      ],
      "duration": 120,
      "created_at": "2026-03-19T23:40:00.000Z"
    }
  ],
  "totalItems": 6,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Prediction summaries

/api/customer/v1/streamers/:slug/predictions
Live now 3 units Streamer scoped

Returns paginated prediction summaries for the streamer channel.

Use the predictionId from this endpoint to read full event history.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_channel_not_found HTTP 404
Streamer channel not found.

The streamer exists, but a channel identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/predictions?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "prediction_id": "pred_1177001",
      "title": "Will we hit top 10?",
      "outcomes": [
        {
          "id": "1",
          "title": "Yes",
          "points": 4500
        },
        {
          "id": "2",
          "title": "No",
          "points": 1200
        }
      ],
      "state": "resolved",
      "winning_outcome_id": "1",
      "duration_seconds": 300,
      "created_at": "2026-03-19T23:41:00.000Z",
      "locked_at": "2026-03-19T23:46:00.000Z",
      "updated_at": "2026-03-19T23:47:00.000Z"
    }
  ],
  "totalItems": 11,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Prediction history

/api/customer/v1/predictions/:predictionId/history
Live now 3 units Account scoped

Returns the full ordered event history for a single prediction.

Useful when you need lifecycle detail such as creation, locking, updates, and resolution.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
predictionId string

Prediction identifier returned by prediction endpoints.

Example: pred_1177001
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

prediction_id_required HTTP 400
Prediction ID is required.

A prediction identifier must be supplied in the path.

prediction_not_found HTTP 404
Prediction not found.

The prediction ID could not be resolved to a known prediction.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/predictions/pred_1177001/history" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "predictionId": "pred_1177001",
  "history": [
    {
      "event_type": "prediction.updated",
      "prediction_id": "pred_1177001",
      "title": "Will we hit top 10?",
      "state": "locked",
      "duration_seconds": 300,
      "created_at": "2026-03-19T23:41:00.000Z",
      "locked_at": "2026-03-19T23:46:00.000Z",
      "winning_outcome_id": null,
      "updated_at": "2026-03-19T23:46:00.000Z",
      "outcomes": [
        {
          "id": "1",
          "title": "Yes",
          "points": 3900
        },
        {
          "id": "2",
          "title": "No",
          "points": 1100
        }
      ]
    }
  ]
}
GET

Pinned messages

/api/customer/v1/streamers/:slug/pinned-messages
Live now 3 units Streamer scoped

Returns paginated pinned message history.

Rows include sender, moderator, duration, and deletion timestamp when available.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/pinned-messages?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "id": 913,
      "sender_username": "viewer42",
      "content": "Huge win!",
      "pinned_by_username": "mod_jane",
      "duration": 120,
      "created_at": "2026-03-18T21:10:00.000Z",
      "deleted_at": null
    }
  ],
  "totalItems": 15,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Reward stats

/api/customer/v1/streamers/:slug/reward-stats
Live now 3 units Streamer scoped

Returns top redeemers plus reward redemption pagination blocks.

Includes both raw reward redemptions and a separate leaderboard for top rewards.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

streamer_channel_not_found HTTP 404
Streamer channel not found.

The streamer exists, but a channel identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/reward-stats?page=1&limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "totalRedemptions": 128,
  "topRedeemer": {
    "username": "viewer42",
    "count": 14
  },
  "rewardsPagination": {
    "data": [
      {
        "username": "viewer42",
        "reward_title": "Hydrate",
        "reward_cost": 200,
        "redeemed_at": "2026-03-17T20:02:00.000Z"
      }
    ],
    "totalItems": 128,
    "currentPage": 1,
    "itemsPerPage": 10,
    "totalPages": 13
  },
  "topRewards": {
    "data": [
      {
        "title": "Hydrate",
        "count": 42
      },
      {
        "title": "Stand up",
        "count": 18
      }
    ],
    "totalItems": 9,
    "currentPage": 1,
    "itemsPerPage": 10,
    "totalPages": 1
  }
}
GET

Broadcast history

/api/customer/v1/streamers/:slug/broadcasts
Live now 3 units Streamer scoped

Returns paginated broadcasts for the streamer with optional title/date filtering.

Supports pagination plus optional search, startDate, and endDate query filters.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
search string

Case-insensitive title or slug filter.

Example: ranked
startDate date

Inclusive broadcast start date filter.

Example: 2026-03-01
endDate date

Inclusive broadcast end date filter.

Example: 2026-03-22
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

customer_api_date_window_invalid HTTP 400
Invalid date window.

The request date range is malformed or the end date is earlier than the start date.

customer_api_date_window_too_wide HTTP 400
Date window exceeds the plan maximum.

The date range is wider than the plan allows for that endpoint family.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/broadcasts?page=1&limit=20&search=ranked&startDate=2026-03-01&endDate=2026-03-22" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "id": "892112233",
      "channel_id": 50291333,
      "title": "Ranked grind",
      "started_at": "2026-03-17T17:00:00.000Z",
      "ended_at": "2026-03-17T21:02:00.000Z",
      "is_live": false,
      "slug": "semm_usa",
      "duration_seconds": 14520,
      "clip_count": 18
    }
  ],
  "totalItems": 12,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Clips

/api/customer/v1/streamers/:slug/clips
Live now 3 units Streamer scoped

Returns paginated clips for the streamer channel.

Includes clip URLs, thumbnails, duration, views, and creator metadata.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
slug string

Streamer slug assigned to the account or API key.

Example: semm_usa
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_not_found HTTP 404
Streamer not found.

The supplied streamer slug could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/semm_usa/clips?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "id": 4411,
      "title": "Clutch moment",
      "clip_url": "https://kick.com/clip/4411",
      "thumbnail_url": "https://kicklogz.com/images/logo.png",
      "duration_seconds": 28,
      "views": 5230,
      "created_at": "2026-03-18T02:33:00.000Z",
      "creator_username": "viewer42",
      "channel_username": "semm_usa",
      "livestream_id": "892112233"
    }
  ],
  "totalItems": 31,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 2
}
GET

Similar streamers

/api/customer/v1/streamers/:chatroomId/similar
Live now 4 units Account scoped

Returns a list of streamers similar to the supplied chatroom.

Useful for recommendation widgets or competitor discovery.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
chatroomId integer

Kick chatroom ID for the streamer.

Example: 90500123
Query params
limit integer

Maximum similar streamers to return.

Example: 6
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_streamer_not_allowed_for_key HTTP 403
Streamer is not allowed for this API key.

The streamer exists on the account, but this specific key cannot read it.

customer_api_streamer_not_entitled HTTP 403
Streamer is not entitled for this account.

The account does not currently have access to the requested streamer.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

streamer_chatroom_not_found HTTP 404
Streamer chatroom not found.

The streamer exists, but a chatroom identifier is not available.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/streamers/90500123/similar?limit=6" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "streamer": {
    "slug": "semm_usa",
    "profilepic": "https://kicklogz.com/images/logo.png",
    "chatroomId": 90500123,
    "channelId": 50291333,
    "language": "en",
    "updatedAt": "2026-03-22T02:14:00.000Z"
  },
  "data": [
    {
      "slug": "another_streamer",
      "chatroom_id": 80555111,
      "channel_id": 71220001,
      "language": "en",
      "similarity_score": 0.92
    }
  ]
}

Broadcast analytics

Broadcast-scoped analytics, activity, gifting, and clip endpoints.

live total
GET

Broadcast stats

/api/customer/v1/broadcasts/:broadcastId/stats
Live now 4 units Account scoped

Returns the main analytics snapshot for a single broadcast window.

Useful for per-stream recaps, retention analysis, and replay dashboards that need message and viewer curves on one payload.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/stats" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "duration_seconds": 14520,
  "duration_formatted": "4h 2m",
  "chat_message_count": 18324,
  "average_viewers": 18420,
  "peak_viewers": 24112,
  "uniqueChattersPerSegment": [
    212,
    244,
    257,
    301,
    333,
    347,
    362,
    318,
    291,
    240
  ],
  "uniqueSubscriberChattersPerSegment": [
    41,
    49,
    55,
    62,
    70,
    73,
    76,
    65,
    58,
    47
  ],
  "uniqueNonSubscriberChattersPerSegment": [
    171,
    195,
    202,
    239,
    263,
    274,
    286,
    253,
    233,
    193
  ],
  "messagesPerSegment": [
    1204,
    1488,
    1612,
    1880,
    2107,
    2244,
    2350,
    2055,
    1874,
    1510
  ],
  "subscriberMessagesPerSegment": [
    310,
    344,
    361,
    401,
    438,
    466,
    479,
    428,
    391,
    311
  ],
  "nonSubscriberMessagesPerSegment": [
    894,
    1144,
    1251,
    1479,
    1669,
    1778,
    1871,
    1627,
    1483,
    1199
  ]
}
GET

Broadcast top chatters

/api/customer/v1/broadcasts/:broadcastId/top-chatters
Live now 4 units Account scoped

Returns the most active usernames inside a single broadcast.

Good for stream replay leaderboards or identifying standout chat participation in a fixed broadcast window.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/top-chatters?page=1&limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "data": [
    {
      "username": "viewer42",
      "message_count": 84
    }
  ],
  "totalItems": 126,
  "currentPage": 1,
  "itemsPerPage": 10,
  "totalPages": 13
}
GET

Broadcast keywords

/api/customer/v1/broadcasts/:broadcastId/keywords
Live now 4 units Account scoped

Returns the most repeated words or phrases from that broadcast chat window.

Designed for topic extraction, clip indexing, and recap generation on a single broadcast.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/keywords?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "data": [
    {
      "keyword": "gg",
      "count": 118,
      "unique_users": 73
    }
  ],
  "totalItems": 48,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 3
}
GET

Broadcast polls

/api/customer/v1/broadcasts/:broadcastId/polls
Live now 4 units Account scoped

Returns poll events created during the selected broadcast.

Each row includes the title, parsed options, and timing metadata for the poll event.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/polls?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "data": [
    {
      "id": 1099,
      "title": "Next game?",
      "options": [
        {
          "label": "Valorant",
          "votes": 342
        },
        {
          "label": "CS2",
          "votes": 201
        }
      ],
      "total_votes": 543,
      "duration": 120,
      "created_at": "2026-03-17T19:40:00.000Z"
    }
  ],
  "totalItems": 4,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Broadcast predictions

/api/customer/v1/broadcasts/:broadcastId/predictions
Live now 4 units Account scoped

Returns prediction events created during the broadcast.

Useful when you want prediction outcomes scoped to one stream instead of the full streamer lifetime.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/predictions?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "data": [
    {
      "prediction_id": "pred_1177001",
      "title": "Will we hit top 10?",
      "outcomes": [
        {
          "id": "1",
          "title": "Yes",
          "points": 4500
        },
        {
          "id": "2",
          "title": "No",
          "points": 1200
        }
      ],
      "state": "resolved",
      "created_at": "2026-03-17T19:50:00.000Z",
      "updated_at": "2026-03-17T19:55:00.000Z"
    }
  ],
  "totalItems": 2,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Broadcast bans

/api/customer/v1/broadcasts/:broadcastId/bans
Live now 4 units Account scoped

Returns only the ban events that happened during the broadcast.

This helps moderation reviews focus on a single stream instead of the entire 30-day channel history.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/bans?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "data": [
    {
      "username": "toxic_user",
      "banned_by_username": "mod_jane",
      "permanent": false,
      "created_at": "2026-03-17T18:21:00.000Z",
      "expires_at": "2026-03-17T19:21:00.000Z",
      "unbanned_at": null
    }
  ],
  "totalItems": 7,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Broadcast pinned messages

/api/customer/v1/broadcasts/:broadcastId/pinned-messages
Live now 4 units Account scoped

Returns pinned chat messages created during that broadcast.

Useful for timeline reconstruction, moderation audits, or highlight extraction.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/pinned-messages?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "data": [
    {
      "sender_username": "viewer42",
      "content": "Huge win!",
      "pinned_by_username": "mod_jane",
      "duration": 120,
      "created_at": "2026-03-17T20:10:00.000Z",
      "deleted_at": null
    }
  ],
  "totalItems": 3,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Broadcast hosts

/api/customer/v1/broadcasts/:broadcastId/hosts
Live now 4 units Account scoped

Returns host or raid style events that landed inside the broadcast time range.

Each row includes the source channel, viewer count, and optional host message.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/hosts?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "data": [
    {
      "host_username": "partner_channel",
      "number_viewers": 213,
      "optional_message": "raid time",
      "created_at": "2026-03-17T20:40:00.000Z"
    }
  ],
  "totalItems": 2,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Broadcast subscribers

/api/customer/v1/broadcasts/:broadcastId/subscribers
Live now 4 units Account scoped

Returns subscription events that happened during the broadcast.

Use the optional type filter to narrow the list to normal, gifted, or all subscription events.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
type string

Subscriber filter for the broadcast scope: all, normal, or gifted.

Example: all
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/subscribers?page=1&limit=20&type=all" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "data": [
    {
      "username": "viewer42",
      "months": 1,
      "is_gifted": false,
      "gifter_username": null,
      "event_time": "2026-03-17T18:45:00.000Z"
    }
  ],
  "totalItems": 19,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}
GET

Broadcast top gifters

/api/customer/v1/broadcasts/:broadcastId/top-gifters
Live now 4 units Account scoped

Returns the top gifter leaderboard for a single broadcast.

This is stream-scoped gifting activity rather than lifetime or 30-day channel totals.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/top-gifters?page=1&limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "data": [
    {
      "gifter_username": "biggifter",
      "total_gifts": 14,
      "last_gift_date": "2026-03-17T20:12:00.000Z"
    }
  ],
  "totalItems": 9,
  "currentPage": 1,
  "itemsPerPage": 10,
  "totalPages": 1
}
GET

Broadcast gift total

/api/customer/v1/broadcasts/:broadcastId/gifts/total
Live now 2 units Account scoped

Returns the total Kick gifts tracked during the broadcast window.

A compact monetization metric for stream summaries and revenue dashboards.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/gifts/total" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "total_gifts": 241
}
GET

Broadcast gifts

/api/customer/v1/broadcasts/:broadcastId/gifts
Live now 4 units Account scoped

Returns the individual Kick gift events sent during a broadcast.

Each row includes sender, gift metadata, and the event timestamp inside the broadcast window.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/gifts?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "data": [
    {
      "sender_username": "viewer42",
      "gift_name": "Rocket",
      "gift_amount": 5,
      "message": "LFG",
      "event_time": "2026-03-17T20:10:00.000Z"
    }
  ],
  "totalItems": 57,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 3
}
GET

Broadcast clips

/api/customer/v1/broadcasts/:broadcastId/clips
Live now 4 units Account scoped

Returns clips generated from that specific broadcast.

Useful for replay pages, highlight exports, and clip indexing tied to one livestream.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
broadcastId string

Broadcast identifier.

Example: 892112233
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 20
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

broadcast_not_found HTTP 404
Broadcast not found.

The broadcast identifier could not be resolved.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/broadcasts/892112233/clips?page=1&limit=20" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "broadcast": {
    "id": "892112233",
    "streamer_slug": "semm_usa",
    "channel_id": 50291333,
    "chatroom_id": 90500123,
    "title": "Ranked grind",
    "started_at": "2026-03-17T17:00:00.000Z",
    "ended_at": "2026-03-17T21:02:00.000Z",
    "is_live": false
  },
  "data": [
    {
      "id": 4411,
      "title": "Clutch moment",
      "clip_url": "https://kick.com/clip/4411",
      "thumbnail_url": "https://kicklogz.com/images/logo.png",
      "duration_seconds": 28,
      "views": 5230,
      "created_at": "2026-03-18T02:33:00.000Z",
      "channel_username": "semm_usa"
    }
  ],
  "totalItems": 18,
  "currentPage": 1,
  "itemsPerPage": 20,
  "totalPages": 1
}

Kick profiles

User-centric read endpoints for bans, gifts, rewards, clips, and username history.

live total
GET

Kick profile bans

/api/customer/v1/kick-profiles/:username/bans
Live now 3 units Account scoped

Returns ban history rows for a specific Kick username.

This is user-centric rather than streamer-centric, so it aggregates where that user was banned across tracked channels.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
username string

Kick username.

Example: viewer42
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/kick-profiles/viewer42/bans?page=1&limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "user": {
    "username": "viewer42"
  },
  "data": [
    {
      "username": "toxic_user",
      "channel_name": "semm_usa",
      "banned_by_username": "mod_jane",
      "created_at": "2026-03-18T22:00:00.000Z",
      "expires_at": "2026-03-19T22:00:00.000Z"
    }
  ],
  "totalItems": 16,
  "currentPage": 1,
  "itemsPerPage": 10,
  "totalPages": 2
}
GET

Kick profile received subscriptions

/api/customer/v1/kick-profiles/:username/received-subs
Live now 3 units Account scoped

Returns channels that subscribed to the target user during the recent 30-day window.

Rows include the channel slug, month count, gifted flag, and latest subscription event time.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
username string

Kick username.

Example: viewer42
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/kick-profiles/viewer42/received-subs?page=1&limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "user": {
    "username": "viewer42"
  },
  "data": [
    {
      "channel_name": "semm_usa",
      "months": 3,
      "is_gifted": false,
      "gifter_username": null,
      "event_time": "2026-03-20T19:00:00.000Z"
    }
  ],
  "totalItems": 8,
  "currentPage": 1,
  "itemsPerPage": 10,
  "totalPages": 1
}
GET

Kick profile gifted subscriptions

/api/customer/v1/kick-profiles/:username/gifted-subs
Live now 3 units Account scoped

Returns channels where the target user gifted subscriptions in the recent 30-day window.

This is useful for sponsor tracking, gifting leaderboards, and supporter activity views.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
username string

Kick username.

Example: viewer42
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/kick-profiles/viewer42/gifted-subs?page=1&limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "user": {
    "username": "viewer42"
  },
  "data": [
    {
      "channel_name": "semm_usa",
      "gift_count": 14,
      "event_time": "2026-03-20T20:00:00.000Z"
    }
  ],
  "totalItems": 5,
  "currentPage": 1,
  "itemsPerPage": 10,
  "totalPages": 1
}
GET

Kick profile rewards

/api/customer/v1/kick-profiles/:username/rewards
Live now 3 units Account scoped

Returns reward redemptions performed by the target Kick user.

Each row includes the reward title, optional user input, channel slug, and redemption time.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
username string

Kick username.

Example: viewer42
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/kick-profiles/viewer42/rewards?page=1&limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "user": {
    "username": "viewer42"
  },
  "data": [
    {
      "reward_title": "Hydrate",
      "user_input": "500ml",
      "redeemed_at": "2026-03-17T20:02:00.000Z",
      "reward_background_color": "#53FC18",
      "channel_name": "semm_usa"
    }
  ],
  "totalItems": 23,
  "currentPage": 1,
  "itemsPerPage": 10,
  "totalPages": 3
}
GET

Kick profile sent KICKs

/api/customer/v1/kick-profiles/:username/sent-kicks
Live now 3 units Account scoped

Returns the total gifts sent by the target user grouped by channel.

Useful for monetization and supporter activity dashboards focused on one viewer account.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
username string

Kick username.

Example: viewer42
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/kick-profiles/viewer42/sent-kicks?page=1&limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "user": {
    "username": "viewer42"
  },
  "data": [
    {
      "channel_name": "semm_usa",
      "total_amount": 1240
    }
  ],
  "totalItems": 11,
  "currentPage": 1,
  "itemsPerPage": 10,
  "totalPages": 2
}
GET

Kick profile clips

/api/customer/v1/kick-profiles/:username/clips
Live now 3 units Account scoped

Returns clips created by the target Kick user.

This endpoint is creator-scoped and helps build viewer or editor clip portfolios.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
username string

Kick username.

Example: viewer42
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 12
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/kick-profiles/viewer42/clips?page=1&limit=12" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response json
{
  "success": true,
  "user": {
    "username": "viewer42"
  },
  "data": [
    {
      "id": 4411,
      "title": "Clutch moment",
      "clip_url": "https://kick.com/clip/4411",
      "thumbnail_url": "https://kicklogz.com/images/logo.png",
      "duration_seconds": 28,
      "views": 5230,
      "created_at": "2026-03-18T02:33:00.000Z",
      "channel_username": "semm_usa"
    }
  ],
  "totalItems": 31,
  "currentPage": 1,
  "itemsPerPage": 12,
  "totalPages": 3
}
GET

Kick profile username history

/api/customer/v1/users/:username/username-history
Coming soon 2 units Account scoped

Returns previous known usernames for the target Kick account.

Helpful for search expansion, moderation investigations, and alias resolution workflows.

Parameters
Headers
x-kicklogz-api-key string

Secret KickLogz API key created in Profile > KickLogz API.

Example: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef
Path params
username string

Kick username.

Example: viewer42
Query params
page integer

1-based page number.

Example: 1
limit integer

Maximum number of rows to return. Must respect plan maxPageSize (100).

Example: 10
Error codes
customer_api_key_required HTTP 401
Provide x-kicklogz-api-key or Bearer token.

The request did not include a KickLogz API key.

customer_api_key_invalid HTTP 401
Invalid or inactive KickLogz API key.

The key format, hash, or account state is not valid.

customer_api_ip_not_allowed HTTP 403
Requester IP is not allowlisted for this key.

The API key is restricted to specific IP addresses.

customer_api_rate_limit_exceeded HTTP 429
Per-minute rate limit exceeded.

Respect the Retry-After header or retryAfterSeconds field before sending more requests.

customer_api_concurrency_limit_exceeded HTTP 429
Concurrent request limit exceeded.

Too many requests are currently in flight for the account or family.

customer_api_monthly_request_limit_exceeded HTTP 429
Monthly request limit exceeded.

The account has exhausted its monthly request allowance.

customer_api_monthly_unit_limit_exceeded HTTP 429
Monthly unit limit exceeded.

The account has exhausted its monthly unit budget.

customer_api_family_disabled HTTP 403
Endpoint family is not enabled for this account.

The subscription plan or account settings do not allow this family.

customer_api_family_disabled_for_key HTTP 403
Endpoint family is not enabled for this API key.

The key exists, but it was scoped down to fewer endpoint families.

customer_api_page_size_invalid HTTP 400
Page size must be inside the endpoint maximum.

limit/pageSize must be between 1 and the endpoint maximum. KickLogz API search supports up to 250 results per request.

Sample request bash
curl -X GET "https://kicklogz.com/api/customer/v1/users/viewer42/username-history?page=1&limit=10" \
  -H "x-kicklogz-api-key: klz_live_0123456789abcdef_0123456789abcdef0123456789abcdef0123456789abcdef"
Sample response text
[object Object]