# Wordpress Email Scraper - Domain Filter & Deduplication (`insightflow/wordpress-email-scraper-powerful-and-intelligent`) Actor

🔵 WordPress Email Scraper — turn WordPress searches into a clean site owner email list. Filter by keyword, location and domain, merge alias duplicates and decode hidden addresses. 🔗 For link building & plugin marketing.

- **URL**: https://apify.com/insightflow/wordpress-email-scraper-powerful-and-intelligent.md
- **Developed by:** [InsightFlow](https://apify.com/insightflow) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

### Wordpress Email Scraper

**Wordpress Email Scraper** helps you collect publicly available email addresses from WordPress-based pages using your chosen keywords, filters, and email domains. It’s a practical **WordPress email scraper** and **WordPress email extractor** for lead generation, contact scraping, and faster email collection at scale. 🚀

### What Does Wordpress Email Scraper Do? 🤖

Wordpress Email Scraper scrapes publicly available WordPress pages based on the keywords you provide, then extracts contact details that match your selected email domains. During a run, it collects titles, page descriptions, direct page URLs, and email addresses, filtering results by keyword and optional location. This makes it a useful **email scraping tool** for marketers, analysts, and researchers who want to automate **WordPress email extraction** instead of doing everything manually. ✅

### What Can Wordpress Email Scraper Extract? 📊

This actor returns a clean set of lead data from WordPress pages. The output is designed for structured review, export, and downstream analysis, making it a handy **website email scraper** and **business email finder** for public web data. 📬

| Data Type | Field Name | Description |
|---|---|---|
| Discovery | `keyword` | The search term that surfaced the result |
| Identity | `title` | The page or profile title |
| Context | `description` | The visible page description or summary text |
| Navigation | `url` | Direct link to the page where the result was found |
| Contact | `email` | The extracted email address |

#### Key Features of Wordpress Email Scraper ⚡

- ✅ **Keyword-Driven Search:** Use your own keywords to focus on relevant WordPress pages and improve lead generation quality.
- 🌍 **Location Targeting:** Add a location filter to narrow results by region when you need more specific contact scraping.
- 📧 **Custom Domain Filtering:** Limit results to selected email domains such as `@gmail.com` or `@yahoo.com` for more targeted email harvesting.
- 🔄 **Reliable Runs:** Built for resilient scraping with retries, fallbacks, and progress saving so longer runs can continue smoothly.
- 📊 **Structured Dataset Output:** Every result is stored in a clean dataset format that’s easy to export and analyze.
- 💾 **Real-Time Saving:** Results are pushed as they’re found, reducing the risk of losing progress during longer runs.
- ⚙️ **Configurable Limits:** Set `maxEmails` to control how many emails you want to collect and manage run size.
- 🧭 **Public Web Data Only:** Focused on publicly available sources, which keeps the workflow practical for research and outreach.

### How to Use Wordpress Email Scraper 🚀

1. **Open the Actor** — Find Wordpress Email Scraper in the Apify Store.
2. **Enter Keywords** — Add one or more keywords related to the people, roles, or topics you want to find.
3. **Set Optional Filters** — Add a location and choose custom email domains if needed.
4. **Adjust the Limit** — Set `maxEmails` to control how many results you want.
5. **Run the Actor** — Start the actor and monitor progress in the Apify Console.
6. **Review the Dataset** — Open the dataset tab to inspect the scraped leads.
7. **Export Your Results** — Download the output for CRM enrichment, analysis, or outreach. ✨

No coding required.

### Wordpress Email Scraper Output Format 📦

The actor saves results to your Apify dataset in structured JSON format, ready for export or integration with your workflow. Here’s an example of the output you can expect from a **web scraper** built for WordPress contact collection.

#### Input Example

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

#### Output Example

```json
[
  {
    "keyword": "manager",
    "title": "Jane Smith",
    "description": "Marketing manager with a strong background in content strategy and audience growth.",
    "url": "https://examplewordpresssite.com/team/jane-smith",
    "email": "jane.smith@gmail.com"
  }
]
```

| Field | Label | Format | Description |
|---|---|---|---|
| `keyword` | Keyword | text | The keyword that led to this result |
| `title` | Title | text | The page or profile title |
| `description` | Description | text | Visible summary text from the page |
| `url` | Url | link | Direct link to the page where the email was found |
| `email` | Email | text | The extracted email address |

### Use Cases of Wordpress Email Scraper 🎯

**B2B Lead Generation:** Build targeted contact lists from public WordPress pages for outreach, prospecting, and campaign planning.

**Email Marketing Campaigns:** Use extracted contacts for newsletters, follow-ups, and audience segmentation.

**Market Research:** Study public WordPress content to identify niche communities, topics, and contact patterns.

**CRM Enrichment:** Add new email addresses and source URLs to existing records for better lead profiles.

**Contact Scraping for Researchers:** Collect publicly available contact data for datasets, trend analysis, or editorial research.

### How Much Will Wordpress Email Scraper Cost You? 💰

How much does Wordpress Email Scraper cost? The answer depends on your Apify usage and how many results you choose to collect. Use `maxEmails` to cap spending and keep runs predictable. Apify also provides a free tier for new users, making this an accessible **email collection** and **email crawler** workflow for smaller tests before scaling up. 📈

### Is It Legal to Scrape Wordpress? ⚖️

This actor works with publicly available data from WordPress-based pages and does not require private access. As with any **email scraping tool**, you’re responsible for using the collected data in line with applicable laws, platform terms, and anti-spam rules. Always use scraped contacts for legitimate purposes such as research, outreach, or lead generation. For questions or data-removal requests, contact <insightflowofficial@gmail.com>. ✅

### Wordpress Email Scraper Input Parameters 📋

```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 WordPress pages. |
| `location` | String | No | `""` | Optional location filter to narrow the results. |
| `customDomains` | Array | No | `["@gmail.com","@yahoo.com"]` | Email domains to match when extracting addresses. |
| `maxEmails` | Integer | No | `20` | Maximum number of emails to collect before the actor stops. |

### During the Actor Run ⏱️

While the actor is running, you can expect live progress updates in the Apify Console and incremental dataset saving as results are found. Runtime depends on your keywords, filters, and `maxEmails` setting, so larger runs may take longer. If results are limited, try broader keywords, more domain options, or a wider location approach. 🔁

### Final Note ✉️

Start extracting WordPress emails in minutes with Wordpress Email Scraper — a simple way to automate lead generation and public contact scraping at scale. Questions or custom requests? Reach out at <insightflowofficial@gmail.com>. 🚀

### FAQ — Wordpress Email Scraper ❓

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

The actor uses your keywords and optional filters to identify relevant WordPress pages, then collects publicly available email addresses that match your selected domains. It returns only emails it finds in public web data.

#### What types of WordPress pages can I scrape?

You can scrape public WordPress pages that display contact details or email addresses in visible content. Pages without public email information will not produce contact results.

#### Why use Wordpress Email Scraper for lead generation?

It saves time by automating email harvesting and contact scraping from public WordPress pages. Instead of checking pages one by one, you can collect structured lead data in one run.

#### How much does it cost to use Wordpress Email Scraper?

Cost depends on your Apify usage and how many results you collect. Set `maxEmails` to manage the run size and keep your email collection budget under control.

#### What makes a good keyword set for this email crawler?

A good keyword set is specific enough to find relevant pages, but broad enough to return useful results. If results are too small, try related terms or remove overly narrow filters.

#### Can I use this as a WordPress plugin?

No. Wordpress Email Scraper is an Apify actor, not a WordPress plugin. It runs in Apify and collects data from publicly available WordPress pages.

#### What should I do if I need help?

If you need help, want to report an issue, or have a custom request, contact <insightflowofficial@gmail.com>. Our team can help with support and feedback.

### Support & Feedback

Need help with Wordpress Email Scraper or want a custom feature? Contact us at <insightflowofficial@gmail.com>. We’re happy to help with bug reports, usage questions, and feature ideas.

### MX Lookup

Every address is checked at the DNS level: the actor resolves the mail domain's
MX records and reports what it found.

| Field | Meaning |
| --- | --- |
| `mxFound` | `true` when the domain publishes at least one mail server |
| `mxHost` | The lowest-preference (primary) mail server |
| `mxRecords` | Every MX record found, in preference order |
| `mxProvider` | Who runs the mail: Google Workspace, Microsoft 365, Zoho, Proton, ... |
| `mxStatus` | `found`, `no_records`, `no_such_domain`, `timeout`, `error`, or `skipped` |

**Inputs**

- **MX Lookup** - turn the check on or off (default: on).
- **Only keep contacts whose domain has an MX record** - drop unreachable domains.
  Only a definite negative (`no_records` / `no_such_domain`) drops a contact; a
  timeout or resolver error is treated as unknown and the lead is kept.
- **MX lookup timeout (seconds)** - per-domain DNS budget, 1-15s.

This is a domain-level check. It confirms the domain can receive mail; it does
not verify that an individual mailbox exists.

# Actor input Schema

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

A list of keywords or queries to search for.

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

Location to filter search results.

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

## `minLeadScore` (type: `integer`):

Drop any contact whose Lead Score (0-100) falls below this. Leave at 0 for no filter.

## `mxLookup` (type: `boolean`):

Resolve each address's domain to its mail servers. Adds the resolved MX hosts and the mail provider (Google Workspace, Microsoft 365, ...) to every result, and feeds the Lead Score. DNS-level only - it confirms the domain can receive mail, not that the individual mailbox exists.

## `requireMxRecord` (type: `boolean`):

Drop any contact whose domain provably accepts no mail. A lookup that times out or errors is treated as unknown and kept, so a DNS hiccup never silently deletes good leads.

## `mxTimeoutSecs` (type: `integer`):

How long to wait for each DNS answer. Clamped to 1-15 seconds.

## Actor input object example

```json
{
  "keywords": [
    "manager",
    "founder"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "maxEmails": 20,
  "minLeadScore": 0,
  "mxLookup": true,
  "requireMxRecord": false,
  "mxTimeoutSecs": 3
}
```

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

// Run the Actor and wait for it to finish
const run = await client.actor("insightflow/wordpress-email-scraper-powerful-and-intelligent").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",
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com",
    ],
}

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

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,insightflow/wordpress-email-scraper-powerful-and-intelligent"
        }
    }
}

```

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/urtbGv53BEGM2k2cm/builds/38IAOc3cIBx7saudl/openapi.json
