# Pagesjaunes Email Scraper (`email_scraper/pagesjaunes-email-scraper`) Actor

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

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

### Pagesjaunes Email Scraper

Pagesjaunes Email Scraper extracts publicly indexed email addresses associated with Pagesjaunes search results using targeted keywords, optional location filters, and configurable email domains. It returns structured contact records containing the search keyword, result title, description, URL, and extracted email address.

The Actor is designed for users who need to turn targeted Pagesjaunes searches into structured email datasets. You can provide multiple search terms, specify a country, city, or other location, choose which email domain suffixes to look for, and exclude descriptions containing unwanted words or phrases.

Results are added to the Apify dataset as they are collected, making the output practical for business research, lead research, contact discovery, market research, and other data-collection workflows.

### What Is a Pagesjaunes Email Scraper?

Pagesjaunes Email Scraper is a keyword-based email extraction Actor focused on Pagesjaunes.fr search results. Instead of manually reviewing search results and copying publicly indexed contact information, you can configure search terms and let the Actor collect matching email addresses into structured records.

The Actor works with multiple keywords and multiple email domain suffixes. For example, you can search for terms such as `restaurant`, `plombier`, `architecte`, or other relevant business categories while targeting domains such as `@gmail.com` or `@outlook.com`.

An optional location can further narrow the search. This is useful when your research focuses on a particular city, region, or country.

The resulting dataset contains five user-facing fields: `keyword`, `title`, `description`, `url`, and `email`.

### Key Features

| Feature                   | Description                                                               | User Benefit                               |
| ------------------------- | ------------------------------------------------------------------------- | ------------------------------------------ |
| Keyword-based search      | Search Pagesjaunes using one or multiple keywords                         | Build targeted contact datasets            |
| Location filtering        | Optionally add a country, state, city, or other location                  | Narrow searches geographically             |
| Custom email domains      | Specify email suffixes such as `@gmail.com`                               | Focus extraction on relevant domains       |
| Multiple keyword support  | Submit an array of search terms                                           | Run several searches in one Actor run      |
| Exclusion filtering       | Skip descriptions containing selected words or phrases                    | Reduce unwanted matches                    |
| Configurable email target | Set `maxEmails` from 1 to 10,000                                          | Control the intended collection size       |
| Structured dataset        | Returns consistent contact fields                                         | Easier analysis and downstream processing  |
| Duplicate prevention      | Previously collected email addresses are not emitted again during the run | Keep results cleaner                       |
| Incremental results       | Records are added to the dataset as they are collected                    | Review structured output during processing |

### What Data Can You Extract?

The Pagesjaunes Email Scraper returns contact information connected to matching search results.

Each dataset record includes:

- **Keyword** — The keyword that produced the matching result.
- **Title** — The title associated with the Pagesjaunes search result.
- **Description** — The publicly indexed result description used for email extraction.
- **URL** — The URL associated with the search result.
- **Email** — The email address matching one of your configured domain suffixes.

The output is intentionally structured around the information actually produced by the Actor. It does not claim to provide additional business fields that are not part of the documented dataset schema.

### Why Use Pagesjaunes Email Scraper?

Manual contact research can require repeatedly searching for business categories, opening results, reviewing descriptions, identifying email addresses, and organizing the information into a usable dataset.

Pagesjaunes Email Scraper turns that repetitive search process into a configurable Actor workflow.

You can combine several search keywords with several email domains. For example, three keywords and two email domains create six keyword-domain search combinations. The configured email target applies independently to each combination.

This approach is useful when your research requires targeted contact discovery rather than a single broad search.

### Benefits

Pagesjaunes Email Scraper provides several practical benefits for structured contact research:

- **Automation** — Reduce repetitive manual searching and copying.
- **Targeted discovery** — Use specific keywords to define the type of Pagesjaunes results you want to investigate.
- **Geographic targeting** — Add a location when research needs to focus on a particular area.
- **Domain targeting** — Select the email suffixes relevant to your project.
- **Structured data** — Receive consistent fields in the Apify dataset.
- **Multiple searches** — Process multiple keywords in a single run.
- **Filtering** — Exclude descriptions containing unwanted terms.
- **Research-ready output** — Use the resulting dataset for analysis, review, and other supported workflows.

