kick-profile-fetcher
v0.1.2
Published
Production-ready TypeScript API client for fetching Kick.com channel profile data from kick.com/api/v1/channels/{username}.
Maintainers
Readme
Kick.com Profile Fetcher API
Production-ready TypeScript API client for fetching Kick.com channel profile data from:
https://kick.com/api/v1/channels/{username}Features
- TypeScript strict mode
- Typed Kick channel response
- Profile summary normalizer
- Timeout support
- Retry support
- In-memory cache
- Channel not found error handling
- Node.js 18+ native fetch support
Install
npm install kick-profile-fetcherDevelopment
npm install
npm run dev mrkwxopya
npm run buildUsage
import { KickClient } from "kick-profile-fetcher";
const client = new KickClient();
const channel = await client.getChannel("mrkwxopya");
console.log(channel);
const summary = await client.getProfileSummary("mrkwxopya");
console.log(summary);Not Found Response
Kick may return:
{
"message": "No query results for model [App\\Models\\Channel]."
}This package converts that response into:
KickChannelNotFoundError;Example Summary Output
{
"id": 12345,
"slug": "mrkwxopya",
"username": "mrkwxopya",
"displayName": "mrkwxopya",
"isBanned": false,
"isLive": true,
"followers": 12345,
"bio": "Example bio",
"profilePic": "https://files.kick.com/...",
"bannerImage": "https://files.kick.com/...",
"offlineBannerImage": "https://files.kick.com/...",
"livestream": {
"id": 12345,
"title": "Development",
"viewers": 5,
"language": "English",
"langIso": "en",
"tags": ["coding", "development"],
"thumbnail": "https://images.kick.com/...",
"category": "Just Chatting"
},
"socials": {
"instagram": "mrkwxopya",
"twitter": null,
"youtube": "@mrkwxopya",
"discord": "mrkwxopya",
"tiktok": "mrkwxopya",
"facebook": "mrkwxopya"
},
"links": []
}License
MIT
