# Twitch Streamers Scraper — Emails, Socials & Follower Counts (`maged120/twitch-streamers-scraper`) Actor

Find Twitch streamers by category and language with followers, live viewers, business emails and social links. Built for influencer outreach.

- **URL**: https://apify.com/maged120/twitch-streamers-scraper.md
- **Developed by:** [Maged](https://apify.com/maged120) (community)
- **Categories:** Social media, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

**Find Twitch streamers to work with — with business emails, social profiles and real audience numbers.** Pick a game or category, choose languages and follower ranges, and get a ready-to-use outreach list in minutes.

### What does Twitch Streamers Scraper do?

Twitch Streamers Scraper finds live streamers on [Twitch](https://www.twitch.tv) by **category/game**, **language**, **viewer count** and **follower range**, or enriches a list of channels you already have. For each streamer you get **followers**, **live viewers**, stream title and tags, **partner/affiliate status**, the **bio**, **business emails**, and links to their **Instagram, X/Twitter, YouTube, TikTok, Discord, Facebook, Kick and Threads**, plus their other links (merch stores, link-in-bio pages, sponsors).

It runs on Apify, so you also get API access, scheduling, integrations (Google Sheets, Make, Zapier, webhooks) and monitoring.

### Why use Twitch Streamers Scraper?

- **Influencer marketing** — build lists of streamers in your game's category with contact emails for sponsorships.
- **Game launches and publishers** — find creators who stream similar games, by language and audience size.
- **Micro-influencer discovery** — set a follower range (e.g. 1,000–50,000) to find affordable creators.
- **Talent agencies and esports** — scout rising streamers and track who is live.
- **CRM enrichment** — paste a list of channels and fill in followers, emails and socials.

### How to scrape Twitch streamers

1. Click **Try for free**.
2. Enter one or more **Categories / games** (for example `Just Chatting`, `Fortnite`, `Valorant`), or paste **Specific channels**.
3. Optionally choose **Stream languages** and follower/viewer filters.
4. Set **Max streamers** and click **Start**.
5. Download your list as CSV, Excel or JSON, or use the API.

### Input

| Field | Description |
|---|---|
| `categories` | Twitch categories/games to find live streamers in. Leave empty (with no channels) to scan the most-watched categories. |
| `usernames` | Channels to look up directly, live or offline (usernames or channel links). |
| `languages` | Only live streams in these languages. Empty = all languages, for the widest coverage. |
| `minViewers` | Minimum live viewers. |
| `minFollowers` / `maxFollowers` | Follower range. 0 = no limit. |
| `onlyWithContacts` | Keep only streamers with an email or at least one social profile. |
| `maxStreamers` | How many streamers to save from category discovery. 0 = as many as available. |

```json
{
    "categories": ["Fortnite", "Minecraft"],
    "languages": ["EN", "ES"],
    "minFollowers": 1000,
    "maxFollowers": 100000,
    "onlyWithContacts": true,
    "maxStreamers": 500
}
```

### Output

One row per streamer. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

```json
{
    "username": "camdenva",
    "displayName": "camdenva",
    "channelUrl": "https://www.twitch.tv/camdenva",
    "isLive": true,
    "viewers": 283,
    "streamTitle": "ranked grind",
    "category": "Fortnite",
    "language": "en",
    "tags": ["English", "Competitive"],
    "followers": 51590,
    "isPartner": true,
    "isAffiliate": false,
    "email": "camdenva@ggtalentgroup.com",
    "emails": ["camdenva@ggtalentgroup.com"],
    "instagram": "https://instagram.com/…",
    "twitter": "https://x.com/…",
    "youtube": "https://youtube.com/@…",
    "tiktok": "https://tiktok.com/@…",
    "discord": null,
    "otherLinks": ["https://www.camdensutkowski.com/"],
    "lastStreamedAt": "2026-10-07T21:01:17Z",
    "accountCreatedAt": "2019-03-02T10:11:12Z",
    "profileImageUrl": "https://…/profile_image-300x300.png"
}
```

### Data fields

| Field | Meaning |
|---|---|
| `followers`, `viewers` | Channel followers and current live viewers |
| `isLive`, `streamTitle`, `category`, `language`, `tags`, `liveSince` | Current stream |
| `isPartner`, `isAffiliate` | Twitch monetization status |
| `email`, `emails` | Business emails found on the channel |
| `instagram`, `twitter`, `youtube`, `tiktok`, `discord`, `facebook`, `kick`, `threads` | Social profiles |
| `otherLinks` | Websites, merch, link-in-bio, tip and sponsor links |
| `bio` | Channel description |
| `lastStreamedAt`, `lastStreamTitle`, `lastCategory` | Most recent broadcast (useful for offline channels) |

Built-in views: **Streamers** (overview), **Contacts**, and **Stream activity**.

### How many results will I get?

One row per unique streamer that passes your filters. A single big category usually yields **1,000+ live streamers** when all languages are included; choosing one language or a narrow follower range gives fewer, more targeted rows. `maxStreamers` caps the total, so you are always in control of the run size.

### Tips

- For **maximum coverage**, leave languages empty — the Actor then searches every language.
- Use `onlyWithContacts` to skip streamers you could not reach anyway.
- Channels are live at different times of day; schedule runs at a few different hours to catch more creators.
- Use **Specific channels** to refresh follower counts for your existing roster on a schedule.

### FAQ

**Does it only find live streamers?** Category discovery finds channels that are live during the run. Channels you list under **Specific channels** are returned whether they are live or not.

**Where do the emails come from?** From what streamers publish on their own channel page (bio and About panels). Not every streamer lists one.

**Is it legal?** The Actor collects only information streamers have made public on their channels. Use it in line with Twitch's terms, anti-spam laws and privacy regulations (such as GDPR/CAN-SPAM) when contacting people.

**Need a custom feature?** Open an issue in the **Issues** tab.

# Actor input Schema

## `categories` (type: `array`):

Twitch categories to find live streamers in, e.g. "Just Chatting", "Fortnite", "Valorant". Leave empty (and no usernames) to scan the most-watched categories.

## `usernames` (type: `array`):

Twitch usernames or channel links to look up directly, live or offline. Use this to enrich a list you already have.

## `languages` (type: `array`):

Only include live streams in these languages. Leave empty for all languages (gives the widest coverage).

## `minViewers` (type: `integer`):

Skip live streams with fewer viewers. 0 = no minimum.

## `minFollowers` (type: `integer`):

Skip channels with fewer followers. 0 = no minimum.

## `maxFollowers` (type: `integer`):

Skip channels with more followers — handy for finding micro-influencers. 0 = no maximum.

## `onlyWithContacts` (type: `boolean`):

Keep only streamers with at least one email or social profile.

## `maxStreamers` (type: `integer`):

Maximum number of streamers to save from category discovery. 0 = as many as available.

## `proxyConfiguration` (type: `object`):

Optional. Not needed for most runs.

## Actor input object example

```json
{
  "categories": [
    "Just Chatting"
  ],
  "languages": [],
  "minViewers": 0,
  "minFollowers": 0,
  "maxFollowers": 0,
  "onlyWithContacts": false,
  "maxStreamers": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "categories": [
        "Just Chatting"
    ],
    "maxStreamers": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("maged120/twitch-streamers-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 = {
    "categories": ["Just Chatting"],
    "maxStreamers": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("maged120/twitch-streamers-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 '{
  "categories": [
    "Just Chatting"
  ],
  "maxStreamers": 100
}' |
apify call maged120/twitch-streamers-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,maged120/twitch-streamers-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/E1flg1kxoXB9cux23/builds/S9A4ctzfIS9VuwG53/openapi.json
