# Paginasamarillas.es Email Scraper (`email_scraper/paginasamarillas-email-scraper`) Actor

Paginasamarillas.es Email Scraper extracts publicly indexed business emails using targeted keywords, location filters, custom email domains, and exclusion terms. Build structured contact datasets for business research, lead discovery, company research, and contact analysis.

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

### Paginasamarillas.es Email Scraper

Paginasamarillas.es Email Scraper extracts publicly indexed email addresses associated with Paginasamarillas.es search results using targeted keywords and email-domain filters. It is designed for users who need structured business contact data for research, lead discovery, company research, and dataset creation.

You provide one or more search keywords, optionally add a country, city, or region, select the email domains to target, and optionally exclude results containing specific words or phrases. The Actor returns structured records containing the search keyword, result title, description, URL, and extracted email address.

The scraper is useful when you want to automate repetitive contact discovery from indexed Paginasamarillas.es pages rather than manually reviewing search results one by one.

### What Is a Paginasamarillas.es Email Scraper?

A Paginasamarillas.es Email Scraper is a data extraction tool focused on finding email addresses that are publicly visible in indexed Paginasamarillas.es search-result descriptions.

The Actor uses your configured keywords and email-domain suffixes to identify relevant indexed results. You can refine the search geographically with the optional location field and filter out unwanted descriptions with exclusion terms.

The result is an Apify dataset containing structured contact records that can be reviewed and used in downstream research or data-analysis workflows.

The Actor does not guarantee that every Paginasamarillas.es listing contains an email address. Results depend on what is publicly indexed and available for the selected search criteria.

### Key Features

| Feature                        | Description                                                                     | User Benefit                                     |
| ------------------------------ | ------------------------------------------------------------------------------- | ------------------------------------------------ |
| Targeted keyword search        | Search using one or multiple keywords or queries.                               | Build focused business contact searches.         |
| Paginasamarillas.es targeting  | Results are limited to indexed Paginasamarillas.es pages.                       | Keep research focused on the intended source.    |
| Location filtering             | Optionally add a country, state, city, or other location.                       | Narrow searches geographically.                  |
| Custom email domains           | Specify email suffixes such as `@gmail.com` or `@yahoo.com`.                    | Target the types of addresses you need.          |
| Per-combination email limit    | Configure the maximum number of emails for each keyword and domain combination. | Control collection depth.                        |
| Exclusion filtering            | Skip descriptions containing configured words or phrases.                       | Reduce unwanted results.                         |
| Duplicate prevention           | Previously collected email addresses are not added again.                       | Keep the dataset cleaner.                        |
| Structured dataset output      | Results contain keyword, title, description, URL, and email.                    | Simplify analysis and downstream workflows.      |
| Incremental dataset collection | Results are added to the Apify dataset as they are collected.                   | Make collected records available during the run. |

### What Data Can You Extract?

The Paginasamarillas.es Email Scraper produces five user-facing data fields:

- **Keyword** — The keyword associated with the search that produced the result.
- **Title** — The title of the indexed search result.
- **Description** — The publicly indexed description or snippet associated with the result.
- **URL** — The URL associated with the search result.
- **Email** — The email address identified in the result description that matches the configured email-domain filter.

These fields provide context around each extracted email instead of returning an email address without its associated search-result information.

Because the Actor works with indexed search-result information, the availability and completeness of individual fields can vary between results.

### Why Use This Actor?

Manually searching business directories for contact information can involve repeated keyword searches, geographic refinement, domain filtering, and result review.

This Actor brings those steps into a configurable Apify workflow. You can provide several search terms and email domains in one run, optionally restrict the search by location, and define words that should exclude a result.

It is particularly useful when your research requires structured records rather than manually copied search results.

The Actor can also help create repeatable search configurations. For example, instead of running separate searches for every business category manually, you can provide multiple related keywords and let the Actor process them during one run.

### Benefits

