# Home Depot Email Scraper (`email_scraper/home-depot-email-scraper`) Actor

Home Depot Email Scraper extracts publicly indexed email addresses from Home Depot-related search results using targeted keywords, locations, and custom email domains. Build focused lead lists with unique emails, source URLs, titles, and descriptions in a structured Apify Dataset.

- **URL**: https://apify.com/email\_scraper/home-depot-email-scraper.md
- **Developed by:** [Email Scraper](https://apify.com/email_scraper) (community)
- **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

### 🔍 Home Depot Email Scraper – Overview

**Home Depot Email Scraper** is an Apify Actor designed to find publicly listed email addresses associated with Home Depot-related search results using targeted keywords and email-domain filters.

It is built for lead generation, contact discovery, prospect research, and B2B data collection where users need a structured list of publicly visible contact information rather than manually reviewing search results one by one.

Instead of running a single broad search, you can combine multiple keywords, locations, and email domains to create targeted searches. The Actor processes each keyword and email-domain combination separately and collects unique email addresses from the available search-result descriptions.

> **💡 Home Depot Email Scraper at a glance**
>
> - Search using multiple keywords or queries
> - Optionally target a country, state, or city
> - Filter results by email-domain suffix
> - Exclude unwanted words or phrases
> - Set a maximum email target
> - Collect unique email addresses
> - Receive structured records in an Apify Dataset
> - Resume progress after interruptions
> - Export collected dataset records using Apify's available dataset tools

The Actor is particularly useful when your workflow starts with search intent such as a business type, role, service, or location and you want to identify publicly indexed Home Depot-related contact information.

### 📧 Home Depot Email Scraper – Key Features

#### 🎯 Targeted Keyword Search

The Home Depot Email Scraper accepts a list of keywords or queries. Multiple terms can be supplied in a single run, allowing you to create a broader lead-generation strategy.

For example, instead of searching only for `Contractor`, you can use more specific queries such as:

- `Contractor`
- `General Contractor`
- `Construction Manager`
- `Home Improvement`
- `Remodeling Contractor`

Using several relevant search terms can increase search coverage because each keyword is processed independently.

#### 🌎 Location Filtering

The optional `location` input allows you to narrow searches geographically.

You can enter a country, state, city, or another useful geographic phrase. Leaving the field empty allows the Actor to search without a geographic location filter.

This makes the Home Depot Email Scraper useful for both broad contact discovery and location-focused prospecting.

#### 📩 Custom Email Domains

The `customDomains` input lets you specify the email-domain suffixes you want to search for.

Examples include:

- `@gmail.com`
- `@yahoo.com`
- `@outlook.com`
- `@hotmail.com`
- `@icloud.com`
- A relevant business domain such as `@company.com`

Each keyword and domain combination is processed as its own search target.

#### 🚫 Exclude Words

The `excludeWords` input lets you remove unwanted search-result snippets.

If an excluded word or phrase appears in a result's description snippet, that result is skipped and its email address is not collected.

Single words are matched as whole words, while phrases are matched as phrases without case sensitivity.

#### 🔢 Configurable Email Limit

The `maxEmails` input controls the target number of emails collected for each keyword and domain combination.

For example, if you use:

- 3 keywords
- 2 email domains
- `maxEmails = 20`

The Actor processes all 6 keyword-domain combinations and can aim for up to 20 emails for each combination, subject to what is publicly discoverable.

> **⚡ Important:** The maximum is a target, not a guarantee. Search availability, indexing, duplicate results, and publicly listed email addresses determine how many unique contacts can actually be collected.

### 📊 Home Depot Email Scraper – What Data You Can Extract

The Home Depot Email Scraper produces structured lead records containing the information available from the processed search results.

The dataset includes the following fields:

| Field         | Description                                            |
| ------------- | ------------------------------------------------------ |
| `network`     | Identifies the source as Home Depot.com                |
| `keyword`     | Keyword used for the search                            |
| `title`       | Title of the search result                             |
| `description` | Search-result description/snippet                      |
| `url`         | URL associated with the search result                  |
| `email`       | Matching email address found in the result description |

The core contact field is `email`. The surrounding keyword, title, description, and URL provide useful context for understanding where the contact information was discovered.

> **📦 Output / Data Fields**
>
> - `network`
> - `keyword`
> - `title`
> - `description`
> - `url`
> - `email`

The Actor also prevents the same email address from being collected repeatedly during the run. This helps keep the resulting contact dataset focused on unique email addresses.

### ⚙️ Home Depot Email Scraper – How to Use It

Using the Home Depot Email Scraper requires only a few configuration steps.

#### 1. Enter Keywords

Add one or more keywords that describe the type of contacts you want to discover.

Example:

```json
{
  "keywords": [
    "Contractor",
    "General Contractor",
    "Construction Manager"
  ]
}
```

More specific search terms can help you target different segments.

#### 2. Add a Location if Needed

Use the `location` field when you want geographically focused searches.

Example:

```json
{
  "location": "Texas"
}
```

For a city-focused search:

```json
{
  "location": "Houston"
}
```

Leave it blank when you want broader coverage.

#### 3. Select Email Domains

Use `customDomains` to determine which email suffixes should be searched.

Example:

```json
{
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ]
}
```

#### 4. Set the Email Target

Use `maxEmails` to define the maximum target per keyword and domain combination.

Example:

```json
{
  "maxEmails": 25
}
```

#### 5. Add Exclusion Terms

If you want to avoid specific types of results, add words or phrases to `excludeWords`.

Example:

```json
{
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

#### 6. Run the Actor

Start the Actor after configuring the inputs. Results are pushed incrementally into the Apify Dataset during processing.

### 🔎 How to Extract Home Depot Emails with Targeted Keywords

The most practical way to use the Home Depot Email Scraper is to build a keyword matrix around your target audience.

For example, a contractor-focused campaign could use:

- `Contractor`
- `General Contractor`
- `Remodeling Contractor`
- `Home Improvement Contractor`
- `Construction Manager`

You can then combine those terms with domains such as:

- `@gmail.com`
- `@yahoo.com`
- `@outlook.com`

Adding a location can further narrow the search to a particular market.

> **📌 Search Strategy**
>
> - Start with several highly relevant keywords.
> - Add multiple email domains when appropriate.
> - Use a location when geographic targeting matters.
> - Avoid overly narrow combinations.
> - Increase `maxEmails` when deeper collection is useful.
> - Use exclusion terms to remove unwanted result types.

This approach gives you more search combinations than relying on one generic keyword.

### 🧩 Can You Use Home Depot Email Scraper for Different Locations?

Yes. The `location` field is specifically designed to add a geographic phrase to the search.

You can use values such as:

- A country
- A state
- A city
- Another geographic search term

For example:

```json
{
  "keywords": ["Contractor"],
  "location": "Florida",
  "customDomains": ["@gmail.com"],
  "maxEmails": 50
}
```

For broader discovery, simply leave `location` empty.

Keep in mind that geographic filtering depends on what is publicly indexed in search results. A location does not guarantee that every discovered contact belongs exclusively to that geographic area.

### 💼 Home Depot Email Scraper – Use Cases

#### 🏢 Lead Generation

Businesses can use the Home Depot Email Scraper to discover publicly indexed email addresses relevant to targeted search terms.

Useful keyword categories can include:

- Contractors
- General contractors
- Construction-related businesses
- Home improvement professionals
- Managers
- Service providers

#### 📈 Prospect Research

Sales and business-development teams can use the resulting dataset as an initial source for prospect research.

The `keyword`, `title`, `description`, and `url` fields provide context alongside the discovered email address.

#### 🌎 Local Market Research

Adding a city, state, or country to the location field can help create geographically focused search datasets.

This can be useful when researching a specific market rather than collecting contacts globally.

#### 🧹 Filtered Contact Discovery

The exclusion feature makes it possible to remove snippets containing unwanted words or phrases before an email is collected.

This is useful when a broad keyword produces mixed search results.

> **🚀 Why Use This Actor?**
>
> - Reduce repetitive manual search work.
> - Search multiple keyword variations.
> - Combine keywords with email-domain filters.
> - Narrow searches by location.
> - Remove unwanted snippets with exclusion terms.
> - Receive structured lead records.
> - Keep duplicate email addresses from being collected repeatedly.

### 📝 Home Depot Email Scraper – Input

The Actor supports five user-facing input fields.

| Input           | Type    | Required | Purpose                                            |
| --------------- | ------- | -------- | -------------------------------------------------- |
| `keywords`      | Array   | Yes      | Search keywords or queries                         |
| `location`      | String  | No       | Country, state, city, or geographic filter         |
| `customDomains` | Array   | No       | Email-domain suffixes to search                    |
| `maxEmails`     | Integer | No       | Email target per keyword-domain combination        |
| `excludeWords`  | Array   | No       | Words or phrases that cause snippets to be skipped |

The `keywords` field is the only required input.

#### 💡 Example Input

```json
{
  "keywords": [
    "Contractor",
    "General Contractor",
    "Construction Manager"
  ],
  "location": "Texas",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ],
  "maxEmails": 20,
  "excludeWords": [
    "crypto"
  ]
}
```

### 📤 Home Depot Email Scraper – Output

Each collected result is added to the Apify Dataset as a structured record.

#### Example Output

```json
{
  "network": "Home Depot.com",
  "keyword": "General Contractor",
  "title": "Example Contractor",
  "description": "Example result snippet with contact@example.com",
  "url": "https://www.homedepot.com/...",
  "email": "contact@example.com"
}
```

The exact values depend on the publicly indexed search results returned during the Actor run.

The Actor does not guarantee that every search produces an email. Results depend on publicly available information and the search coverage for the selected keyword, location, and domain.

> **📦 Dataset Output**
>
> - Structured JSON-compatible records
> - One result per collected email
> - Keyword context
> - Result title
> - Search description
> - Source URL
> - Matching email address

### 💰 Home Depot Email Scraper – Pricing and Limits

The Actor configuration defines different result behavior for free and paid users.

For free users, the implementation applies a maximum of **100 collected emails** when the requested limit is higher or unlimited.

Paid users do not have that specific 100-email restriction applied by the Actor.

The configured `maxEmails` value still controls the requested collection target. Actual results can be lower when suitable publicly indexed email addresses are unavailable.

> **💰 Pricing Note**
>
> - Free users are limited to a maximum of 100 collected emails by the Actor's configured run logic.
> - Paid users are not restricted by that specific 100-email free-tier ceiling.
> - The Actor does not guarantee that the requested target will be reached.
> - No separate fixed price is specified in the provided Actor configuration.

### 🛠️ Home Depot Email Scraper – Tips and Best Practices

For better search coverage, use several related keywords instead of relying on one broad term.

For example, a construction campaign can combine:

- `Contractor`
- `General Contractor`
- `Remodeling Contractor`
- `Construction Manager`
- `Home Improvement`

If results are sparse, consider broadening the keyword set, adding additional email domains, or removing an overly restrictive location.

If results contain irrelevant categories, use `excludeWords` to filter unwanted snippets.

> **⚠️ Important Notes**
>
> - Only publicly available search-result information is targeted.
> - Search results determine what data can be discovered.
> - `maxEmails` is a target rather than a guaranteed result count.
> - Duplicate email addresses are filtered during collection.
> - A narrow keyword, domain, or location combination can produce fewer results.
> - Large searches may require additional run time.

### ❓ Frequently Asked Questions

#### 🔍 What is Home Depot Email Scraper?

Home Depot Email Scraper is an Apify Actor that searches publicly indexed Home Depot-related results using configurable keywords and email domains, then extracts matching email addresses into a structured dataset.

#### 📧 How does Home Depot Email Scraper find emails?

The Actor searches for relevant results using the configured keyword, domain, and optional location combination. Matching email addresses found in result descriptions are extracted and stored as structured records.

#### 🌎 Can I scrape Home Depot emails by city or country?

Yes. Use the optional `location` field to add a country, state, city, or geographic phrase to the search.

#### 🔢 Can I collect more than 100 emails?

Paid users are not subject to the Actor's specific 100-email free-tier ceiling. The actual number collected still depends on available publicly indexed results.

#### 📩 Can I search multiple email domains?

Yes. Add multiple values to `customDomains`, such as `@gmail.com`, `@yahoo.com`, and `@outlook.com`.

#### 🚫 Can I exclude unwanted results?

Yes. Use `excludeWords` to skip result snippets containing specified words or phrases.

#### 📊 What data does Home Depot Email Scraper return?

The dataset contains `network`, `keyword`, `title`, `description`, `url`, and `email` fields.

#### 🎯 Does maxEmails guarantee the exact number of emails?

No. It defines the collection target for each keyword-domain combination. The Actor can only collect emails that are publicly available in the search results.

#### 🔄 Does the Actor remove duplicate emails?

Yes. The Actor tracks previously collected email addresses so the same email is not repeatedly added as a new result during collection.

#### 🧭 Why did my run return fewer emails than expected?

A search may contain fewer publicly indexed email addresses than the requested target. Narrow keywords, restrictive locations, limited domains, duplicate addresses, and excluded snippets can also reduce the final dataset.

#### ⏱️ How can I improve search coverage?

Use several closely related keywords, test additional relevant email domains, and avoid unnecessarily restrictive location filters. Larger searches may also require more run time.

### 📞 Support

If you need help with the Home Depot Email Scraper, have questions about configuration, or want to discuss a customization or bespoke build, you can contact me directly.

**contact me by email : <alphascraper69@gmail.com>**

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

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

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

```

## MCP server setup

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