# Annuaire-entreprises Email Scraper (`email_scraper/annuaire-entreprises-email-scraper`) Actor

Annuaire-entreprises 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/annuaire-entreprises-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

### Annuaire-entreprises Email Scraper

Annuaire-entreprises Email Scraper extracts publicly indexed email addresses from Annuaire-entreprises search results using targeted keywords and configurable email domain suffixes. It is designed for users who need structured contact data for business research, lead discovery, market research, company research, and dataset creation.

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

The Actor supports multiple keyword and domain combinations, making it possible to organize searches around different business terms and email types. Results are delivered as structured dataset records that can be reviewed and used in downstream research or data workflows.

### What Is an Annuaire-entreprises Email Scraper?

Annuaire-entreprises Email Scraper is an email extraction and business research Actor focused on publicly indexed Annuaire-entreprises pages.

Instead of manually searching through company-related pages and copying publicly displayed email addresses, you can define your search criteria and let the Actor collect matching email addresses into a structured dataset.

The Actor searches for results associated with your keywords and configured email domains. Optional location filtering can narrow the search geographically, while exclusion words help remove result descriptions that contain terms you do not want to process.

This makes the Actor useful when your goal is to turn targeted Annuaire-entreprises search activity into organized contact data.

### Key Features

| Feature                      | Description                                                   | User Benefit                             |
| ---------------------------- | ------------------------------------------------------------- | ---------------------------------------- |
| Multiple keywords            | Search using a list of keywords or queries                    | Cover several business topics in one run |
| Location filtering           | Optionally specify a country, state, or city                  | Narrow research to a geographic area     |
| Custom email domains         | Define email suffixes such as `@gmail.com` or `@yahoo.com`    | Focus extraction on relevant email types |
| Per-combination email target | Configure `maxEmails` for each keyword and domain combination | Control the amount of data collected     |
| Exclusion filtering          | Skip descriptions containing configured words or phrases      | Reduce unwanted matches                  |
| Duplicate prevention         | Previously collected email addresses are not added again      | Keep results cleaner                     |
| Structured dataset output    | Results contain keyword, title, description, URL, and email   | Simplify analysis and lead research      |
| Multiple search combinations | Keywords and domains can be combined in the same run          | Expand targeted research coverage        |

### What Data Can You Extract?

The Actor returns five primary user-facing fields for each collected email address:

- **Keyword** — the keyword associated with the search that produced the result.
- **Title** — the title of the indexed result.
- **Description** — the available result description containing the extracted contact information.
- **URL** — the source result URL.
- **Email** — the email address matching one of your configured domain suffixes.

The output is intentionally structured so that each record connects an email address with its search context and source information.

This can help users understand where an email was discovered instead of receiving an unstructured list of addresses without context.

### Why Use This Actor?

Manual business contact research can involve repeating similar searches, reviewing result descriptions, identifying relevant email addresses, and organizing the information afterward.

Annuaire-entreprises Email Scraper provides a configurable workflow for this type of research. Multiple keywords can be submitted together, optional geographic targeting can be applied, and email domain suffixes can be customized.

The structured dataset is particularly useful when you need to review contact information alongside the keyword and source URL that produced it.

The Actor is also suitable for iterative research. You can begin with a small keyword set, inspect the results, and then adjust keywords, domains, locations, or exclusion terms for subsequent runs.

### Benefits

- **Automated email collection** — Reduce repetitive manual searching for publicly indexed contact information.
- **Targeted research** — Use specific business terms instead of relying on one broad keyword.
- **Geographic filtering** — Add a location when your research focuses on a particular market or area.
- **Flexible domain selection** — Search for specific email suffixes according to your research requirements.
- **Structured results** — Receive consistent fields for easier review and analysis.
- **Multiple search combinations** — Combine several keywords with several email domains.
- **Cleaner datasets** — Duplicate email addresses are not repeatedly added during collection.
- **Exclusion control** — Remove result descriptions containing unwanted words or phrases.

