# Lowes Email Scraper (`email_scraper/lowes-email-scraper`) Actor

Lowes Email Scraper extracts publicly indexed email addresses from Lowes-related search results using targeted keywords, email domains, and optional locations. Get structured leads with titles, descriptions, URLs, and emails for contact research, lead generation, and market analysis.

- **URL**: https://apify.com/email\_scraper/lowes-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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 🔍 Lowes Email Scraper – Overview

**Lowes Email Scraper** is an Apify Actor designed to extract publicly indexed email addresses associated with Lowes search results based on keywords, email domains, and optional geographic terms.

Instead of manually searching through many Lowes-related results, you can provide targeted search terms and let the **Lowes Email Scraper** process the matching search results and return structured contact data.

The Actor is useful for lead research, business discovery, contact list building, market research, and other workflows where publicly available email addresses related to Lowes profiles or pages are relevant.

> 💡 **What does the Lowes Email Scraper provide?**
>
> - Keyword used for the search
> - Result title
> - Result description
> - Result URL
> - Extracted email address

The easiest way to use the **Lowes Email Scraper** is to enter several specific keywords, select the email domains you want to search for, optionally provide a location, and run the Actor.

***

### 🔹 Lowes Email Scraper – Key Features

The **Lowes Email Scraper** combines keyword-based discovery with email-domain filtering so you can create focused searches instead of relying on a single broad term.

#### 🎯 Keyword-Based Email Extraction

Enter one or multiple keywords or search queries. More specific terms can help identify more relevant Lowes results.

For example, instead of only searching for `Home Improvement`, you can test related terms such as `Interior Designer`, `Home Decor`, or other relevant professional and business terms.

#### 📧 Custom Email Domain Filtering

You can specify the email suffixes you want the **Lowes Email Scraper** to look for.

Examples include:

- `@gmail.com`
- `@yahoo.com`
- `@outlook.com`
- `@hotmail.com`
- `@icloud.com`
- Your own supported domain suffix

This lets you focus your email extraction on particular types of publicly indexed email addresses.

#### 📍 Optional Location Filtering

Add a country, state, or city to narrow the search.

For example:

- New York
- California
- Toronto
- London
- Texas

Leaving the location field empty allows the search to run without a geographic term.

#### 🚫 Exclude Words

The **Lowes Email Scraper** includes an exclude-word filter that can skip search-result snippets containing unwanted words or phrases.

For example:

- `crypto`
- `onlyfans`

Single words are matched as whole words, while phrases are matched as phrases. Matching is case-insensitive.

#### 🔢 Per-Combination Email Target

The `maxEmails` setting controls the target for each **keyword + email domain combination**.

For example, with 3 keywords, 2 domains, and a limit of 20, the Actor works through the six combinations and can target up to 20 addresses for each combination.

> 📌 **Important:** The configured limit is a per-combination target, not one shared run-wide target.

***

### 🔹 Lowes Email Scraper – What Data You Can Extract

The **Lowes Email Scraper** produces structured records containing the search context and the publicly indexed contact information found in the result.

Each dataset record contains:

- **keyword** — The keyword used for the search.
- **title** — The title of the matching search result.
- **description** — The description or snippet associated with the result.
- **url** — The URL of the matching result.
- **email** — The email address extracted from the result description.

This structure makes the **Lowes Email Scraper** suitable for exporting search results into a dataset for further analysis or lead-management workflows.

> 📊 **Output example**
>
> ```json
> {
>   "keyword": "Interior Designer",
>   "title": "Example Lowes Interior Designer Result",
>   "description": "Interior design services... contact example@gmail.com",
>   "url": "https://www.lowes.com/...",
>   "email": "example@gmail.com"
> }
> ```

The actual result values depend on what publicly indexed information is available for the selected keyword, domain, and location.

***

### 🔹 Lowes Email Scraper – How to Use It

Using the **Lowes Email Scraper** requires only a few input settings.

#### 1. Add Your Keywords

Enter one or more keywords in the `Keywords or Queries` field.

Specific searches are generally more useful than extremely broad terms.

Example:

```text
Home Improvement
Interior Designer
Kitchen Designer
Bathroom Designer
Home Decor
```

#### 2. Select Email Domains

Add the email suffixes you want the Actor to search for.

Example:

```text
@gmail.com
@yahoo.com
@outlook.com
@company.com
```

#### 3. Add a Location if Needed

If you need geographically focused results, enter a country, state, or city.

For broader discovery, leave the location empty.

#### 4. Set the Maximum Email Target

Use `maxEmails` to control how many email addresses each keyword and domain combination may target.