### How to Use the Pagesjaunes Email Scraper

Using the Actor is straightforward:

1. Open the Actor and provide one or more values in the `keywords` field.
2. Add a `location` if you want to narrow the search geographically.
3. Configure `customDomains` with the email suffixes you want to find.
4. Set `maxEmails` according to the desired target for each keyword-domain combination.
5. Optionally add `excludeWords` to skip unwanted descriptions.
6. Start the Actor run.
7. Review the resulting Pagesjaunes contact records in the dataset.

For initial testing, start with a small number of targeted keywords and a modest email target. Once you understand the type of results returned by your searches, you can broaden the configuration.

### Input

The Actor requires `keywords`. The other fields are optional and provide additional control over the search.

| Field           | Type             | Required | Default                      | Description                                                                          |
| --------------- | ---------------- | -------- | ---------------------------- | ------------------------------------------------------------------------------------ |
| `keywords`      | Array of strings | Yes      | `["restaurant", "plombier"]` | Keywords or search queries used to find Pagesjaunes results                          |
| `location`      | String           | No       | `""`                         | Optional country, state, city, or other geographic term                              |
| `customDomains` | Array of strings | No       | `["@gmail.com"]`             | Email domain suffixes to search for                                                  |
| `maxEmails`     | Integer          | No       | `5`                          | Target number of addresses per keyword + domain combination; valid range is 1–10,000 |
| `excludeWords`  | Array of strings | No       | `[]`                         | Words or phrases that cause matching descriptions to be skipped                      |

The `keywords` field is an array, so multiple searches can be submitted in the same run.

Email domains should be entered as suffixes such as `@gmail.com`, `@yahoo.com`, `@outlook.com`, or another domain suffix relevant to your research.

The `location` field can remain empty when no geographic filter is required.

### Input Example

