@rafalolszewski94/kick-ts-api
v1.0.3
Published
Modern, secure TypeScript client for the Kick.com API with OAuth 2.1, retries, and rate limiting.
Maintainers
Readme
kick-ts-api
Modern, secure TypeScript client for the Kick.com API with OAuth 2.1, retries, and rate limiting.
Note: Kick's public API surface may evolve. Validate endpoints against
https://docs.kick.com/.
Install
pnpm add kick-ts-apiUsage
import { KickClient, Resources, StaticTokenProvider } from 'kick-ts-api';
const client = new KickClient({
tokenProvider: new StaticTokenProvider(process.env.KICK_TOKEN || ''),
});
const resources = new Resources(client);
const user = await resources.public.getUserBySlug('some-channel');
console.log(user);Development
This library includes comprehensive development tools for local testing and development.
Quick Start
Clone and install dependencies:
git clone <repository-url> cd kick-ts-api pnpm installStart development mode (builds library in watch mode):
pnpm devRun examples to test the library:
# Run all examples pnpm examples # Or run specific examples pnpm example:node-basic pnpm example:repl
Development Scripts
# Build commands
pnpm build # One-time build
pnpm build:watch # Watch mode build (auto-rebuild on changes)
pnpm dev # Alias for build:watch
# Testing
pnpm test # Run tests once
pnpm test:watch # Run tests in watch mode
# Code quality
pnpm typecheck # TypeScript type checking
pnpm lint # ESLint checking
pnpm format # Prettier formatting
# Examples and development
pnpm example:node-basic # Run Node.js example
pnpm example:repl # Run interactive REPL
pnpm examples # Run all examplesTesting with Examples
The library includes two development examples:
- Node.js Basic Example (
examples/node-basic/) - Demonstrates core API usage - Interactive REPL (
examples/repl/) - Real-time API testing environment
Both examples require a Kick.com API token for authenticated requests:
export KICK_TOKEN="your-api-token-here"Get your token from Kick oAuth
Features
- Robust HTTP client (timeouts, retries with backoff, 429/5xx retry, rate limiting)
- Token provider abstraction (plug your OAuth flow)
- Strict TypeScript types, zero
any - ESM + CJS builds, full type declarations
- Vitest test setup, ESLint + Prettier, TypeDoc docs
Security
- Never hardcode tokens. Use environment variables or secret stores.
- Sends
Authorization: Bearer <token>when a token provider is configured. - Handle scopes and token refresh in your token provider implementation.
License
MIT
