# Trustpilot Email Scraper (`email_scraper/trustpilot-email-scraper`) Actor

Trustpilot Email Scraper extracts publicly available email addresses from Trustpilot-related search results using targeted keywords, locations, and custom email domains. Build structured Trustpilot leads with email, title, description, keyword, and URL data.

- **URL**: https://apify.com/email\_scraper/trustpilot-email-scraper.md
- **Developed by:** [Email Scraper](https://apify.com/email_scraper) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.49 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### 🔍 Trustpilot Email Scraper – Overview

Trustpilot Email Scraper helps you find publicly listed email addresses associated with Trustpilot search results using targeted keywords, optional locations, and selected email domain suffixes.

Instead of manually searching Trustpilot pages and checking individual profiles, you can enter a list of relevant search terms and let the Actor process multiple keyword and email-domain combinations automatically. The Actor returns structured lead records containing the matched keyword, result title, description, URL, and extracted email address.

> **📌 Trustpilot Email Scraper at a Glance**
>
> - Search Trustpilot-related results using multiple keywords or queries.
> - Target specific countries, states, or cities with an optional location.
> - Filter results by email domain suffix such as `@gmail.com`.
> - Exclude unwanted profiles using words or phrases.
> - Extract publicly visible email addresses from search-result descriptions.
> - Receive structured records in the Apify Dataset.
> - Avoid duplicate email addresses across the run.
> - Resume progress after an interrupted run.

The easiest way to use the Trustpilot Email Scraper is to provide several specific keywords, choose the email domains you need, optionally add a location, and set the maximum number of results for each keyword and domain combination.

Specific searches generally provide better targeting than a single broad keyword. For example, terms such as `Company reviews`, `Business reviews`, `Software reviews`, or a more focused category can help you build a more relevant Trustpilot email search.

### 🔍 Trustpilot Email Scraper – Key Features

Trustpilot Email Scraper is designed around keyword-driven email discovery. It combines search targeting, email-domain filtering, geographic refinement, exclusion rules, and structured dataset output into one workflow.

> **⚡ Key Features**
>
> - **Keyword-based search:** Enter one or many search terms to define what the Actor looks for.
> - **Email domain targeting:** Search for specific suffixes such as `@gmail.com`, `@yahoo.com`, `@outlook.com`, or custom domains.
> - **Location targeting:** Add a country, state, or city to narrow the search.
> - **Exclude words:** Skip a profile result when its description contains a configured word or phrase.
> - **Duplicate prevention:** The Actor tracks previously discovered email addresses and avoids storing the same address twice.
> - **Structured output:** Results are stored with keyword, title, description, URL, and email information.
> - **Incremental dataset updates:** Matching records are pushed as they are discovered rather than waiting until the entire run finishes.
> - **Resume support:** Progress is persisted so the Actor can continue from its saved position after an interruption.
> - **Large result targets:** `maxEmails` supports values from 1 to 10,000 for paid users, subject to actual result availability and stopping conditions.

The Trustpilot Email Scraper is particularly useful when you need a repeatable workflow for collecting public business contact information connected to Trustpilot search activity.

### 🔍 Trustpilot Email Scraper – What Data Can You Extract?

The Actor extracts email addresses from the descriptions of relevant search results and combines each email with contextual information about the result where it was found.

This gives you more than a standalone email list. Each record can preserve the keyword used, the title of the search result, its description, and its URL so you can understand the context surrounding the discovered address.

> **📦 Output / Data Fields**
>
> - **network** – Identifies the source as `Trustpilot.com`.
> - **keyword** – The keyword associated with the search that produced the result.
> - **title** – Title of the matching search result.
> - **description** – Description or snippet associated with the search result.
> - **url** – URL of the result.
> - **email** – Email address extracted from the result description.

The dataset view is organized as a table, making the collected Trustpilot email data easier to inspect, filter, and process.

The Actor only returns emails that match the email-domain suffixes provided in the input. This makes it possible to focus a run on particular types of addresses rather than extracting every email format encountered.

### 🔍 Trustpilot Email Scraper – How to Use

Using the Trustpilot Email Scraper requires only a few input decisions. Start with search terms, then refine the search with domain and location filters when necessary.

#### 📝 1. Add specific keywords

Enter one or more keywords or search queries in the `keywords` field.

Broad terms can return less targeted results. More descriptive searches can help identify more relevant Trustpilot results and increase the chance of finding useful public contact information.

Example:

```text
Company reviews
Business reviews
Software reviews
Online business reviews
```

#### 🌍 2. Add a location when needed

The optional `location` field lets you narrow searches geographically.

You can enter a country, state, or city such as:

```text
Copenhagen
```

Leave this field empty when you want a broader search without a geographic restriction.

#### 📧 3. Choose email domains

The `customDomains` field controls which email-domain suffixes the Actor searches for.

Example:

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

You can provide multiple domains, allowing each keyword to be processed against each selected domain.

#### 🔢 4. Set the email target

Use `maxEmails` to control how many new email addresses the Actor attempts to collect for each keyword and domain combination.

For example, with 3 keywords, 2 domains, and `maxEmails` set to `20`, the Actor processes six keyword-domain combinations, targeting up to 20 addresses for each combination.

#### 🚫 5. Add exclude words

Use `excludeWords` when certain profiles or descriptions are not relevant to your workflow.

For example:

```text
crypto
onlyfans
```

Single words are matched case-insensitively as whole words, while phrases are matched case-insensitively as substrings.

#### ▶️ 6. Run the Actor

Once the inputs are configured, start the Actor. Matching results are pushed incrementally into the Dataset as they are found.

### 🔎 How to Scrape Trustpilot Emails with Keywords

The most useful approach is to create a keyword list that reflects the type of businesses or profiles you want to identify.

Rather than depending on one generic keyword, build a group of related search terms. This gives the Trustpilot Email Scraper more search variations to work with.

For example, a business-focused workflow might use:

```text
Company reviews
Business reviews
Software reviews
Online store reviews
Service reviews
```

A location can then be added to make the query more specific:

```text
Copenhagen
```

You can also combine multiple email domains when you need broader email coverage.

> **💡 Search Tip**
>
> - Use several highly relevant keywords instead of one overly broad term.
> - Add related terms that describe the same audience from different angles.
> - Use a location when geographic targeting matters.
> - Add more email-domain suffixes when broader contact discovery is required.
> - Keep exclusion terms focused so you do not remove useful results accidentally.

The Actor can search deeply through result pages, but availability of emails depends on what is publicly present in the searchable result descriptions.

### 📍 Can You Target Trustpilot Emails by Location?

Yes. The optional `location` input can add a geographic term to the search query.

This can be useful when you are looking for Trustpilot-related contact information associated with businesses or topics in a particular city, state, country, or other manually entered region.

For example:

```text
location: Copenhagen
```

Leaving `location` blank performs the search without a geographic filter.

Keep in mind that location targeting narrows the search. A highly specific geographic term combined with a narrow keyword may produce fewer results.

### 📧 Can You Search Multiple Email Domains?

Yes. The `customDomains` field accepts a list of email-domain suffixes.

For example:

```text
@gmai​​l.com
@yahoo.com
@outlook.com
@hotmail.com
```

Each selected domain is processed as a separate combination with the supplied keywords.

This is useful when a single domain does not provide enough public email matches.

You can also use company-specific domains when relevant:

```text
@company.com
```

The Actor only extracts emails matching the configured domain patterns.

### 🚫 Can You Exclude Specific Trustpilot Results?

Yes. Use the `excludeWords` field to filter out unwanted result descriptions.

When an exclusion word or phrase appears in a result description, the entire result snippet is skipped and no email is collected from that result.

For example:

```text
crypto
onlyfans
```

Single-word matching is case-insensitive and uses whole-word matching. Multi-word phrases are matched as case-insensitive substrings.

This filtering happens before email extraction, helping you remove categories of results that are not useful to your workflow.

### 🎯 Trustpilot Email Scraper – Use Cases

Trustpilot Email Scraper can support several public-contact and research workflows where Trustpilot search results are relevant.

> **🚀 Use Cases**
>
> - **Lead research:** Build lists of publicly discoverable business contact emails associated with relevant search results.
> - **Market research:** Examine Trustpilot-related search results across different topics, industries, or locations.
> - **Business prospecting:** Use targeted keywords and company-related searches to discover potentially useful contact information.
> - **Review research:** Collect the result title, description, URL, and email together for additional context.
> - **Geographic research:** Compare results across cities, states, countries, or other location terms.
> - **Email-domain analysis:** Search separately for Gmail, Yahoo, Outlook, or custom business domains.
> - **Data enrichment:** Add Trustpilot-derived email information to a larger research dataset.

The Actor is most effective when your keywords represent the audience or business category you are actually researching.

### 📥 Input

The Trustpilot Email Scraper accepts the following inputs:

| Input           | Type    | Required | Default                           | Description                                                 |
| --------------- | ------- | -------: | --------------------------------- | ----------------------------------------------------------- |
| `keywords`      | Array   |      Yes | Company reviews, Business reviews | Keywords or queries used for the search                     |
| `location`      | String  |       No | Empty                             | Country, state, city, or other geographic term              |
| `customDomains` | Array   |       No | `@gmail.com`                      | Email-domain suffixes to search for                         |
| `maxEmails`     | Integer |       No | `10`                              | Target per keyword + domain combination                     |
| `excludeWords`  | Array   |       No | Empty                             | Words or phrases that cause matching snippets to be skipped |

#### 🔹 Keywords

`keywords` is the primary targeting input and accepts a list of search terms.

Use multiple specific terms to expand coverage and improve relevance.

#### 🔹 Location

`location` is optional. It can contain any manually entered country, state, city, or regional term.

#### 🔹 Custom Domains

`customDomains` determines the email suffixes that the Actor searches for.

#### 🔹 Max Emails

`maxEmails` accepts values from **1 to 10,000**.

For free users, the Actor caps the configured value at **100** per keyword and domain combination. Paid users are not subject to that 100-email configuration cap.

Actual results can be lower because the Actor only collects emails that are publicly discoverable and satisfy the search and filtering conditions.

#### 🔹 Exclude Words

`excludeWords` accepts words or phrases that should cause a matching search-result description to be ignored.

### 📤 Output

Each successful match is stored as a structured Dataset record.

Example output:

```json
{
  "network": "Trustpilot.com",
  "keyword": "Company reviews",
  "title": "Example Business Reviews",
  "description": "Example result description with contact@example.com",
  "url": "https://www.trustpilot.com/...",
  "email": "contact@example.com"
}
```

The `description` field preserves the searchable snippet associated with the result, while `url` provides the source link shown by the search result.

The Actor also maintains a set of previously seen email addresses during its persisted run state, preventing duplicate email records from being added when the same address appears again.

### 💰 Pricing and Result Limits

The Actor's `maxEmails` input controls the target for each keyword + email-domain combination.

For free users, the implementation applies a maximum configured target of **100 emails per keyword + domain combination**. Paid users do not receive this 100-email cap.

> **💳 Pricing / Limits**
>
> - `maxEmails` minimum: **1**
> - `maxEmails` maximum in the input schema: **10,000**
> - Free-user configured maximum: **100 per keyword + domain combination**
> - Paid users: no 100-email configuration restriction
> - Actual results are not guaranteed to reach the requested target.
> - Results depend on publicly available searchable email information.

A higher target does not necessarily mean more results. Search availability, keyword relevance, location restrictions, selected domains, duplicate emails, exclusion rules, and available search results can all affect the final dataset.

### ⚙️ How the Actor Handles Large Searches

The Trustpilot Email Scraper processes searches in pages and can continue through multiple keyword-domain combinations.

The Actor includes several stopping conditions designed to avoid continuing indefinitely when useful email results are no longer being discovered.

It can stop when the configured target has been reached, when multiple consecutive pages produce no new emails, when later pages contain insufficient results, when search pages become empty, or when repeated fetch failures occur.

The Actor also supports progress persistence. Its current position and discovered email set are saved during processing, allowing an interrupted workflow to resume from stored progress rather than treating every step as completely new.

> **🛡️ Important Note**
>
> - More search terms can increase coverage.
> - More domains can increase the number of keyword-domain combinations processed.
> - Narrow searches may produce fewer results.
> - Public email availability determines what can actually be extracted.
> - Duplicate email addresses are not repeatedly stored.

### 💡 Tips and Best Practices

For better Trustpilot email results, start with focused keyword planning rather than immediately increasing the email target.

Use several related queries that describe the businesses, services, industries, or review topics you care about. This gives the search workflow more opportunities to identify relevant result pages.

When using `location`, avoid making it unnecessarily restrictive. A city-level search can be useful for local research, but removing the location may provide broader coverage.

Likewise, add multiple email domains when broad email discovery matters. When you only need a specific domain, keeping the list focused can make the search more targeted.

> **✅ Best-Practice Checklist**
>
> - Start with 3–5 relevant keywords.
> - Add related keyword variations for broader coverage.
> - Use location only when geographic targeting is important.
> - Add the email domains that match your research requirements.
> - Use exclusion terms carefully.
> - Increase `maxEmails` only when you actually need deeper coverage.
> - Review the resulting title, description, URL, and email together rather than using the email field alone.

### ❓ Frequently Asked Questions

#### 🔹 What is Trustpilot Email Scraper?

Trustpilot Email Scraper is an Apify Actor that searches for Trustpilot-related results using your keywords and extracts matching publicly visible email addresses from result descriptions.

#### 🔹 How do I use Trustpilot Email Scraper?

Add your keywords, optionally provide a location, choose email domains, set `maxEmails`, and optionally define exclusion words. Then start the Actor and review the generated Dataset.

#### 🔹 What data does Trustpilot Email Scraper return?

Each result can contain the network, keyword, title, description, URL, and extracted email address.

#### 🔹 Can Trustpilot Email Scraper search multiple keywords?

Yes. The `keywords` field accepts a list, and each keyword is processed as part of the Actor's search workflow.

#### 🔹 Can I search Trustpilot emails by city or country?

Yes. Enter a city, state, country, or another geographic term in the optional `location` field.

#### 🔹 Can I search Gmail and Yahoo emails separately?

Yes. Add the required suffixes to `customDomains`, such as `@gmail.com` and `@yahoo.com`.

#### 🔹 What is the maximum `maxEmails` value?

The input schema allows a maximum value of **10,000**. Free users are capped at 100 for the configured per-combination target.

#### 🔹 Does Trustpilot Email Scraper guarantee the requested number of emails?

No. The requested target is a collection limit, not a guarantee. Results depend on available public email information and the search conditions.

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

Yes. The Actor tracks previously seen email addresses and skips addresses that have already been collected during the persisted run state.

#### 🔹 Can I exclude unwanted categories or phrases?

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

#### 🔹 Does location filtering always increase results?

No. A location can improve geographic relevance, but making the search too narrow can reduce the number of available results.

#### 🔹 What happens when there are no useful new results?

The Actor uses several stopping conditions, including consecutive pages without new emails and low-yield later pages, to avoid unnecessary continued searching.

### 🔐 Privacy and Data Considerations

Trustpilot Email Scraper is intended to work with publicly discoverable search-result information. The README does not expose internal scraping implementation, private infrastructure, authentication information, or other sensitive configuration details.

Use collected contact information responsibly and in accordance with applicable privacy, anti-spam, data protection, and platform rules.

### 🆘 Support

For Actor questions, improvements, or custom development requests, contact:

- 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": [
    "Company reviews",
    "Business reviews"
  ],
  "location": "Copenhagen",
  "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": [
        "Company reviews",
        "Business reviews"
    ],
    "location": "Copenhagen",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

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

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

```

## MCP server setup

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