```json
{
  "keywords": [
    "restaurant",
    "plombier",
    "architecte"
  ],
  "location": "Paris",
  "customDomains": [
    "@gmail.com",
    "@outlook.com"
  ],
  "maxEmails": 10,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

This configuration searches for three business-related terms, narrows the searches to Paris, looks for two email domain suffixes, targets up to 10 addresses for each keyword-domain combination, and skips descriptions containing the specified exclusion terms.

### Output

Pagesjaunes Email Scraper stores results in the Apify dataset using the following fields:

| Field         | Description                                                     |
| ------------- | --------------------------------------------------------------- |
| `keyword`     | The keyword associated with the search that produced the result |
| `title`       | The title of the matching search result                         |
| `description` | The indexed description associated with the result              |
| `url`         | The URL of the matching result                                  |
| `email`       | The extracted email address matching a configured domain suffix |

The Actor prevents the same email address from being emitted more than once during the collection process.

The output is therefore suitable for reviewing Pagesjaunes contact discoveries as structured rows instead of manually collected text.

### Output Example

```json
{
  "keyword": "restaurant",
  "title": "Example Restaurant",
  "description": "Restaurant information and contact details including contact@example.com.",
  "url": "https://www.pagesjaunes.fr/example-restaurant",
  "email": "contact@example.com"
}
```

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

### Use Cases

Pagesjaunes Email Scraper can support several practical research and data-collection scenarios.

- **Local business research** — Search for restaurants, tradespeople, professional services, and other business categories.
- **Lead research** — Discover publicly indexed business contact emails matching selected search criteria.
- **Market research** — Build datasets around specific business categories and locations.
- **Regional research** — Combine business keywords with cities, countries, or regions.
- **Contact discovery** — Search for email addresses associated with relevant Pagesjaunes results.
- **Business intelligence** — Organize publicly indexed contact information for further analysis.
- **Dataset creation** — Build structured collections of keyword, result, URL, description, and email data.
- **Competitive research** — Research businesses within selected categories or geographic areas.
- **Research workflows** — Collect structured contact records for subsequent manual review and analysis.

### Competitive Advantages

The Actor offers several practical configuration options within one workflow:

- Multiple keywords can be processed in one run.
- Multiple email suffixes can be configured.
- Geographic filtering is available through the `location` field.
- Exclusion terms provide additional control over unwanted descriptions.
- Email targets can be adjusted using `maxEmails`.
- Results use a consistent five-field dataset structure.
- Duplicate email addresses are avoided during collection.

These capabilities give users control over both search targeting and the structure of the resulting contact dataset without requiring separate manual searches for every keyword.

### Advantages

Pagesjaunes Email Scraper is particularly useful when the goal is targeted email discovery from Pagesjaunes search results.

Its main advantages include:

- Clear keyword-based input.
- Support for multiple search terms.
- Optional geographic targeting.
- Configurable email domains.
- Configurable collection targets.
- Description-based exclusion filtering.
- Structured Apify dataset output.
- Duplicate email prevention.
- Incremental dataset collection.

### Limitations

There are several important limitations to understand before running large searches.

- Results depend on publicly indexed Pagesjaunes information available to the search process.
- An email address is only collected when it matches one of the configured domain suffixes.
- A keyword that is too narrow may produce few useful results.
- Adding exclusion terms can intentionally reduce the number of collected results.
- `maxEmails` is a target rather than a guarantee that the requested number of addresses will always be available.
- Free-tier runs are subject to a maximum of 100 collected emails. Paid runs do not have this code-level free-tier ceiling.
- Search availability can vary, so some keyword and location combinations may return fewer records than expected.

### Pros and Cons

| Pros                            | Cons                                           |
| ------------------------------- | ---------------------------------------------- |
| Supports multiple keywords      | Narrow searches may produce fewer results      |
| Supports multiple email domains | Only configured email suffixes are targeted    |
| Optional location filtering     | Results depend on publicly indexed information |
| Exclusion-word filtering        | Exclusions can reduce the result set           |
| Structured five-field output    | `maxEmails` does not guarantee availability    |
| Duplicate email prevention      | Free-tier runs have a 100-email ceiling        |

### Comparison With Alternative Approaches

| Capability             | Pagesjaunes Email Scraper   | Manual / Typical Alternative     |
| ---------------------- | --------------------------- | -------------------------------- |
| Keyword search         | Configurable                | User searches individually       |
| Multiple keywords      | Supported                   | Often requires repeated searches |
| Email-domain targeting | Supported                   | Usually handled manually         |
| Location targeting     | Supported                   | Manually added to searches       |
| Exclusion filtering    | Supported                   | Manual review may be required    |
| Structured output      | Dataset fields provided     | May require manual organization  |
| Duplicate prevention   | Supported during collection | Requires manual checking         |
| Collection target      | Configurable                | Manually controlled              |

This comparison focuses on workflow characteristics rather than claiming superiority over other tools or methods.

### Best Practices

For better-targeted Pagesjaunes email research, consider the following practices:

- Use specific business or professional keywords instead of relying on one very broad term.
- Combine related keywords to expand relevant search coverage.
- Add a location when your research is geographically focused.
- Start with common email domains such as `@gmail.com` and add others when relevant.
- Use `excludeWords` only for terms you genuinely want to filter.
- Begin with a small `maxEmails` value when testing a new search strategy.
- Review sample results before increasing the collection target.
- If results are sparse, broaden the keyword or remove an overly restrictive location.
- Use multiple related terms rather than repeating nearly identical queries.
- Validate important contact information before using it in downstream business processes.

### Troubleshooting

**Invalid Input:** Make sure `keywords` is provided as an array of strings. Check that `maxEmails` is an integer between 1 and 10,000.

**Empty Results:** Try broader keywords, remove an overly specific location, or add additional email domains. A search may simply have limited publicly indexed contact information.

**Partial Results:** Receiving fewer emails than requested does not necessarily indicate an input problem. The configured target represents the intended collection amount, while actual availability depends on matching indexed results.

**Missing Email Addresses:** Verify that the desired email suffix is included in `customDomains`. An address using another domain will not match the configured suffixes.

**Too Many Exclusions:** Review `excludeWords` if results are unexpectedly low. Any matching description is skipped, so broad exclusion terms can remove otherwise relevant results.

**Free-Tier Limit:** Free-tier runs have a maximum of 100 collected emails. If your requested target is higher, the free-tier ceiling can limit the final result count.

### Frequently Asked Questions

**What does the Pagesjaunes Email Scraper do?**
It searches for Pagesjaunes results using your keywords and extracts matching email addresses from publicly indexed result descriptions.

**What input does the Pagesjaunes Email Scraper require?**
The required input is `keywords`, provided as an array of search terms. Location, email domains, maximum targets, and exclusion terms are optional.

**Can I use multiple keywords?**
Yes. The `keywords` field accepts multiple strings, allowing you to search several business categories or related terms in one run.

**Can I search a specific city or region?**
Yes. Use the optional `location` field to narrow searches using a country, state, city, or other geographic term.

**Which email domains can I search?**
You can provide custom domain suffixes through `customDomains`, such as `@gmail.com`, `@yahoo.com`, or `@outlook.com`.

**What does `maxEmails` control?**
It defines the intended number of addresses collected for each keyword and email-domain combination. It can be configured from 1 through 10,000.

**Does `maxEmails` guarantee the requested number of emails?**
No. It is a collection target. The final number depends on how many matching publicly indexed addresses are available.

**Can I exclude unwanted descriptions?**
Yes. Add words or phrases to `excludeWords`. Matching descriptions are skipped before an email is collected.

**What data does the Actor return?**
The dataset contains `keyword`, `title`, `description`, `url`, and `email`.

**Why did my run return fewer results than expected?**
The selected keyword, location, email domains, and exclusion terms can all affect coverage. Publicly indexed results may also contain fewer matching email addresses than your target.

**Is the Actor suitable for automated workflows?**
Yes. The Actor accepts structured input and produces structured dataset records, making it suitable for repeatable data-collection workflows where the returned information meets your requirements.

### NLP Keywords

- Pagesjaunes email extraction
- Pagesjaunes contact data
- Pagesjaunes business emails
- Pagesjaunes lead data
- Pagesjaunes search results
- Pagesjaunes business directory
- Pagesjaunes contact discovery
- Pagesjaunes email addresses
- Pagesjaunes data extraction
- Pagesjaunes lead generation
- French business directory
- business email extraction
- email domain filtering
- keyword-based email search
- location-based business search
- structured contact dataset
- public business information
- local business leads
- contact data collection
- business research data

### Related Keywords

- Pagesjaunes email scraper
- Pagesjaunes email extractor
- Pagesjaunes contact scraper
- Pagesjaunes business scraper
- scrape Pagesjaunes emails
- extract Pagesjaunes emails
- Pagesjaunes lead scraper
- Pagesjaunes contact finder
- Pagesjaunes business email finder
- Pagesjaunes email data extraction
- Pagesjaunes France scraper
- Pagesjaunes company email search
- Pagesjaunes local business leads
- Pagesjaunes keyword scraper
- Pagesjaunes location scraper
- Pagesjaunes email address extractor
- Pagesjaunes directory data scraper
- Pagesjaunes business contact extractor
- Pagesjaunes public contact data
- Pagesjaunes lead research tool

### Final Overview

Pagesjaunes Email Scraper provides a structured way to search Pagesjaunes results for publicly indexed email addresses using configurable keywords, optional locations, custom email domains, and exclusion terms.

The Actor is designed around a simple workflow: define the businesses or services you want to research, optionally narrow the search geographically, select the email domains that matter to your project, and receive structured records containing the keyword, title, description, URL, and email.

For more focused research, use several specific keywords instead of relying on a single broad term. When results are limited, consider broadening the search terms, adjusting the location, or adding relevant email domains.

The resulting Apify dataset can then be reviewed and used as structured research data within your broader workflow.

*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": [
    "restaurant",
    "plombier"
  ],
  "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": [
        "restaurant",
        "plombier"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

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

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

```

## MCP server setup

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