### How to Use the Annuaire-entreprises Email Scraper

A typical workflow is straightforward:

1. Enter one or more keywords in the `keywords` field.
2. Optionally enter a location such as a country, state, or city.
3. Select the email domains you want to search for in `customDomains`.
4. Set `maxEmails` according to the amount of data you want to target.
5. Add `excludeWords` if certain descriptions should be skipped.
6. Start the Actor run.
7. Review the structured dataset containing the collected email records.

For better targeting, use several specific related search terms rather than relying only on a broad term.

For example, instead of using only `entreprise`, you could research more specific terms related to your target business segment.

### Input

The Actor requires the `keywords` field. All other configuration fields are optional.

| Field           | Type             | Required | Default                   | Description                                                                   |
| --------------- | ---------------- | -------- | ------------------------- | ----------------------------------------------------------------------------- |
| `keywords`      | Array of strings | Yes      | `["entreprise", "SIREN"]` | Keywords or queries used for the search                                       |
| `location`      | String           | No       | Empty                     | Optional country, state, or city used to narrow results                       |
| `customDomains` | Array of strings | No       | `["@gmail.com"]`          | Email domain suffixes to search for                                           |
| `maxEmails`     | Integer          | No       | `5`                       | Target number of emails for each keyword + domain combination; range 1–10,000 |
| `excludeWords`  | Array of strings | No       | `[]`                      | Words or phrases that cause matching descriptions to be skipped               |

The `keywords` field accepts multiple values. Specific terms generally provide more targeted search intent than very broad terms.

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

For `customDomains`, use complete suffixes such as `@gmail.com`, `@yahoo.com`, `@outlook.com`, or a company-specific domain suffix.

The `maxEmails` value controls the target for each keyword and domain combination rather than representing one shared target across the entire keyword/domain matrix. The actual number returned can be lower when matching publicly indexed results are unavailable.

### Input Example

