# Kick Channel Scraper (`fernand099/kick-scraper`) Actor

Scrape real-time data from Kick.com channels. Search by keywords to get live viewer counts, stream titles, categories, durations, and channel bios. Perfect for trending analysis, content creation, and market research. Fast, clean JSON and CSV output.

- **URL**: https://apify.com/fernand099/kick-scraper.md
- **Developed by:** [ClickRun](https://apify.com/fernand099) (community)
- **Categories:** Other, Videos, Social media
- **Stats:** 22 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#rental-actors

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🎮 What does Kick Channel Scraper does for you?

**Kick Channel Scraper** allows you to scrape detailed channel information from Kick based on specific search keywords. It is designed for content creators, marketers, and researchers who need real-time insights into the fastest-growing streaming platform.

- 🔍 **Keyword-Based Search:** Find relevant channels by any niche (IRL, Gaming, Software, etc.).
- 📊 **Comprehensive Channel Metadata:** Extract IDs, descriptions, slugs, and profile links.
- ⚡ **Live Status Detection:** Automatically identify if a channel is currently streaming.
- 🎯 **Deep Stream Insights:** Capture stream titles, categories, viewer counts, tags, and language.
- ⏱️ **Activity Tracking:** Get the exact duration of current streams and the last streamed timestamp.

***

#### 💠 Output Data Structure:

The Actor provides a structured JSON output for every channel found. Here is what the data looks like:

- **Channel Profile:**
  - `channelId`: Unique internal ID.
  - `slug` & `url`: Streamer username and direct Kick link.
  - `channelDescription`: The streamer's bio and business contact info if available.
  - `profilePictureUrl`: High-res profile image link.

- **Livestream Data (if `isStreaming` is true):**
  - `title`: Current broadcast title.
  - `category`: Game or category name.
  - `viewerCount`: Current live audience size.
  - `language` & `tags`: Stream language and creator-defined tags.
  - `duration`: How long the streamer has been live (e.g., "6h 30m").
  - `thumbnailUrl`: Real-time stream preview image.

- **Execution Metadata:**
  - `keyword`: The search term that triggered the result.
  - `lastStreamedAt`: Timestamp of the most recent activity.
  - `scrapedAt`: Precise ISO timestamp of the data extraction.

***

#### ⭐️ What can you achieve with this tool?

- **Influencer Marketing:** Identify rising stars on Kick for brand partnerships.
- **Lead Generation:** Find streamers who need professional services (GFX, 3D overlays, or video editing).
- **Competitive Analysis:** Monitor top creators in specific categories like "IRL".
- **Market Research:** Analyze trending tags and languages across the platform.

#### 🛠️ How do you get started?

1. **Keywords:** Enter your search terms (e.g., `IRL`, `Casino`, `Fortnite`).
2. **Max Items:** Set the maximum number of channels you want to collect.
3. **Run the Actor:** Execute and download your data in JSON, CSV, or Excel format.

***

#### ⬇️ Input Example (JSON File)

```json
{
  "keywords": [
    "IRL"
  ],
  "maxItems": 4
}
```

#### ⬆️ Output Example (JSON File)

```json
[
  {
    "channelId": 4137340,
    "channelDescription": "Siema to ja [7TV:da526e2b36ba540ff3bee1f7324bf073]\n\nBusiness requirements: adamcy@ggleague.pl",
    "keyword": "IRL",
    "slug": "adamcy",
    "profilePictureUrl": "https://files.kick.com/images/user/4217364/profile_image/conversion/0a65b328-438e-4993-b6c3-0911650fdd3c-medium.webp",
    "isStreaming": true,
    "livestream": {
      "title": "IRL CHAOS MOD TORONTO ➡️ CHICAGO | 10/28 DAILY",
      "category": "IRL",
      "categoryViewerCount": null,
      "viewerCount": 10693,
      "tags": [
        "adamcy",
        "kanada",
        "polska"
      ],
      "language": "pl",
      "startedAt": "2026-02-10T16:59:58Z",
      "duration": "6h 30m",
      "thumbnailUrl": "https://images.kick.com/video_thumbnails/Pyjmhg4LjcC0/Fw6WxylByqfI/480.webp",
      "isMature": false
    },
    "lastStreamedAt": "2026-02-10T16:59:58Z",
    "url": "https://kick.com/adamcy",
    "scrapedAt": "2026-02-10T23:30:54.735Z"
  },
  {
    "channelId": 3473164,
    "channelDescription": "ok, ok me encanta",
    "keyword": "IRL",
    "slug": "chanty",
    "profilePictureUrl": "https://files.kick.com/images/user/3543430/profile_image/conversion/5b78bcc9-343f-4186-9a88-16586e6c9726-medium.webp",
    "isStreaming": true,
    "livestream": {
      "title": "IRL EN CAMPO DE DISPARO CON LA GENTE| EL REY DEL IRL 🧪👑",
      "category": "IRL",
      "categoryViewerCount": null,
      "viewerCount": 6095,
      "tags": [
        "build",
        "chanty",
        "colombia",
        "conversado",
        "gamıng",
        "ırl",
        "Latinoámerica",
        "medallo"
      ],
      "language": "es",
      "startedAt": "2026-02-10T19:43:05Z",
      "duration": "3h 47m",
      "thumbnailUrl": "https://images.kick.com/video_thumbnails/RycBKb9qQc2a/iw4oxGoYml61/480.webp",
      "isMature": false
    },
    "lastStreamedAt": "2026-02-10T19:43:05Z",
    "url": "https://kick.com/chanty",
    "scrapedAt": "2026-02-10T23:30:54.790Z"
  },
  {
    "channelId": 183144,
    "channelDescription": "",
    "keyword": "IRL",
    "slug": "mokrysuchar",
    "profilePictureUrl": "https://files.kick.com/images/user/185177/profile_image/conversion/d1a1cbab-32c0-413f-8731-1c5e51deb5a6-medium.webp",
    "isStreaming": true,
    "livestream": {
      "title": "WYPRAWA GÓRSKA V2 | sprawdź to -> !fortuna !instant !holy #reklama",
      "category": "IRL",
      "categoryViewerCount": null,
      "viewerCount": 5863,
      "tags": [],
      "language": "pl",
      "startedAt": "2026-02-10T10:27:39Z",
      "duration": "13h 3m",
      "thumbnailUrl": "https://images.kick.com/video_thumbnails/clAK41tVUp7R/WjI2i555ZTDr/480.webp",
      "isMature": false
    },
    "lastStreamedAt": "2026-02-10T10:27:39Z",
    "url": "https://kick.com/mokrysuchar",
    "scrapedAt": "2026-02-10T23:30:54.814Z"
  },
  {
    "channelId": 48096880,
    "channelDescription": "",
    "keyword": "IRL",
    "slug": "danielataquire",
    "profilePictureUrl": "https://files.kick.com/images/user/49210856/profile_image/conversion/c497101b-5899-46b0-9a3e-130b2fe09645-medium.webp",
    "isStreaming": true,
    "livestream": {
      "title": "IRL ALISTANDONOS PARA CONOCER A WAMPI<3",
      "category": "IRL",
      "categoryViewerCount": null,
      "viewerCount": 3192,
      "tags": [],
      "language": "es",
      "startedAt": "2026-02-10T22:15:45Z",
      "duration": "1h 15m",
      "thumbnailUrl": "https://images.kick.com/video_thumbnails/lxFw1a6Jqmq5/lKLvxEnxxTMs/480.webp",
      "isMature": false
    },
    "lastStreamedAt": "2026-02-10T22:15:45Z",
    "url": "https://kick.com/danielataquire",
    "scrapedAt": "2026-02-10T23:30:54.848Z"
  }
]
```

# Actor input Schema

## `keywords` (type: `array`):

List of category/topic names to find live channels (e.g. "fortnite", "just chatting", "valorant")

## `maxItems` (type: `integer`):

Maximum number of live channels to collect per keyword.

## Actor input object example

```json
{
  "keywords": [
    "fortnite"
  ],
  "maxItems": 10
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "fortnite"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("fernand099/kick-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "keywords": ["fortnite"] }

# Run the Actor and wait for it to finish
run = client.actor("fernand099/kick-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "fortnite"
  ]
}' |
apify call fernand099/kick-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fernand099/kick-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/cGcYyBLU8DQCvs6vT/builds/h94vUxXLE7mfvgLld/openapi.json