The supported range is **1 to 10,000**.

#### 5. Add Exclude Words

If certain terms should cause a result snippet to be skipped, add them to `excludeWords`.

#### 6. Run the Actor

Start the **Lowes Email Scraper** from Apify. The Actor processes the configured keyword and domain combinations and pushes discovered records to the dataset incrementally.

> ⚡ **Simple workflow**
>
> - Add targeted keywords
> - Select email domains
> - Optionally add a location
> - Set `maxEmails`
> - Optionally add excluded words
> - Run the **Lowes Email Scraper**
> - Review the structured dataset

***

### 🔎 How to Extract Lowes Emails Using Keywords

The **Lowes Email Scraper** is based on keyword-driven discovery. The quality and quantity of results can therefore depend heavily on how the search terms are selected.

A single generic keyword may produce fewer useful contacts than several related, specific keywords.

For example, instead of:

```text
Home
```

you could use:

```text
Home Improvement
Interior Designer
Kitchen Designer
Home Decor
Remodeling
```

You can also combine professional roles, services, industries, and geographic terms.

> 💡 **Search strategy:** Start with several closely related keywords. If results are limited, broaden the terms or remove the location filter. If results are too broad, use more specific professional or business terms.

***

### 🔎 Can I Search Different Email Domains?

Yes. The **Lowes Email Scraper** supports a list of custom email domain suffixes.

This means you can search separately across domains such as:

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

You can also provide other domain suffixes when they are relevant to your research.

Because the Actor processes keyword and domain combinations independently, adding additional domains can expand the search coverage.

***

### 🔎 Can I Target a Specific City or Country?

Yes. The optional `location` field accepts a manually entered country, state, or city.

For example:

```text
location: New York
```

The location is incorporated into the search query, helping you focus the **Lowes Email Scraper** on a particular geographic area.

If you do not need geographic targeting, leave the field blank.

***

### 🔹 Lowes Email Scraper – Use Cases

The **Lowes Email Scraper** can support several research and contact-discovery workflows where publicly indexed email information is relevant.

#### 📈 Lead Research

Use keyword combinations to identify publicly indexed Lowes-related business and professional results and extract matching email addresses.

#### 🏠 Home Improvement Research

Search terms related to home improvement, interior design, remodeling, kitchen design, or home services can be used to discover relevant contact information.

#### 🎨 Interior Design Discovery

Use terms such as `Interior Designer`, `Kitchen Designer`, or other design-related searches to create focused datasets.

#### 🏢 Business Contact Research

Organizations and professionals with publicly indexed contact information can potentially appear in search results when the chosen keywords and domains match.

#### 🌎 Location-Based Research

Add a city, state, or country to focus searches on a particular market or geographic region.

#### 🔍 Market Research

The structured title, description, URL, keyword, and email fields can be used as a starting dataset for further market and contact analysis.

> ⚠️ **Use responsibly:** The Actor is designed to work with publicly indexed information. Make sure your use of collected contact information complies with applicable privacy, data-protection, website, and communication laws.

***

### 🔹 Input

The **Lowes Email Scraper** supports the following user-facing inputs:

| Input           | Type    | Required | Description                                                  |
| --------------- | ------- | -------- | ------------------------------------------------------------ |
| `keywords`      | Array   | Yes      | Keywords or queries used to search for Lowes results.        |
| `location`      | String  | No       | Country, state, or city used to narrow the search.           |
| `customDomains` | Array   | No       | Email domain suffixes to include in extraction.              |
| `maxEmails`     | Integer | No       | Maximum target per keyword + domain combination.             |
| `excludeWords`  | Array   | No       | Words or phrases that cause matching snippets to be skipped. |

#### 📝 Example Input