- **Automated contact discovery** — Reduce repetitive manual searching for publicly indexed business emails.
- **Structured data collection** — Receive records in a consistent dataset structure.
- **Multiple keyword support** — Search several business terms within one run.
- **Domain targeting** — Focus extraction on selected email-domain suffixes.
- **Geographic refinement** — Add a location when a more focused search is required.
- **Result filtering** — Exclude descriptions containing unwanted words or phrases.
- **Duplicate control** — Avoid repeatedly adding the same email address.
- **Research-ready context** — Keep the keyword, title, description, and URL alongside the email.

### How to Use the Paginasamarillas.es Email Scraper

The basic workflow is straightforward:

1. Enter one or more keywords in the **Keywords or Queries** field.
2. Add a location if you want to narrow the search geographically.
3. Configure the email-domain suffixes you want to target.
4. Set the maximum number of emails for each keyword and domain combination.
5. Optionally provide exclusion words or phrases.
6. Start the Actor.
7. Review the resulting dataset containing the extracted contact records.

For better coverage, use several specific search terms instead of relying on one broad keyword. For example, a business-research workflow might use terms such as `fontanero`, `empresa de fontanería`, `servicio de fontanería`, and `fontanería comercial`.

### Input

The Actor requires the `keywords` field. The remaining fields are optional and have defaults defined by the Actor configuration.

| Field           | Type             | Required | Default                   | Description                                                                          |
| --------------- | ---------------- | -------- | ------------------------- | ------------------------------------------------------------------------------------ |
| `keywords`      | Array of strings | Yes      | `["fontanero", "tienda"]` | Search keywords or queries to process.                                               |
| `location`      | String           | No       | `""`                      | Optional country, state, city, or other geographic term used to narrow the search.   |
| `customDomains` | Array of strings | No       | `["@gmail.com"]`          | Email-domain suffixes to target during extraction.                                   |
| `maxEmails`     | Integer          | No       | `5`                       | Maximum email target for each keyword + domain combination. Valid range is 1–10,000. |
| `excludeWords`  | Array of strings | No       | `[]`                      | Words or phrases that cause a result description to be skipped.                      |

The `keywords` field accepts multiple values, making it possible to search different terms in a single run.

The `location` field can be left empty to search without a geographic filter.

For `customDomains`, use domain suffixes such as `@gmail.com`, `@yahoo.com`, or `@outlook.com`. You can also specify other domain suffixes relevant to your research.

The `maxEmails` setting applies independently to each keyword and email-domain combination. For example, three keywords and two domains represent six combinations. A configured target of 20 applies to each combination rather than creating one shared target of 20.

### Input Example

