# Twitch Email Scraper (`scraperoka/twitch-email-scraper`) Actor

📧 Twitch Email Scraper extracts creator email addresses from Twitch profiles fast & reliably. 🚀 Perfect for outreach, sponsorships, and B2B prospecting. 🔒 Respectful data handling. Start growing your pipeline today!

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

## Pricing

from $1.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

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

### Twitch Email Scraper 📬

**Twitch Email Scraper** automatically extracts contact emails related to Twitch creators by using your chosen keywords and email-domain filters. If you’re looking for a **twitch email scraper**, a **twitch email extractor**, or a way to **scrape streamer emails** at scale, this actor helps you turn publicly available Twitch bios and posts into structured email leads—saving you hours of manual searching.

Whether you’re a marketer, recruiter, sales team, researcher, or data analyst, you can use Twitch Email Scraper to build targeted outreach lists by pairing niche keywords with custom domains (for example, Gmail or your own business domains). When your search is large or your email cap is high, processing may take longer—so you can plan your runs for speed and cost efficiency.

***

### Why choose Twitch Email Scraper?

| Feature | Benefit |
|---|---|
| ✅ **All-in-one email collection** | Extracts emails associated with Twitch bios and posts tied to your keywords |
| ✅ **Keyword + email-domain filtering** | Helps you focus results on the exact outreach domains you care about |
| ✅ **Reliability with fallbacks** | Includes retries and rotation behavior for more consistent scraping runs |
| ✅ **Structured JSON dataset output** | Produces clean fields like `email`, `title`, `url`, and `description` for easy importing |
| ✅ **Built for scale** | Stops when `maxEmails` is reached, helping you control runtime and cost |
| ✅ **Proxy support** | Lets you configure proxy settings to improve scraping stability for larger jobs |

***

### Key features

- 🔍 **Keyword-led Twitch email harvesting**: Uses your `keywords` to find relevant Twitch bios and posts, then extracts matching emails
- 🎯 **Custom email domains targeting**: Filters extracted emails using your `customDomains` (for example, `@gmail.com`)
- 🛡️ **Resilient scraping behavior**: Includes retries and fallback logic to keep runs going when results are temporarily limited
- 📊 **Clean, structured output for analysis**: Pushes consistent fields (like `network`, `keyword`, `email`, and `url`) into the dataset
- 💾 **Real-time progress persistence**: Saves progress after each email is pushed so you can resume with less risk of losing work
- 🔄 **Automated pagination with stopping rules**: Continues through pages until it reaches your `maxEmails`, hits stop conditions, or detects that results are no longer productive
- 🌐 **Proxy configuration support**: Works with your `proxyConfiguration` to improve stability in different environments
- 🤖 **Engine selection**: Choose between `cost-effective` and `legacy` engines depending on your reliability vs speed needs

***

### Input

Provide input via an `input.json` file. Example structure:

```json
{
  "keywords": ["founder", "marketing"],
  "location": "",
  "platform": "Twitch",
  "customDomains": ["@gmail.com"],
  "maxEmails": 20,
  "engine": "legacy",
  "proxyConfiguration": {}
}
```

#### Input Fields

| Field | Required | Description |
|---|---:|---|
| `keywords` | ✅ | A list of keywords to search for. These keywords guide what kinds of Twitch bios and posts the actor looks for before extracting emails. |
| `location` | ❌ | A location string to filter search results. Leave it empty if you don’t want location filtering. |
| `platform` | ❌ | Select platform. This actor currently supports `Twitch` only (default is `Twitch`). |
| `customDomains` | ❌ | List of custom email domains the actor uses to filter extracted emails (for example, `@gmail.com`). |
| `maxEmails` | ❌ | Maximum number of emails to collect. The actor stops once this limit is reached. Higher limits may increase runtime, even if the actor doesn’t guarantee it will reach the number. |
| `engine` | ❌ | Choose scraping engine: `cost-effective` or `legacy`. Use `cost-effective` for a more cost-efficient approach, or `legacy` for the more traditional approach. |
| `proxyConfiguration` | ❌ | Proxy configuration object for this Actor. Use it if you need to run with specific proxy settings. |

***

### Output

The actor saves each found email as a JSON record in the dataset via `Actor.push_data(...)`.

Example output item:

```json
{
  "network": "Twitch.com",
  "keyword": "founder",
  "title": "No title",
  "description": "No data",
  "url": "No URL",
  "email": "example@gmail.com",
  "proxyGroups": ["GOOGLE_SERP"]
}
```

