# Mass Reddit Email Scraper (`perfectscrape/reddit-email-scraper`)

Extract emails from Reddit fast and effortlessly! Search by keywords, location, scrape unlimited amount of emails, and set filters for domains like Gmail, Yahoo, or custom options. Get precise email lists with Reddit source links. Get emails from comments, profile and posts. Try it today! 🚀

- **URL**: https://beta-securitybyobscurity.apify.com/perfectscrape/reddit-email-scraper.md
- **Developed by:** [Sadnan](https://beta-securitybyobscurity.apify.com/perfectscrape) (community)
- **Categories:** Lead generation, Social media
- **Stats:** 44 total users, 8 monthly users, 100.0% runs succeeded, 4 bookmarks
- **User rating**: No ratings yet

## Pricing

$7.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/platform/actors/running/actors-in-store#rental-actors

# README

## Fast Reddit Email Scraper

**Reddit Email Scraper** is a fast and efficient tool for extracting email addresses from Reddit profile, posts, comments, etc. Designed for precision, it allows users to target specific keywords, and email domains to collect accurate and reliable email leads. With it's high optimization, it can process hundreds of queries per second. It also saves you on Apify's resource cost with it's very resource effecient coding standards.

With lightning-fast performance, customizable filters, and proxy support, this scraper ensures you can gather high-quality data at scale without breaking a sweat. Whether you're looking to collect emails for outreach, build contact lists, or conduct targeted searches, this tool makes the process simple and effective.

***

### 🌟 Features

- **Blazing Speed**: It can process upto hundreds of emails per minutes, extracting data quickly and reliably.
- **Keyword Targeting**: Focus your search with keywords to pinpoint relevant profiles and posts.
- **Location Targeting**: You can target custom location with the help of keyword field. it works as a location filter as well!
- **Custom Domain Filters**: Extract emails from popular domains like Gmail, Yahoo, and Outlook, or set your own custom domains to scrape emails from.
- **Proxy Support**: Use proxy configurations to avoid blocks and ensure smooth operation.
- **Precise Data Collection**: Gather emails along with links to the corresponding Reddit content for full context.
- **Low Rental Price**: This scraper has been priced at only $5/month, making it very affordable. Highly optimized scraper for a very affordable rental fee. It also saves you on Apify's resource cost with it's very resource effecient coding standards.

***

### 🛠️ How to Use

1. **Set Filters**: Define keywords, email domains, and the number of emails to scrape.
2. **Configure Proxies**: Add proxy settings for uninterrupted scraping. This is optional. You don't need proxy in most cases, but the scraper is getting blocked, please allow proxy for it to run.
3. **Run the Scraper**: Start the tool and watch it extract emails with email source links.
4. **Export Data**: Download results in CSV or JSON format for further use.

***

### 💰 How Much Does It Cost to Run This Scraper?

The Reddit Email Scraper is designed to be highly optimized, saving you as much as possible on Apify costs. Its efficiency ensures that you get fast results without overusing resources.

For example, in a test run with proxy settings, the scraper extracted **100 results (emails)** with the following details:

- **Results:** 100 emails
- **Average Ram usage**: 701.7 MB
- **Requests:** 31 of 31 handled
- **Cost:** **$0.034**
- **Duration:** 1 minute, 9 seconds

This benchmark shows that the scraper is not only fast but also incredibly cost-effective. Scaling up for thousands of emails remains affordable, making this tool ideal for both small and large-scale use cases.

📊 **Test Summary**:\
![Benchmark Results](https://i.postimg.cc/x1YpPmKv/Screenshot-2024-11-28-2126462.png)

You can use any Apify package or pay-as-you-go however Apify offers a great deal with its **Starter package**. This plan provides 32GB of RAM and supports 32 maximum concurrent runs 🚀

***

### 📝 Input Fields

| **Input Field**        | **Description**                               | **Type**       |
| ---------------------- | --------------------------------------------- | -------------- |
| **keyword**            | List of keywords to search for on Reddit.     | Array (string) |
| **maximumemails**      | Number of emails you want to scrape at most   | Integer        |
| **scrapeGmail**        | Include @gmail.com emails in the results.     | Boolean        |
| **scrapeYahoo**        | Include @yahoo.com emails in the results.     | Boolean        |
| **scrapeOutlook**      | Include @outlook.com emails in the results.   | Boolean        |
| **scrapeCustom**       | Custom email domains to scrape (without `@`). | Array (string) |
| **proxyConfiguration** | Proxy settings for smooth operation.          | Object         |

#### 📥 Input Example (JSON)

```json
{
    "keyword": ["marketing manager"],
    "pagesToScrape": 10,
    "scrapeGmail": true,
    "scrapeYahoo": true,
    "scrapeOutlook": false,
    "scrapeCustom": ["businessdomain.com"]
}
```

### 📤 Output Fields

| **Field**   | **Description**                                          | **Example**                                               |
| ----------- | -------------------------------------------------------- | --------------------------------------------------------- |
| **email**   | List of extracted email addresses.                       | `"dempseyspecialist08@gmail.com"`                         |
| **link**    | URL of the corresponding Reddit profile, post, or group. | `https://www.Reddit.com/groups/266318674655211/posts/...` |
| **keyword** | Keyword used in the search that generated this result.   | `"marketing manager"`                                     |

##### 📥 Example Output:

```json
{
    "email": "kallie.ankeny@gmail.com",
    "link": "https://www.Reddit.com/groups/266318674655211/posts/...",
    "keyword": "marketing manager"
}
```

***

### 🚀 Why Use Reddit Email Scraper?

- **Speed and Efficiency**: Collect large amounts of data in a fraction of the time it would take manually.
- **Customizable Searches**: Tailor your search parameters to get exactly the data you need.
- **Accurate Results**: Extract precise data tied to Reddit profiles and posts for actionable insights.
- **Seamless Integration**: Export data in compatible formats for easy use with other tools or platforms.

***

### 🛡️ Bugs, Fixes, and Updates

We continuously improve this scraper to ensure it performs seamlessly. If you encounter any issues, have feature requests, or want to report a bug, please [create an issue here](https://console.apify.com/actors/DGfCoQI9ATEFSuX6m/issues). Regular updates focus on adding features, improving accuracy, and enhancing speed.

***

Get started with **Reddit Email Scraper** today and take control of your data collection process for just $5/month!

# Actor input Schema

## `keyword` (type: `string`):

Keyword to search for in the Pinterest profile/posts. It can be a Location, job title, company name, etc or combined.

## `pagesToScrape` (type: `integer`):

The number of emails to scrape. The scraper will stop after scraping this amount of emails.

## `scrapeGmail` (type: `boolean`):

Whether to scrape emails with @gmail.com domain

## `scrapeYahoo` (type: `boolean`):

Whether to scrape emails with @yahoo.com domain

## `scrapeOutlook` (type: `boolean`):

Whether to scrape emails with @outlook.com domain

## `scrapeCustom` (type: `array`):

Custom email domains to scrape. Without the '@' symbol

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

Proxy settings for the scraper

## Actor input object example

```json
{
  "keyword": "marketing",
  "pagesToScrape": 20,
  "scrapeGmail": true,
  "scrapeYahoo": true,
  "scrapeOutlook": true
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("perfectscrape/reddit-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 = {}

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

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

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

```

## CLI example

```bash
echo '{}' |
apify call perfectscrape/reddit-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=perfectscrape/reddit-email-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Mass Reddit Email Scraper",
        "description": "Extract emails from Reddit fast and effortlessly! Search by keywords, location, scrape unlimited amount of emails, and set filters for domains like Gmail, Yahoo, or custom options. Get precise email lists with Reddit source links. Get emails from comments, profile and posts. Try it today! 🚀",
        "version": "0.0",
        "x-build-id": "ausg7TFCSJQYdFrbd"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/perfectscrape~reddit-email-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-perfectscrape-reddit-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/perfectscrape~reddit-email-scraper/runs": {
            "post": {
                "operationId": "runs-sync-perfectscrape-reddit-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/perfectscrape~reddit-email-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-perfectscrape-reddit-email-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Keyword to search for in the Pinterest profile/posts. It can be a Location, job title, company name, etc or combined.",
                        "default": "marketing"
                    },
                    "pagesToScrape": {
                        "title": "Maximum Emails to Scrape",
                        "minimum": 1,
                        "type": "integer",
                        "description": "The number of emails to scrape. The scraper will stop after scraping this amount of emails.",
                        "default": 20
                    },
                    "scrapeGmail": {
                        "title": "Scrape @gmail.com?",
                        "type": "boolean",
                        "description": "Whether to scrape emails with @gmail.com domain",
                        "default": true
                    },
                    "scrapeYahoo": {
                        "title": "Scrape @yahoo.com?",
                        "type": "boolean",
                        "description": "Whether to scrape emails with @yahoo.com domain",
                        "default": true
                    },
                    "scrapeOutlook": {
                        "title": "Scrape @outlook.com?",
                        "type": "boolean",
                        "description": "Whether to scrape emails with @outlook.com domain",
                        "default": true
                    },
                    "scrapeCustom": {
                        "title": "Custom email domains to scrape (Without '@' symbol)",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Custom email domains to scrape. Without the '@' symbol",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration. For best results use proxy",
                        "type": "object",
                        "description": "Proxy settings for the scraper"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