```json
{
  "keywords": [
    "Home Improvement",
    "Interior Designer",
    "Kitchen Designer"
  ],
  "location": "New York",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ],
  "maxEmails": 20,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

The default configured keywords are `Home Improvement` and `Interior Designer`, while the default email domain is `@gmail.com`.

***

### 🔹 Output

The **Lowes Email Scraper** stores results in the **Lowes Emails Dataset**.

The dataset contains these fields:

| Field         | Description                        |
| ------------- | ---------------------------------- |
| `keyword`     | Keyword associated with the result |
| `title`       | Search-result title                |
| `description` | Search-result description/snippet  |
| `url`         | Result URL                         |
| `email`       | Extracted email address            |

#### 📦 Example Output

```json
{
  "keyword": "Home Improvement",
  "title": "Example Result",
  "description": "Home improvement services... contact@example.com",
  "url": "https://www.lowes.com/example",
  "email": "contact@example.com"
}
```

The dataset is presented as a structured table in Apify, making it convenient to inspect the extracted records.

***

### 💰 Pricing

The Actor configuration does not define a separate fixed price for the **Lowes Email Scraper**.

The Actor does implement different result-limit behavior based on the Apify account plan.

For free users, if `maxEmails` is missing or higher than **100**, the Actor applies a maximum `maxEmails` value of 100 for the processing configuration.

For paid users, the Actor does not apply that 100-email ceiling.

> 💡 **Important pricing note:** This README does not claim a specific Apify platform price because no fixed Actor price is defined in the provided configuration. Actual Apify usage costs depend on the applicable platform billing and run consumption.

***

### 🛠️ Tips and Best Practices

#### Use Specific Keywords

Specific professional and service-related keywords can make your search more focused.

Try combinations such as:

- `Interior Designer`
- `Kitchen Designer`
- `Home Improvement`
- `Home Remodeling`
- `Bathroom Designer`

#### Use Multiple Related Keywords

Instead of depending on one search term, create a list of related terms covering different ways people describe the same service or profession.

#### Test Multiple Email Domains

If a search using only `@gmail.com` produces limited results, consider adding other relevant public email domains.

#### Adjust Location Carefully

A highly specific location can reduce the number of available results. If your dataset is too small, try a broader location or remove the location filter.

#### Use Exclude Words Selectively

Exclude words are useful when certain snippets are irrelevant to your project. However, adding too many exclusions can remove potentially useful results.

#### Monitor Result Availability

The **Lowes Email Scraper** cannot guarantee a particular number of email addresses. It can only extract addresses that are publicly present in the indexed search-result information matching the configured criteria.

***

### 🔹 Important Notes

> 📌 **Result availability**
>
> - Results depend on publicly indexed information available for the selected searches.
> - `maxEmails` is a target limit and does not guarantee that the target number will be found.
> - Narrow keywords or locations may produce fewer results.
> - Broader or additional related keywords can increase search coverage.
> - Adding email domains creates additional keyword/domain combinations to process.
> - The Actor can stop when useful new results are no longer being found.
> - Results are deduplicated by email address during the run.

The **Lowes Email Scraper** also maintains progress during execution, allowing the Actor to keep track of its search position and previously discovered email addresses.

***

### ❓ Frequently Asked Questions

#### What is the Lowes Email Scraper?

The **Lowes Email Scraper** is an Apify Actor that searches publicly indexed Lowes-related results using user-provided keywords and extracts email addresses matching selected email domains.

#### How do I scrape Lowes emails with keywords?

Enter one or more keywords in the `keywords` input, select your preferred email domains, optionally add a location, configure `maxEmails`, and run the **Lowes Email Scraper**.

#### What data does the Lowes Email Scraper return?

It returns `keyword`, `title`, `description`, `url`, and `email` fields for discovered records.

#### Can I search for Gmail addresses?

Yes. `@gmail.com` is the default configured domain, and you can add other email suffixes through `customDomains`.

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

Yes. You can add `@yahoo.com`, `@outlook.com`, or other relevant domain suffixes to the `customDomains` input.

#### Can I scrape emails by city?

Yes. Enter a city, state, or country in the optional `location` field to narrow the search.

#### Why did my run return fewer emails than my maxEmails value?

`maxEmails` is a target limit, not a guarantee. The number of available publicly indexed results depends on the keyword, email domain, location, and information available in search results.

#### How can I improve Lowes email search results?

Use multiple specific keywords, test additional relevant email domains, and broaden or remove the location filter if the search is too narrow.

#### Is maxEmails a total run limit?

No. The configured `maxEmails` value is applied independently to each keyword and email-domain combination.

#### Can I exclude unwanted results?

Yes. Add words or phrases to `excludeWords`. If an excluded term appears in a result description, that snippet is skipped.

#### Does the Actor return duplicate emails?

The Actor tracks previously discovered email addresses and avoids adding the same email address repeatedly during its progress-tracking workflow.

#### Does the Lowes Email Scraper guarantee contact information?

No. The Actor can only return email addresses that are available in the publicly indexed result information matching the configured search criteria.

***

### 🔹 Support

For questions, custom requirements, improvements, or a bespoke Actor request, 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": [
    "Home Improvement",
    "Interior Designer"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 10,
  "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": [
        "Home Improvement",
        "Interior Designer"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("email_scraper/lowes-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": [
        "Home Improvement",
        "Interior Designer",
    ],
    "location": "",
    "customDomains": ["@gmail.com"],
    "excludeWords": [],
}

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

```

## MCP server setup

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