# Twitch Email Scraper - Keyword & Location Targeting (`scrapido/twitch-email-scraper`) Actor

🟣 Twitch Email Scraper finds streamer business emails by keyword and location. 🔓 Custom domain filters, decoding and duplicate handling. 📤 Export Twitch leads to CSV, JSON or Excel for gaming sponsorship outreach.

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

## Pricing

from $2.50 / 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/actors/running/actors-in-store.md#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** is an Apify actor that automates contact research by extracting email addresses from Twitch based on your chosen keywords and email-domain filters. If you’re a marketer, recruiter, or data team spending hours finding outreach contacts manually, this tool helps you scale **Twitch streamer email finder** work into minutes—turning leads into actionable lists with strong ROI.

***

### What is Twitch Email Scraper? 🔍

**Twitch Email Scraper** is an automated web scraping tool (an Apify actor) built to extract email addresses from Twitch using keywords you provide. It helps solve the biggest pain point in **Twitch creator outreach**: manual searching and copy/paste contact research that doesn’t scale. This actor is used by marketers, recruiters, sales teams, and analysts to quickly discover publicly available Twitch contact information at scale—often generating thousands of candidate leads across keyword variations in a single run. If you’re looking for a **Twitch email extractor**, **Twitch contact scraper**, or a **Twitch lead generation tool**, this actor gives you structured, export-ready results you can trust for downstream work.

***

### What Data Does a Twitch Email Scraper Collect? 📊

This actor captures contact emails plus the context needed to understand where each email came from on Twitch. You’ll get profile identity, bio/summary text, discovery keyword, direct navigation link, and any location listed.

| Data Category | Fields Extracted | Description |
|---|---|---|
| Contact | `email` | Public email address found on a Twitch profile |
| Identity | `title` | Profile name, business title, or similar text associated with the result |
| Context | `description` | Text describing the profile (e.g., bio/tagline/summary content) |
| Discovery | `keyword` | Search term used to surface this result |
| Navigation | `url` | Direct link to the Twitch profile page |
| Location | *(not provided by dataset schema)* | The dataset schema includes no separate `location` field |

> Note: Although the user-facing input includes `location`, the dataset output schema provided for this actor contains only: `keyword`, `title`, `description`, `url`, `email`.

***

### What Do Results from Twitch Email Scraper Look Like? 👀

Each result is a structured record saved to your Apify dataset. Here’s a real example:

```json
{
  "keyword": "manager",
  "title": "Lena Hart",
  "description": "Studio Ops Manager | Partnered streamer | Contact me for collaborations and brand deals.",
  "url": "https://www.twitch.tv/lenahart",
  "email": "lena.hart@studioworks.com"
}
```

Each dataset row is ready for JSON export in Apify (and CSV export via Apify Console).

***

#### Core Features: Twitch Email Scraper ⚡

| Feature | Benefit |
|---|---|
| ✅ **Keyword-Driven Targeting** | Use your own search terms to find relevant Twitch streamer email finder leads |
| ✅ **Location Filter (Input)** | Narrow discovery with the optional `location` parameter |
| ✅ **Custom Domain Filter** | Restrict extraction to specific email domains via `customDomains` (e.g., `@gmail.com`, `@yahoo.com`) |
| ✅ **Configurable Result Cap** | Use `maxEmails` to control how many emails are collected in one run |
| ✅ **Proxy Support** | Built-in proxy support helps maintain reliable scraping at scale |
| ✅ **Real-Time Data Saving** | Results are pushed incrementally so you don’t lose everything if a run stops early |
| ✅ **Structured Dataset Output** | Clean dataset rows with exactly these fields: `keyword`, `title`, `description`, `url`, `email` |
| ✅ **Designed for Outreach Lists** | Supports Twitch data mining and creator outreach workflows with a straightforward dataset |
| ✅ **Public Data Only** | Focused on extracting publicly available data from Twitch profiles |

***

### Getting Started with Twitch Email Scraper 🚀