```json
{
  "keywords": [
    "entreprise",
    "PME",
    "dirigeant"
  ],
  "location": "Paris",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ],
  "maxEmails": 20,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

This example searches several business-related terms, narrows the search to Paris, checks three email domain suffixes, targets up to 20 addresses for each keyword/domain combination, and skips descriptions matching the specified exclusion terms.

### Output

Each collected result is stored as a structured dataset record.

| Field         | Description                                          |
| ------------- | ---------------------------------------------------- |
| `keyword`     | Keyword used for the search that produced the result |
| `title`       | Title of the indexed search result                   |
| `description` | Result description associated with the source page   |
| `url`         | URL of the indexed result                            |
| `email`       | Email address extracted from the result description  |

The dataset view is designed around these five fields, making the output suitable for reviewing source context together with contact information.

The Actor also prevents the same email address from being added repeatedly during a run. Therefore, the number of final records may differ from the theoretical sum of all configured targets when the same address appears across multiple searches.

### Output Example

```json
{
  "keyword": "PME",
  "title": "Example Company",
  "description": "Example company information with contact@example.com listed in the indexed description.",
  "url": "https://annuaire-entreprises.data.gouv.fr/...",
  "email": "contact@example.com"
}
```

The example values are illustrative. Actual titles, descriptions, URLs, and email addresses depend on the publicly indexed results available for the search criteria.

### Use Cases

Annuaire-entreprises Email Scraper can support several research-oriented workflows:

- **Business lead research** — Find publicly indexed email addresses associated with targeted business searches.
- **Market research** — Collect contact-related data around specific company categories or business terms.
- **Company research** — Search using terms such as company types, business roles, or identifiers.
- **Local market research** — Combine business keywords with a city or region.
- **B2B research** — Search targeted business terminology and company-domain email addresses.
- **Dataset creation** — Build structured datasets containing email, source URL, title, description, and keyword context.
- **Contact discovery** — Identify publicly indexed email addresses associated with relevant search results.
- **Research automation** — Repeat structured searches using different keyword and domain combinations.

Use the Actor only in ways that comply with applicable laws, regulations, website terms, and your own data-use requirements.

### Competitive Advantages

The practical strengths of this Actor come from its configuration and structured output:

- Multiple keywords can be processed in one run.
- Multiple email domains can be configured.
- Location can be added without requiring a separate Actor configuration.
- Exclusion words can remove unwanted descriptions before email extraction.
- Results retain their search keyword and source context.
- Email addresses are deduplicated during collection.
- The output is organized into a consistent five-field dataset.

These characteristics make the Actor suitable for focused research rather than requiring users to manually organize every discovered contact.

### Advantages

- **Flexible targeting:** Combine keywords, locations, and email domains.
- **Structured contact records:** Every result retains useful search and source context.
- **Configurable collection:** Adjust the email target according to the size of your research task.
- **Filtering support:** Exclude unwanted descriptions using configurable terms.
- **Research-friendly output:** The dataset can be reviewed directly using consistent fields.

### Limitations

- Results depend on publicly indexed information available for the requested search criteria.
- The Actor cannot guarantee that every company or profile has a publicly indexed email address.
- A configured `maxEmails` value is a target, not a guarantee that the requested number will be found.
- Narrow keywords or locations can produce fewer results.
- Exclusion terms can intentionally remove descriptions that would otherwise contain matching email addresses.
- Duplicate email addresses are not repeatedly added to the dataset.
- Free-tier usage applies a maximum of 100 collected emails when the configured target would otherwise exceed that limit.
- Actual results can therefore be lower than the theoretical number implied by the keyword/domain combinations.

### Pros and Cons

| Pros                           | Cons                                                  |
| ------------------------------ | ----------------------------------------------------- |
| Multiple keyword searches      | Narrow searches may return limited results            |
| Custom email domain targeting  | Requested targets are not guaranteed                  |
| Optional location filtering    | Results depend on publicly indexed information        |
| Exclusion word filtering       | Exclusions can remove otherwise matching descriptions |
| Structured five-field output   | Duplicate addresses are not repeated                  |
| Suitable for targeted research | Free-tier collection is limited to 100 emails         |

### Comparison With Alternative Approaches

| Capability             | This Actor                              | Manual / Typical Alternative              |
| ---------------------- | --------------------------------------- | ----------------------------------------- |
| Keyword-based research | Supported                               | Usually requires repeated manual searches |
| Multiple keywords      | Supported                               | Often handled separately                  |
| Custom email domains   | Supported                               | Requires manual search refinement         |
| Location filtering     | Supported                               | Requires manually adding geographic terms |
| Exclusion filtering    | Supported                               | Usually performed manually                |
| Structured output      | Keyword, title, description, URL, email | May require manual organization           |
| Duplicate prevention   | Supported during collection             | Often requires separate cleanup           |
| Dataset creation       | Direct structured records               | May require spreadsheet preparation       |

The Actor is intended to automate repetitive search and organization work while keeping the resulting records structured.

### Best Practices

- Start with a small `maxEmails` value to evaluate the quality of your search terms.
- Use several specific keywords instead of depending on one very broad term.
- Use related business terms when researching a particular industry or role.
- Add a location when geographic relevance matters.
- Leave the location empty when you want broader search coverage.
- Select email domains that match your research objective.
- Add exclusion terms only when you are confident that matching descriptions should be omitted.
- Review the first results before expanding a large search.
- If results are sparse, broaden the keywords or remove an overly restrictive location.
- Validate important contact information before using it in downstream workflows.

### Troubleshooting

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

**Empty results:** Try broader or more specific keywords depending on the research goal. You can also remove the location filter or test additional email domains.

**Few results:** A narrow keyword, location, or domain can reduce the number of matching results. Adding related search terms may increase coverage.

**Missing email addresses:** The Actor only extracts matching email addresses that are available in the indexed result descriptions. A source page may exist without exposing an email address in the indexed information.

**Unexpectedly fewer records:** The requested target is not a guarantee. Publicly indexed results may not contain enough matching email addresses, and duplicate addresses are not added repeatedly.

**Excluded results:** Review `excludeWords` if expected records are missing. A matching exclusion term causes the associated description to be skipped.

**Partial runs:** Review the resulting dataset and consider running another targeted search with different keywords or domains when additional coverage is required.

### Frequently Asked Questions

**What does the Annuaire-entreprises Email Scraper do?**

It searches publicly indexed Annuaire-entreprises results using your configured keywords and email domains, then returns matching email addresses with their keyword, title, description, and URL.

**What data does the Annuaire-entreprises Email Scraper return?**

The output contains `keyword`, `title`, `description`, `url`, and `email`.

**Can I use multiple keywords?**

Yes. The required `keywords` field accepts an array of search terms, allowing multiple targeted searches in one run.

**Can I search by location?**

Yes. The optional `location` field accepts a country, state, or city and can be left empty for searches without a geographic filter.

**Can I choose which email domains to search?**

Yes. Use `customDomains` to provide email suffixes such as `@gmail.com`, `@yahoo.com`, `@outlook.com`, or other domain suffixes relevant to your research.

**What does `maxEmails` control?**

It specifies the target number of email addresses for each keyword and domain combination. It can be configured from 1 to 10,000 in the Actor input schema.

**Does the Actor guarantee the requested number of emails?**

No. `maxEmails` is a collection target. The available number depends on matching publicly indexed results, configured filters, and duplicate addresses.

**How does `excludeWords` work?**

If a result description contains an excluded single word or phrase, the description is skipped and no email is extracted from it. Matching is case-insensitive. Single words use whole-word matching, while phrases are matched as phrases.

**Why did I receive fewer results than expected?**

The search may not contain enough publicly indexed descriptions with matching email domains. Narrow keywords, locations, domain filters, exclusion terms, and duplicate addresses can also reduce the final dataset size.

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

Yes. Its structured input and dataset output make it suitable for repeatable research and data-collection workflows where publicly indexed business contact information is relevant.

### NLP Keywords

- Annuaire-entreprises email scraper
- Annuaire-entreprises email extraction
- Annuaire-entreprises contact data
- Annuaire-entreprises business contacts
- Annuaire-entreprises lead extraction
- Annuaire-entreprises data extraction
- Annuaire-entreprises company research
- Annuaire-entreprises email finder
- French business email scraper
- French company contact scraper
- French business directory scraper
- business email extraction
- company email discovery
- public business contact data
- keyword-based email extraction
- location-based business search
- custom email domain search
- structured contact dataset
- business lead research
- company contact research

### Related Keywords

- Annuaire entreprises scraper
- Annuaire entreprises email finder
- Annuaire entreprises contact scraper
- Annuaire entreprises data scraper
- Annuaire entreprises lead scraper
- France business email scraper
- French company email finder
- French business directory email extraction
- company email scraper France
- business directory email scraper
- company contact data extraction
- public company email extraction
- business lead data scraper
- email extraction by keyword
- email scraper with location filter
- custom domain email scraper
- business contact discovery tool
- company research scraper
- B2B email research scraper
- structured business contact extraction

### Final Overview

Annuaire-entreprises Email Scraper provides a structured way to research publicly indexed business contact information using targeted keywords, optional geographic filters, custom email domains, and exclusion terms.

The Actor accepts multiple search keywords and returns organized records containing the keyword, result title, description, URL, and matching email address. Configurable collection targets and duplicate prevention help keep research runs organized, while exclusion filtering provides additional control over which descriptions are processed.

For broader coverage, use several relevant keywords and email domains. For focused research, combine specific business terms with a location and carefully selected filters. When results are limited, review the search criteria and adjust the terms rather than assuming the requested target will always be available.

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

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

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

```

## MCP server setup

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