#### Output Fields

| Field | Type | Description |
|---|---|---|
| `network` | string | The source network label for this actor output (set to `Twitch.com`). |
| `keyword` | string | The keyword currently used for the search context that led to this email. |
| `title` | string | The result title associated with where the email was found. |
| `description` | string | The text/description content associated with the result. |
| `url` | string | The URL associated with the result where the email was found. |
| `email` | string | The extracted email address that matched your `customDomains` filter. |
| `proxyGroups` | array | The proxy group list used during the run (as provided by the actor’s engine/proxy logic). |

After the run, you can export the dataset (for example, JSON/CSV in the Apify UI), and then load it into your CRM, outreach tooling, or analysis workflow.

***

### How to use Twitch Email Scraper (via Apify Console)

1. **Open Apify Console**\
   Log in at [console.apify.com](https://console.apify.com) and go to the **Actors** section.

2. **Find Twitch Email Scraper**\
   Search for **Twitch Email Scraper** and open the actor page.

3. **Go to the INPUT tab**\
   Use the built-in input form to set your email-harvesting criteria:
   - Add your `keywords`
   - Set `customDomains` for domain targeting (e.g., `@gmail.com`)
   - Optionally set `location`, `maxEmails`, `engine`, and `proxyConfiguration`

4. **Choose your engine (optional)**\
   If you need a more cost-efficient run, select `cost-effective`. If you prefer the traditional approach, select `legacy`.

5. **Configure proxies (optional)**\
   If you’re running large batches or have network constraints, set `proxyConfiguration` so the actor can scrape more reliably.

6. **Start the run**\
   Click **Run**. While it works, watch the logs for progress and retry behavior. For large keyword sets or higher `maxEmails`, allow extra time—large runs can take longer.

7. **Access results in the dataset**\
   When finished, open the **OUTPUT** dataset where each scraped email is stored with fields like `email`, `url`, `keyword`, and `description`.

No coding required—get relevant Twitch Email Scraper leads in minutes.

***

### Advanced features & SEO optimization

- 🔍 **Engineered for “twitch email scraper” workflows**: Built specifically for extracting emails from Twitch bios and posts using your keywords and `customDomains`, so you can generate a twitch email list generator-style dataset for outreach.
- 🕒 **Runtime-aware stopping logic**: Uses `maxEmails` as a hard stop for collection, which helps control scraping time and cost.
- 🔄 **Resilient retries & fallbacks**: Includes retries and stop conditions when results are empty or blocked, which improves the chances that your automated twitch email harvesting tool run completes successfully.
- 📁 **Progress persistence for long runs**: Saves `cursor` and already `seen_emails` so long-running jobs are less likely to waste work if interrupted.
- 🧰 **Structured output for downstream pipelines**: Emits consistent fields needed for CRM ingestion and data analysis, making it practical for twitch email data scraper and twitch influencer email list use cases.

***

### Best use cases

- 📈 **Growth marketers building outreach leads**: Generate a targeted twitch influencer email list by filtering emails to the domains you care about.
- 🧑‍💼 **Recruiters sourcing creators**: Find twitch creator email lookup contacts for collaborations, streaming talent, or brand partnerships.
- 💬 **Community managers running research**: Scrape streamer emails for studies on niche communities and creator ecosystems.
- 🛠️ **Sales teams doing B2B outreach**: Use a twitch contact email finder approach to populate lists for proposal workflows.
- 🔎 **Data analysts enriching datasets**: Combine emails with result titles and descriptions for analysis and segmentation.
- 💻 **Developers automating lead generation pipelines**: Feed the structured dataset into your own systems for automated twitch creator email workflows.
- 🎯 **PR and sponsorship teams**: Find twitch channel email contacts tied to specific keywords and domain rules for faster outreach cycles.

***

### Technical specifications

- **Supported Input Formats**
  - ✅ JSON input via the Apify run input fields (`keywords`, `location`, `platform`, `customDomains`, `maxEmails`, `engine`, `proxyConfiguration`)
  - ❌ No non-JSON input formats are supported via the actor schema

- **Proxy Support**
  - ✅ `proxyConfiguration` input is available
  - ✅ Engine selection supports different scraping approaches (`cost-effective` and `legacy`)
  - ❌ No manual proxy URLs are defined as standalone fields in the input schema (use `proxyConfiguration`)

- **Retry Mechanism**
  - ✅ Includes retries and fallback behavior when results are empty/limited
  - ❌ No user-exposed retry-count parameter (retries are handled internally)

- **Dataset Structure**
  - ✅ Each pushed record includes: `network`, `keyword`, `title`, `description`, `url`, `email`, `proxyGroups`

- **Rate Limits & Performance**
  - ✅ Uses `maxEmails` to stop collection once the limit is reached
  - ✅ Large searches or high email limits may take longer (you can plan accordingly)

- **Limitations**
  - ❌ Emails are extracted only from publicly available content on Twitch bios/posts related to your keywords
  - ❌ Results depend on what email addresses are visible publicly and match your `customDomains`

***

### FAQ

#### What does Twitch Email Scraper extract?

✅ Twitch Email Scraper extracts email addresses that match your `customDomains` filter, based on Twitch bios and posts connected to the keywords you provide in `keywords`.

#### How do I make the results more targeted?

Use `customDomains` to limit extraction to specific domains (for example, `@gmail.com`). Also choose more specific terms in `keywords` so the actor focuses on the most relevant Twitch bios and posts.

#### Can I scrape emails without a location filter?

Yes. You can leave `location` as an empty string (default), and the actor will run without location-based filtering.

#### Is there a limit on how many emails I can collect?

Yes. Set `maxEmails` to control the maximum number of emails the actor will collect. It stops once that limit is reached.

#### What is the difference between `cost-effective` and `legacy` engines?

The actor provides two engine options via the `engine` input. `cost-effective` is designed to be more cost-efficient, while `legacy` uses the traditional approach and can be more reliable for some cases. Choose based on your speed vs reliability needs.

#### Do I need to configure proxies?

No. Proxy configuration is optional through `proxyConfiguration`. If you’re running larger jobs or want improved stability, configuring proxies can help.

#### How do I use the output data?

Each record is pushed to the dataset with fields like `email`, `url`, `keyword`, `title`, and `description`. You can export the dataset from the Apify UI and import it into tools like CRMs or analysis workflows.

#### Is this tool legal to use?

✅ Twitch Email Scraper collects information from publicly accessible sources. You’re responsible for complying with applicable laws and platform policies, including privacy and spam regulations.

***

### Support & feature requests

If you’re using Twitch Email Scraper and want to share feedback, we’d love to hear from you! 🚀

- 💡 **Feature Requests**: Want improvements like better export formats, additional filters, or enhancements to the output? Tell us what would make your twitch email scraper workflow faster and more reliable.
- 📧 **Contact**: Reach out at <dataforleads@gmail.com>.

Your feedback helps shape the roadmap for this twitch email extractor.

***

### Disclaimer

**This tool only accesses publicly accessible sources.** It does not access private profiles, authenticated content, or password-protected pages. It’s your responsibility to ensure your use complies with applicable laws (for example, GDPR/CCPA), spam regulations, and Twitch/platform terms of service.

For data removal requests, contact <dataforleads@gmail.com>. Please use Twitch Email Scraper responsibly, ethically, and for legitimate purposes only.

*Built to help you scale Twitch Email Scraper lead generation with an SEO-friendly, structured dataset—efficiently and responsibly.*

# Actor input Schema

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

A list of keywords to search for.

## `location` (type: `string`):

Location to filter search results.

## `platform` (type: `string`):

Select platform.

## `customDomains` (type: `array`):

List of custom email domains

## `maxEmails` (type: `integer`):

Maximum number of emails to collect. The scraper will stop once this limit is reached. Setting a higher limit allows for more potential results but doesn't guarantee reaching that number. This helps save costs by controlling scraping time.

## `engine` (type: `string`):

Choose scraping engine. 🚀 Cost Effective (New): Uses residential proxies with async requests for faster, cheaper scraping. 🔧 Legacy: Uses GOOGLE\_SERP proxy with traditional selectors - more reliable but slower and more expensive.

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

Configure proxies for this Actor.

## Actor input object example

```json
{
  "keywords": [
    "founder",
    "marketing"
  ],
  "location": "",
  "platform": "Twitch",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 20,
  "engine": "legacy"
}
```

# 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": [
        "founder",
        "marketing"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraperoka/twitch-email-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": [
        "founder",
        "marketing",
    ],
    "location": "",
    "customDomains": ["@gmail.com"],
}

# Run the Actor and wait for it to finish
run = client.actor("scraperoka/twitch-email-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": [
    "founder",
    "marketing"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ]
}' |
apify call scraperoka/twitch-email-scraper --silent --output-dataset

```

## MCP server setup

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