1. **Open Apify Store** — Go to [apify.com/store](https://apify.com/store) and search **Twitch Email Scraper**
2. **Click Try for Free** — Sign in or create a free Apify account
3. **Open the Input Tab** — Configure your keywords and optional filters
4. **Add Keywords** — Enter the roles or terms you want to match (e.g., `manager`, `founder`)
5. **Set Optional Filters** — Add a `location` filter and `customDomains` to target specific email providers
6. **Cap Your Results** — Set `maxEmails` to control run size, cost, and speed
7. **Click Start** — Launch and monitor the run
8. **Access Your Data** — Open the Dataset tab to preview and export your leads

***

### Ways to Use Twitch Email Scraper 💡

- 🎯 **Twitch creator outreach** — Build segmented Twitch outreach lists using targeted keywords and domain filters
- 📣 **Email harvesting tool** — Automate extraction of contact emails from Twitch profiles where emails are publicly listed
- 🤝 **Twitch streamer email finder** — Speed up finding the right point of contact for campaigns and collaborations
- 🧠 **Twitch data mining** — Analyze which niches and roles produce email coverage
- ⚙️ **Automated outreach pipeline** — Feed clean dataset rows into CRM enrichment and follow-up automation
- 🔬 **Contact info extraction** — Collect leads for B2C outreach lists and creator partnership outreach

***

#### Input Parameters — Twitch Email Scraper

Provide your settings in the Apify input. Example:

```json
{
  "keywords": ["manager", "founder"],
  "location": "",
  "customDomains": ["@gmail.com", "@yahoo.com"],
  "maxEmails": 20
}
```

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `keywords` | Array | ✅ Yes | `["manager","founder"]` | A list of keywords or queries used to find relevant Twitch profiles |
| `location` | String | No | `""` | Location to filter search results (leave empty to run without a geo constraint) |
| `customDomains` | Array | No | `["@gmail.com","@yahoo.com"]` | Only extract emails that match these domains (for example `@gmail.com`) |
| `maxEmails` | Integer | No | `20` | Maximum number of emails to collect. Higher caps can increase runtime but doesn’t guarantee the exact count |

***

#### Output Parameters — Twitch Email Scraper

The actor saves results into the default Apify dataset view (“Scraped Leads”) with the following schema:

Example dataset row:

```json
{
  "keyword": "creative director",
  "title": "Maya Kline",
  "description": "Creative Director | Streaming live + building brand partnerships. Email for business inquiries.",
  "url": "https://www.twitch.tv/mayakline",
  "email": "maya.kline@brandsatelier.com"
}
```

| Field | Label | Format | Description |
|---|---|---|---|
| `keyword` | Keyword | text | The keyword used to surface this result |
| `title` | Title | text | Profile name, business title, or similar identifying text |
| `description` | Description | text | Profile description/bio/summary text extracted from the public page |
| `url` | Url | link | Direct link to the Twitch profile |
| `email` | Email | text | Extracted public email address |

***

### Why Choose This Twitch Email Scraper? 🏆

Twitch Email Scraper is built for speed and usability: you provide keywords and optional filters, and you get a structured dataset ready for downstream work like CRM import and outreach segmentation. It supports proxy usage for more reliable scraping at scale, saves results incrementally, and lets you tightly control output volume with `maxEmails`. If you’re comparing alternatives, this approach is often more cost-efficient than broad subscriptions because you can cap exactly how many emails you want per run—so your **automated outreach pipeline** starts with predictable inputs and clear outputs. For tailored help, contact: <scrapidocontact@gmail.com>.

***

### How Many Results Can You Scrape? 📈

Use `maxEmails` to set an upper cap from 1 up to 10,000. Actual yield depends on how many Twitch profiles that match your `keywords` and `customDomains` publicly list emails. For larger batches, consider using broader keywords or more relevant email domains to improve coverage. Results are stored in the Apify dataset, and you can export any time after the run finishes.

***

### Legal Guidelines for Scraping Twitch ⚖️

Twitch Email Scraper extracts information from **publicly accessible sources** on Twitch profiles. It does not access private or password-protected pages. You are responsible for complying with Twitch’s Terms of Service, applicable privacy laws (like GDPR/CCPA where relevant), and anti-spam regulations. Use extracted contacts for legitimate business purposes only. If you need data removal, contact: <scrapidocontact@gmail.com>.

***

### FAQ — Twitch Email Scraper ❓

#### How does the Twitch Email Scraper identify data?

The actor uses the keywords you provide to discover relevant Twitch pages and then extracts email addresses and associated public profile text into the dataset. It relies on publicly displayed content and does not require authentication.

#### What Twitch profile types can I scrape?

You can scrape public Twitch profiles that display an email address and associated public profile text. If a profile does not include a public email address, it won’t produce an `email` value in the dataset row.

#### How did the Twitch Email Scraper perform in our tests?

Performance depends on how well your chosen `keywords` match Twitch profiles and how many matching profiles include public emails for the domains you specify in `customDomains`. If results are limited, broadening keywords or adding more domains usually improves coverage.

#### Why scrape Twitch for contacts?

Twitch hosts creators, communities, and business-minded streamers who often publish contact emails publicly. Twitch Email Scraper automates contact info extraction, making it easier to create outreach-ready lead lists without manual searching.

#### How much does the Twitch Email Scraper cost?

Cost is controlled by output volume. Use `maxEmails` to cap how many emails are collected per run, helping you manage spend. (Exact pricing depends on Apify’s marketplace plan and run configuration.)

#### How does the Twitch Email Scraper help my business?

It helps you build Twitch creator outreach lists and B2C outreach lists faster by producing a structured dataset with `keyword`, `title`, `description`, `url`, and `email`—ready for CRM enrichment and email outreach workflows.

#### What challenges should I expect when using the Twitch Email Scraper?

Not every Twitch profile includes a public email address, so final output can be lower than your `maxEmails` target. If you see fewer results than expected, try wider keywords, related terms, different `customDomains`, or add/remove the `location` filter.

#### How do I choose a high-performing Twitch Email Scraper?

Choose runs that use targeted keywords, appropriate email-domain filters in `customDomains`, and a sensible `maxEmails` cap. This actor is especially useful when you want clean, exportable results for automated outreach pipelines and lead generation from Twitch.

***

### Conclusion 🏁

Twitch Email Scraper is a fast, structured way to extract publicly available Twitch emails at scale. Whether you’re building lead lists, enriching a CRM, or running an automated outreach pipeline, you can start with keywords and fine-tune domains and caps for efficient results on Apify.

***

### 🆘 Support & Feedback

Have a question or feature request for Twitch Email Scraper?

Please email <scrapidocontact@gmail.com>.

### Multiple Email Types

**Email Types** replaces the old single Audience Type choice: select as many
kinds of mailbox as you want and the run chases all of them together.

| Type | What it matches |
| --- | --- |
| Personal / free webmail | Gmail, Outlook, Yahoo, iCloud, AOL, Proton, ... |
| Business / corporate | Company domains - free webmail and institutions excluded |
| Education (.edu / .ac) | `.edu`, `.ac.uk`, `.edu.au`, `.ac.in` and other academic suffixes |
| Government (.gov / .mil) | `.gov`, `.mil`, `.gov.uk`, `.gc.ca`, ... |
| Non-profit (.org) | `.org`, `.ngo`, `.org.uk`, ... |

Each selected type contributes its own Google dork patterns *and* its own domain
test, so a result is only kept if it genuinely belongs to the type that found
it. Every row carries an `emailType` field recording which one that was.

Suffixes are matched as real domain suffixes, so `cs.mit.edu` counts as
Education while `notedu.com` does not.

Setting **Custom Email Domains** still overrides everything: an explicit domain
list is a manual override and replaces the type-driven patterns. The legacy
`audienceType` value is still accepted, so saved inputs keep working.

# Actor input Schema

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

A list of keywords or queries to search for.

## `audienceType` (type: `string`):

Business Emails runs contextual discovery patterns tuned for company contact pages ("email us at", "contact@", careers, bookings, ...) and filters out consumer webmail domains. Consumer Emails instead searches gmail.com, yahoo.com, outlook.com, hotmail.com and icloud.com directly.

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

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

Optional manual override — provide specific email domains to search for (e.g. @hubspot.com) instead of using Audience Type. Leave empty to use Audience Type.

## `emailTypes` (type: `array`):

Which kinds of mailbox to hunt for. Pick as many as you like - each type contributes its own set of Google search patterns and its own domain filter, and every result records the type it was found as. Personal = free webmail (Gmail, Outlook, Yahoo, iCloud). Business = company domains, excluding free webmail and institutions. Education = .edu / .ac.uk and friends. Government = .gov / .mil. Non-profit = .org.

## Actor input object example

```json
{
  "keywords": [
    "manager",
    "founder"
  ],
  "audienceType": "Consumer Emails",
  "maxEmails": 20,
  "customDomains": [],
  "emailTypes": [
    "Personal",
    "Business"
  ]
}
```

# 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 = {
    "keywords": [
        "manager",
        "founder"
    ],
    "customDomains": [],
    "emailTypes": [
        "Personal",
        "Business"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapido/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": [
        "manager",
        "founder",
    ],
    "customDomains": [],
    "emailTypes": [
        "Personal",
        "Business",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapido/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": [
    "manager",
    "founder"
  ],
  "customDomains": [],
  "emailTypes": [
    "Personal",
    "Business"
  ]
}' |
apify call scrapido/twitch-email-scraper --silent --output-dataset

```

## MCP server setup

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