```json
{
  "keywords": [
    "fontanero",
    "empresa de fontanería",
    "servicio de fontanería"
  ],
  "location": "Madrid",
  "customDomains": [
    "@gmail.com",
    "@outlook.com",
    "@yahoo.com"
  ],
  "maxEmails": 20,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

Use specific and relevant search terms to improve the focus of your research. If results are too limited, consider broadening the keywords or removing an overly restrictive location filter.

### Output

Each collected result is written as a structured dataset record with the following fields:

| Field         | Description                                                                                   |
| ------------- | --------------------------------------------------------------------------------------------- |
| `keyword`     | The keyword used for the search that produced the result.                                     |
| `title`       | The title of the indexed search result.                                                       |
| `description` | The search-result description or snippet associated with the result.                          |
| `url`         | The URL associated with the indexed result.                                                   |
| `email`       | The email address extracted from the description and matching the configured domain criteria. |

The dataset is displayed as a table in Apify, making it easy to inspect the collected records.

The Actor also prevents the same email address from being added repeatedly during the run, helping maintain a cleaner contact dataset.

### Output Example

```json
{
  "keyword": "fontanero",
  "title": "Fontanería Ejemplo",
  "description": "Servicios de fontanería y mantenimiento. Contacto: example@gmail.com",
  "url": "https://www.paginasamarillas.es/f/ejemplo/empresa.html",
  "email": "example@gmail.com"
}
```

The example above illustrates the output structure. Actual titles, descriptions, URLs, and email addresses depend on the publicly indexed results available for the selected search criteria.

### Use Cases

#### Business Lead Research

Use targeted business keywords to discover publicly indexed contact addresses associated with relevant Paginasamarillas.es results.

#### Local Business Research

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

#### Market Research

Collect business contact information and associated result descriptions for market research and company discovery.

#### Business Intelligence

Combine keyword, description, URL, and email information into a structured dataset for further analysis.

#### Company Research

Search different business categories or service terms to identify relevant companies and their publicly indexed contact information.

#### Dataset Creation

Build structured contact datasets by combining multiple keywords and email domains in a single Actor run.

#### Research Automation

Use the Actor as part of repeatable Apify workflows where structured business-contact discovery is needed.

### Competitive Advantages

The Actor provides several practical configuration options without requiring users to manage the search process manually.

- Multiple keywords can be processed in one run.
- Multiple email-domain suffixes can be targeted.
- Searches can be narrowed with a location.
- Exclusion terms can filter unwanted descriptions.
- The maximum email target can be configured.
- Output records preserve useful search-result context.
- Duplicate email addresses are avoided.

These capabilities make the Actor suitable for configurable Paginasamarillas.es contact research where both the search criteria and output context matter.

### Advantages

- **Flexible targeting:** Combine keywords, locations, and email domains according to the research objective.
- **Configurable collection depth:** Set a maximum email target from 1 through 10,000 for each keyword and domain combination.
- **Context-rich output:** Each email is accompanied by its keyword, title, description, and URL.
- **Filtering controls:** Exclusion words and phrases provide additional control over which descriptions are processed.
- **Repeatable workflow:** The same input configuration can be reused for similar research tasks.

### Limitations

- The Actor can only collect email addresses that are available in the indexed result information it processes.
- A search keyword does not guarantee that relevant businesses or email addresses will be found.
- Narrow keywords or restrictive locations can produce fewer results.
- The `maxEmails` value is a target limit, not a guarantee that the requested number of addresses exists.
- Email extraction is restricted to the configured domain suffixes.
- Exclusion terms can intentionally remove otherwise relevant results when a configured word or phrase appears in the description.
- On the free tier, the Actor applies a maximum of 100 emails when the configured limit is missing or exceeds 100.
- Results may be below the configured target when suitable indexed results are unavailable.

### Pros and Cons

| Pros                                 | Cons                                             |
| ------------------------------------ | ------------------------------------------------ |
| Supports multiple search keywords    | Results depend on publicly indexed information   |
| Supports location-based refinement   | Narrow searches may return limited results       |
| Supports custom email domains        | Only configured email domains are targeted       |
| Provides structured contact context  | A requested email target is not guaranteed       |
| Supports exclusion words and phrases | Filtering can remove otherwise relevant snippets |
| Helps automate repetitive searches   | Results can vary with search availability        |

### Comparison With Alternative Approaches

| Capability                  | This Actor                  | Manual Search                      |
| --------------------------- | --------------------------- | ---------------------------------- |
| Multiple keyword processing | Supported                   | Requires repeated searches         |
| Email-domain targeting      | Configurable                | Usually handled manually           |
| Location filtering          | Supported                   | Requires manual search refinement  |
| Exclusion filtering         | Supported                   | Requires manual review             |
| Structured output           | Dataset with defined fields | Usually requires manual formatting |
| Duplicate prevention        | Supported during collection | Requires manual checking           |
| Repeatable configuration    | Supported                   | Requires repeating search steps    |

This comparison describes workflow differences rather than guaranteeing a particular volume or quality of results.

### Best Practices

- Start with a small `maxEmails` value to validate your search configuration.
- Use several specific keywords related to the business category you are researching.
- Use a location when geographic targeting is important.
- Remove the location filter when a regional restriction produces too few results.
- Include multiple relevant email domains when broader email coverage is needed.
- Review exclusion words carefully so useful descriptions are not unintentionally filtered.
- Validate important contact information before using it in downstream business processes.
- If results are sparse, broaden the search terms or use additional related keywords.
- For larger runs, allow sufficient execution time for the configured search scope.

### Troubleshooting

**Invalid input:** Check that `keywords`, `customDomains`, and `excludeWords` are provided as arrays of strings and that `maxEmails` is an integer between 1 and 10,000.

**Empty results:** Try broader keywords, remove an overly specific location, or add additional email-domain suffixes.

**Fewer emails than requested:** The configured value is a maximum target, not a guarantee. There may simply be fewer suitable publicly indexed email addresses.

**Unexpectedly filtered results:** Review the `excludeWords` list. A matching word or phrase in a result description causes that description to be skipped.

**Missing email addresses:** Confirm that the desired domain is included in `customDomains`. An email using a different suffix will not match the configured domain criteria.

**Partial results:** Search coverage depends on the available indexed information. Consider expanding keywords or geographic scope when appropriate.

**Free-tier limitation:** If the configured maximum is above the free-tier ceiling, the Actor applies the applicable 100-email limit.

### Frequently Asked Questions

**What does the Paginasamarillas.es Email Scraper do?**

It extracts publicly indexed email addresses associated with Paginasamarillas.es search results and returns them with the related keyword, title, description, and URL.

**What input does the Actor require?**

The required input is `keywords`, which is an array of search terms. Location, email domains, maximum email count, and exclusion terms are optional.

**Can I use multiple keywords?**

Yes. The `keywords` field accepts multiple search terms, allowing you to cover several related business categories or search intents in one run.

**Can I target a specific city or country?**

Yes. Enter the desired geographic term in `location`. Leave it empty when you do not want to apply a location filter.

**Can I choose which email domains are collected?**

Yes. Use `customDomains` to specify email suffixes such as `@gmail.com`, `@yahoo.com`, or `@outlook.com`.

**How does `maxEmails` work?**

The configured maximum is applied to each keyword and domain combination. It controls how many matching addresses the Actor attempts to collect for that combination.

**What data does the Paginasamarillas.es Email Scraper return?**

Each record contains `keyword`, `title`, `description`, `url`, and `email`.

**Can I exclude unwanted results?**

Yes. Add words or phrases to `excludeWords`. If a configured exclusion matches a result description, that description is skipped.

**Why did the Actor return fewer emails than my limit?**

The maximum is not a guarantee. There may be fewer matching publicly indexed results for your keywords, location, and selected email domains.

**Is the Actor suitable for automated research workflows?**

Yes. It is designed as a configurable Apify Actor and produces structured dataset records that can be reviewed or used in broader data workflows.

### NLP Keywords

- Paginasamarillas.es email scraper
- Paginasamarillas email extraction
- Spanish business email scraper
- Paginasamarillas contact scraper
- business email extraction
- business contact data
- public business emails
- local business leads
- Spanish business directory
- company contact information
- email domain filtering
- keyword-based email extraction
- location-based business search
- business lead discovery
- structured contact dataset
- directory email extraction
- business research data
- company research
- contact data collection
- Paginasamarillas business data

### Related Keywords

- Paginasamarillas.es scraper
- Paginasamarillas email finder
- Paginasamarillas contact extractor
- Spanish business email finder
- Spanish company email scraper
- Spain business lead scraper
- local business email extraction
- business directory email extractor
- Spanish directory scraper
- business contact scraper Spain
- Paginasamarillas lead generation
- business email research Spain
- company contact scraper
- public email data scraper
- keyword email scraper
- location-based email scraper
- business directory data extraction
- Spanish company data extraction
- email lead research
- business contact dataset

### Final Overview

Paginasamarillas.es Email Scraper provides a configurable way to discover publicly indexed business email addresses associated with Paginasamarillas.es search results.

You can combine multiple keywords with optional location targeting, custom email-domain filters, configurable email limits, and exclusion terms. The resulting dataset preserves the email together with the keyword, result title, description, and URL, giving users useful context for research and analysis.

For the most useful results, begin with focused keywords, test a small collection limit, and adjust the location or email domains when coverage is limited. Keep in mind that the Actor can only return information available in the indexed results it processes, so configured limits should be treated as collection targets rather than guarantees.

*Contact me:* <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": [
    "fontanero",
    "tienda"
  ],
  "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": [
        "fontanero",
        "tienda"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

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

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

```

## MCP server setup

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