# Medium Email Scraper (`email_scraper/medium-email-scraper`) Actor

Medium Email Scraper helps you extract publicly available email addresses from Medium-related search results using keywords, locations, and custom email domains. Generate targeted leads, build outreach lists, and collect structured contact data quickly and efficiently.

- **URL**: https://apify.com/email\_scraper/medium-email-scraper.md
- **Developed by:** [Email Scraper](https://apify.com/email_scraper) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.49 / 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.
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?

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

### Medium Email Scraper – Overview

**Medium Email Scraper** is an Apify Actor designed to help users discover publicly available email addresses associated with Medium content and profiles by searching specific keyword combinations. Instead of manually searching Medium and reviewing results one by one, this actor automates the process and returns structured lead data that can be analyzed, filtered, exported, and integrated into existing workflows.

Whether you work in lead generation, outreach, recruitment, market research, business development, influencer discovery, B2B prospecting, partnership research, or audience analysis, the **Medium Email Scraper** provides a streamlined way to collect contact information related to targeted topics and industries.

The actor allows you to search using multiple keywords, narrow results by location, specify email domain preferences, exclude unwanted profile descriptions, and define collection targets for each keyword and email-domain combination.

> 📌 **Primary Keyword:** Medium Email Scraper

> 🚀 **What it does:** Extracts publicly available email addresses associated with Medium search results based on your keywords, locations, and preferred email domains.

***

### Medium Email Scraper – Key Features

#### ✅ Automated Email Discovery

Find publicly available email addresses associated with Medium-related search results using targeted keyword searches.

#### ✅ Multi-Keyword Search

Search multiple industries, professions, niches, job titles, services, or topics in a single run.

#### ✅ Location Filtering

Optionally narrow searches by city, state, region, or country to focus on geographically relevant contacts.

#### ✅ Custom Email Domain Targeting

Search for specific email types such as:

- @gmail.com
- @yahoo.com
- @outlook.com
- @hotmail.com
- Custom business domains

#### ✅ Exclude Unwanted Results

Skip profile descriptions containing unwanted words or phrases.

#### ✅ Structured Output Dataset

Receive organized lead data including keywords, titles, descriptions, URLs, and discovered email addresses.

#### ✅ Duplicate Protection

Unique email collection helps reduce duplicate records in results.

#### ✅ Resume Support

Long-running collections can continue from saved progress if interrupted.

***

> ### 🔥 Why Use This Medium Email Scraper?
>
> - Save hours of manual research
> - Discover niche-specific Medium contacts
> - Build targeted outreach lists
> - Improve prospecting efficiency
> - Collect structured lead data
> - Search across multiple keyword combinations
> - Focus on specific email providers or domains

***

### Medium Email Scraper – What Data You Can Extract

The **Medium Email Scraper** collects publicly available lead information and returns structured records.

#### Available Data Fields

| Field       | Description                |
| ----------- | -------------------------- |
| keyword     | Search keyword used        |
| title       | Result title               |
| description | Result description snippet |
| url         | Related URL                |
| email       | Extracted email address    |

In addition, records are associated with Medium-related search results and can be used for analysis, filtering, and outreach workflows.

***

### Medium Email Scraper – How It Works

The workflow is intentionally simple.

#### Step 1: Enter Keywords

Provide one or more search terms.

Examples:

- Marketing Manager
- SaaS Founder
- Fitness Coach
- Content Writer
- Startup Consultant
- Cosmetics Supplier
- Skincare Expert

#### Step 2: Add Optional Location

You may narrow searches using a geographic filter.

Examples:

- New York
- London
- Canada
- Germany
- California

Or leave the field empty for broader discovery.

#### Step 3: Specify Email Domains

Choose which email suffixes should be included.

Examples:

- @gmail.com
- @outlook.com
- @yahoo.com
- @company.com

#### Step 4: Set Collection Target

Define how many email addresses to collect for each keyword and domain combination.

#### Step 5: Run the Actor

Start the actor and wait for the collection process to complete.

#### Step 6: Export Results

Export collected data from Apify Dataset in formats supported by the Apify platform.

***

### How to Extract Medium Emails Using Keywords

One of the most effective ways to use the **Medium Email Scraper** is by combining highly specific keywords.

Instead of searching:

- Fitness

Try:

- Fitness Coach
- Online Fitness Coach
- Fitness Influencer
- Fitness Trainer
- Wellness Consultant

Similarly, instead of:

- Marketing

Try:

- Digital Marketing Manager
- Growth Marketing Consultant
- SEO Specialist
- Content Marketing Expert
- Marketing Director

More specific search terms often improve lead quality and relevance.

***

### Can You Target Specific Email Providers?

Yes.

The **Medium Email Scraper** allows users to specify desired email domains.

Examples include:

- Gmail contacts
- Outlook contacts
- Yahoo contacts
- Hotmail contacts
- Company email addresses
- Custom business domains

This flexibility helps users focus on particular outreach strategies.

***

### Medium Email Scraper – Common Use Cases

#### Lead Generation

Build targeted lead lists for sales and business development campaigns.

#### B2B Prospecting

Identify professionals discussing relevant industries and topics on Medium.

#### Influencer Research

Discover writers, creators, consultants, and subject matter experts.

#### Recruitment

Locate professionals connected to specific industries and skill sets.

#### Partnership Discovery

Find potential collaborators, agencies, consultants, and service providers.

#### Market Research

Analyze contacts and content associated with particular sectors.

#### Startup Outreach

Identify founders, entrepreneurs, and business operators publishing online.

#### Agency Prospecting

Create outreach lists for marketing, SEO, web development, consulting, and creative services.

***

> ### 💡 Popular Search Ideas
>
> - SaaS Founder
> - Startup CEO
> - AI Consultant
> - Real Estate Agent
> - Digital Marketer
> - Finance Writer
> - Crypto Analyst
> - Business Coach
> - HR Manager
> - Ecommerce Consultant

***

### Input

The actor supports the following user-configurable inputs.

#### Keywords

**Type:** Array

A list of keywords or search queries.

Example:

```json
[
  "skincare",
  "cosmetics",
  "manager",
  "supplier"
]
```

#### Location

**Type:** String

Optional geographic filter.

Example:

```text
New York
```

Leave blank to search without a location restriction.

#### Custom Domains

**Type:** Array

Email suffixes to include.

Example:

```json
[
  "@gmail.com",
  "@outlook.com"
]
```

#### Max Emails

**Type:** Integer

Maximum number of email addresses collected for each keyword and domain combination.

Example:

```text
20
```

#### Exclude Words

**Type:** Array

Words or phrases that should be ignored when found in result descriptions.

Example:

```json
[
  "crypto",
  "onlyfans"
]
```

***

### Input Example

```json
{
  "keywords": [
    "fitness coach",
    "fitness trainer"
  ],
  "location": "New York",
  "customDomains": [
    "@gmail.com",
    "@outlook.com"
  ],
  "maxEmails": 20,
  "excludeWords": [
    "crypto"
  ]
}
```

***

### Output

The **Medium Email Scraper** produces structured records.

#### Output Example

```json
{
  "keyword": "fitness coach",
  "title": "Fitness Coaching Profile",
  "description": "Professional fitness coach helping clients achieve goals.",
  "url": "https://example.com",
  "email": "example@gmail.com"
}
```

***

### Output Data Fields

> ### 📊 Output Schema
>
> | Field       | Type |
> | ----------- | ---- |
> | keyword     | Text |
> | title       | Text |
> | description | Text |
> | url         | URL  |
> | email       | Text |

***

### Medium Email Scraper for Lead Generation

Lead generation teams often spend significant time researching contacts manually.

The **Medium Email Scraper** helps automate this process by collecting publicly available contact information associated with relevant topics, professions, industries, and geographic regions.

Examples include:

- Marketing professionals
- Startup founders
- Coaches
- Consultants
- Recruiters
- Agencies
- Ecommerce specialists
- Business owners
- Authors
- Content creators

By combining multiple keywords with multiple email domains, users can significantly expand their search coverage.

***

### Medium Email Scraper for B2B Prospecting

B2B teams frequently require targeted prospect lists.

The actor can be used to discover contacts connected to:

- SaaS
- Technology
- Healthcare
- Finance
- Manufacturing
- Logistics
- Marketing
- Human Resources
- Ecommerce
- Education

This makes the **Medium Email Scraper** useful for prospecting, partnership research, and outbound campaigns.

***

### Pricing

#### Important Pricing Information

The actor configuration does **not specify a public monetary price**.

Because pricing may change over time within Apify, users should refer to the current actor listing for the latest pricing information.

However, the actor allows users to control resource usage through:

- Keyword selection
- Email domain selection
- Maximum email limits
- Geographic filtering
- Exclusion filters

Smaller searches typically complete faster than broad searches.

***

> ### ⚠️ Important Notes
>
> - Results depend on publicly available information.
> - Not every keyword will produce the same number of contacts.
> - Narrow searches may return fewer results.
> - Broad keyword coverage generally increases discovery opportunities.
> - Email availability depends on what is publicly accessible.
> - Location filters may reduce overall result volume.

***

### Tips and Best Practices

#### Use Multiple Related Keywords

Instead of one keyword, use several closely related terms.

Example:

- Content Writer
- Freelance Writer
- Technical Writer
- Copywriter
- Blog Writer

#### Try Multiple Email Domains

Include more than one email suffix.

Example:

- @gmail.com
- @outlook.com
- @yahoo.com
- @hotmail.com

#### Avoid Overly Narrow Filters

If results are limited:

- Remove location restrictions
- Expand keyword coverage
- Add additional domains

#### Use Exclude Words Strategically

Exclude irrelevant niches to improve lead quality.

Examples:

- crypto
- gambling
- adult
- nft

***

### Frequently Asked Questions

#### What is Medium Email Scraper?

Medium Email Scraper is an Apify Actor that extracts publicly available email addresses associated with Medium-related search results based on user-defined keywords and filters.

#### How does Medium Email Scraper find emails?

The actor searches for publicly available information connected to your keyword and email-domain combinations and returns structured lead records.

#### Can I search multiple keywords at once?

Yes. The actor supports multiple keywords in a single run.

#### Can I target Gmail addresses only?

Yes. You can specify one or more email domain suffixes, including Gmail.

#### Can I collect Outlook or Yahoo emails?

Yes. Multiple email domains can be included simultaneously.

#### Can I filter by country or city?

Yes. The optional location field allows geographic filtering.

#### Can I exclude unwanted niches?

Yes. The exclude words feature helps remove unwanted descriptions containing specified words or phrases.

#### What data does Medium Email Scraper return?

The actor returns:

- Keyword
- Title
- Description
- URL
- Email Address

#### Can I export results?

Yes. Results are stored in the Apify dataset and can be exported using Apify's available export options.

#### Does Medium Email Scraper remove duplicate emails?

Yes. Duplicate email handling is supported during collection.

#### Is every requested email guaranteed to be found?

No. Results depend on publicly available information and available search coverage.

#### Can I use Medium Email Scraper for sales prospecting?

Yes. Many users employ the actor for outreach preparation, lead research, and business development workflows.

#### Can recruiters use Medium Email Scraper?

Yes. Recruiters can search for professionals using role-specific keywords and geographic filters.

#### What are the best keywords for Medium Email Scraper?

Examples include:

- Founder
- CEO
- Consultant
- Coach
- Manager
- Recruiter
- Marketer
- Developer
- Designer
- Writer

#### How can I increase the number of results?

Try:

- More keywords
- More domain suffixes
- Broader locations
- Fewer exclusions

***

### Support

Need assistance, customization, workflow improvements, or a tailored version of the actor?

💬 Custom implementations, enhancements, and specialized lead-generation workflows can be discussed directly with the actor developer.

For the best results, include:

- Your target niche
- Desired locations
- Preferred email domains
- Expected lead volume
- Any required filtering rules

This information helps determine the most effective configuration for your Medium email discovery workflow.

# Actor input Schema

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

A list of keywords or queries to search for.

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

Optional country, state or city used to narrow the search. Leave it empty to search without a geographic filter.

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

List of custom email domains

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

How many addresses each search keyword + domain suffix combination may collect before the finder moves on to the next one. This is a per-combination target, not a run-wide total: with 3 keyword and 2 Domains and a limit of 20, the run works through all 6 combinations and aims for up to 20 addresses in each, so up to 120 overall. Lower values finish sooner and cost less; higher values dig deeper but never guarantee a fuller result, since the run can only find what is publicly listed.

## `excludeWords` (type: `array`):

Words or phrases you do not want to see.

## Actor input object example

```json
{
  "keywords": [
    "skincare",
    "cosmetics",
    "manager",
    "supplier"
  ],
  "location": "New york",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 5,
  "excludeWords": []
}
```

# 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": [
        "skincare",
        "cosmetics",
        "manager",
        "supplier"
    ],
    "location": "New york",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("email_scraper/medium-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": [
        "skincare",
        "cosmetics",
        "manager",
        "supplier",
    ],
    "location": "New york",
    "customDomains": ["@gmail.com"],
    "excludeWords": [],
}

# Run the Actor and wait for it to finish
run = client.actor("email_scraper/medium-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": [
    "skincare",
    "cosmetics",
    "manager",
    "supplier"
  ],
  "location": "New york",
  "customDomains": [
    "@gmail.com"
  ],
  "excludeWords": []
}' |
apify call email_scraper/medium-email-scraper --silent --output-dataset

```

## MCP server setup

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