# OpenCritic Email Scraper (`email_scraper/opencritic-email-scraper`) Actor

OpenCritic Email Scrape extracts publicly indexed email addresses from OpenCritic search results using targeted keywords, custom email domains, location filters, and exclude words. Build structured, deduplicated OpenCritic leads for research, outreach, and B2B prospecting.

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

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

### 🔍 OpenCritic Email Scrape – Overview

OpenCritic Email Scrape is an Apify Actor designed to discover publicly listed email addresses associated with OpenCritic search results based on keywords, email domains, and optional geographic targeting.

It is useful for marketers, lead researchers, game industry professionals, publishers, studios, agencies, and businesses that need structured contact data from publicly indexed OpenCritic pages.

The Actor searches for OpenCritic results matching your selected keyword and email-domain combinations, reads publicly available search-result information, identifies matching email addresses, removes duplicate emails, and saves the resulting leads to the Apify dataset.

> **📌 OpenCritic Email Scrape at a glance**
>
> - Search OpenCritic-related results using custom keywords
> - Filter results by email domain such as `@gmail.com`
> - Optionally narrow searches by country, state, or city
> - Exclude unwanted words or phrases from result descriptions
> - Collect unique email addresses
> - Store structured lead records in an Apify dataset
> - Continue through multiple keyword + domain combinations
> - Persist progress so interrupted runs can continue from saved progress

The easiest way to use OpenCritic Email Scrape is to enter several specific keywords, select the email domains you want, optionally add a location, choose a maximum email target, and start the Actor.

### 🔍 OpenCritic Email Scrape – Key Features

OpenCritic Email Scrape focuses on targeted email discovery rather than collecting unrelated website information. Your search strategy directly controls the type of results the Actor processes.

#### 🎯 Targeted Keyword Search

- Enter one or multiple search keywords or queries.
- Use specific terms such as `Game Publisher`, `Game Studio`, `Game Developer`, or other relevant industry terms.
- Different keywords can target different types of OpenCritic-related results.
- More specific keyword combinations can help narrow the search to more relevant prospects.

For example, instead of using only `Game`, you can provide several targeted searches:

- `Game Publisher`
- `Game Studio`
- `Game Developer`
- `Game Producer`
- `Video Game Marketing`

This approach can provide broader search coverage while keeping each search focused.

#### 📧 Custom Email Domain Filtering

OpenCritic Email Scrape allows you to specify email-domain suffixes that you want to search for.

Examples include:

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

The Actor searches each keyword together with each selected domain, allowing you to target particular types of email addresses.

#### 📍 Location Filtering

The optional location field can narrow the search to a particular geographic area.

You can enter:

- A country
- A state or province
- A city
- Another manually specified geographic term

For example:

- `Canada`
- `United States`
- `Montreal`
- `London`
- `Toronto`

Leave the location empty when you want broader coverage.

#### 🚫 Exclude Words

The exclude words filter helps remove unwanted search-result snippets.

- Single words are matched as whole words.
- Phrases are matched as phrases.
- Matching is case-insensitive.
- When a description contains an excluded term, that result is skipped.

For example, you could exclude:

- `crypto`
- `onlyfans`
- `adult`
- `casino`

This can help keep your collected contact list more relevant to your intended audience.

### 🔍 OpenCritic Email Scrape – What Data You Can Extract

The Actor produces structured records containing the information needed to understand where an email address came from.

Each collected lead can contain:

| Field         | Description                                          |
| ------------- | ---------------------------------------------------- |
| `network`     | Identifies the source network as OpenCritic.com      |
| `keyword`     | Keyword that produced the result                     |
| `title`       | Title of the matched search result                   |
| `description` | Public search-result description/snippet             |
| `url`         | URL associated with the result                       |
| `email`       | Email address identified from the result description |

The email address is the primary contact field, while the keyword, title, description, and URL provide useful context for reviewing the lead.

> **📦 Output example**
>
> ```json
> {
>   "network": "OpenCritic.com",
>   "keyword": "Game Studio",
>   "title": "Example Game Studio",
>   "description": "Example public description containing contact@example.com",
>   "url": "https://www.opencritic.com/...",
>   "email": "contact@example.com"
> }
> ```

Only email addresses that match the configured domain suffixes are collected. Duplicate email addresses are tracked and are not collected repeatedly during the run.

### 🔍 OpenCritic Email Scrape – How to Use It

Using OpenCritic Email Scrape requires only a few configuration steps.

#### 1. 🔎 Add Keywords

Enter the OpenCritic-related terms you want to search.

For broader coverage, use multiple related keywords instead of relying on a single broad query.

Example:

- `Game Publisher`
- `Game Studio`
- `Game Developer`

#### 2. 📍 Add a Location if Needed

Enter a location when you want to narrow your search.

For global searches, leave this field empty.

#### 3. 📧 Select Email Domains

Add the domains you want the Actor to look for.

For example:

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

You can also add business-specific domains if that matches your research goal.

#### 4. 🎯 Set the Maximum Emails

`maxEmails` controls the target for each keyword + domain combination.

For example, if you use:

- 3 keywords
- 2 email domains
- `maxEmails = 20`

the Actor processes the combinations separately, giving each combination its own target.

The configured maximum is between **1 and 10,000**.

#### 5. 🚫 Add Exclude Words

Add words or phrases that should cause matching descriptions to be skipped.

Leave this empty when you do not need filtering.

#### 6. ▶️ Start the Actor

Start the run and review the resulting records in the Apify dataset.

> **💡 Recommended starting configuration**
>
> - Keywords: 3–5 specific terms
> - Location: Leave blank for broad discovery
> - Domains: 3–5 relevant email suffixes
> - Maximum emails: Start with a moderate target
> - Exclude words: Add only terms that are genuinely unwanted

### 🔍 How to Scrape OpenCritic Emails with Multiple Keywords

The practical way to improve OpenCritic Email Scrape coverage is to combine several related search terms.

A single keyword can be too restrictive because publicly indexed pages may use different terminology. For example, a game company may be associated with terms such as `Game Studio`, `Game Publisher`, or `Game Developer`.

A multi-keyword search gives each term its own search path.

> **🔎 Search strategy example**
>
> Instead of:
>
> - `Game`
>
> Consider:
>
> - `Game Publisher`
> - `Game Studio`
> - `Game Developer`
> - `Game Producer`
> - `Video Game Company`

You can then combine those searches with multiple email domains for wider coverage.

Keep in mind that more combinations can require more search activity and a longer run.

### 🔍 Can You Filter OpenCritic Email Results by Country or City?

Yes. The `location` input is an optional geographic filter.

Enter a country, state, city, or another location manually when you want to make the search more specific.

For example:

- `Canada`
- `United States`
- `Montreal`
- `New York`
- `London`

Location filtering is especially useful when your lead-generation campaign targets a particular market.

If you want the broadest possible search, leave the field blank.

### 🔍 OpenCritic Email Scrape – Use Cases

OpenCritic Email Scrape can support several types of public contact research and lead-generation workflows.

#### 🎮 Game Industry Lead Research

- Discover publicly indexed contact emails related to game studios.
- Research game publishers and development companies.
- Build structured prospect lists for further qualification.
- Organize contacts by the keyword that produced them.

#### 📣 Marketing and Outreach Research

- Identify publicly available business contacts.
- Build targeted research lists around specific game-industry terms.
- Separate results by search keyword.
- Review the source URL and description before using a contact.

#### 🏢 B2B Prospecting

- Search for business-related email domains.
- Target company-specific domains when publicly indexed.
- Use geographic terms to narrow potential prospects.
- Build structured datasets for later analysis.

#### 🔬 Market Research

- Compare results across different keywords.
- Identify publicly indexed companies associated with particular search terms.
- Analyze descriptions and URLs alongside collected emails.
- Create a more organized research dataset than manually copying search results.

### 🔍 Input Configuration

The Actor accepts the following inputs:

| Input           | Type    | Required | Description                                                 |
| --------------- | ------- | -------: | ----------------------------------------------------------- |
| `keywords`      | Array   |      Yes | Keywords or queries used to search OpenCritic results       |
| `location`      | String  |       No | Optional country, state, city, or geographic term           |
| `customDomains` | Array   |       No | Email-domain suffixes to search for                         |
| `maxEmails`     | Integer |       No | Maximum target per keyword + domain combination             |
| `excludeWords`  | Array   |       No | Words or phrases that cause matching snippets to be skipped |

#### `keywords`

This is the main search input.

Example:

```json
{
  "keywords": [
    "Game Publisher",
    "Game Studio",
    "Game Developer"
  ]
}
```

The input supports multiple search terms, allowing you to build a keyword matrix.

#### `location`

Optional geographic targeting.

Example:

```json
"location": "Canada"
```

Use an empty value for unrestricted geographic searching.

#### `customDomains`

Specifies the email domains to look for.

Example:

```json
"customDomains": [
  "@gmail.com",
  "@outlook.com",
  "@yahoo.com"
]
```

#### `maxEmails`

Sets the collection target for each keyword + domain combination.

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

#### `excludeWords`

Defines unwanted words or phrases.

Example:

```json
"excludeWords": [
  "crypto",
  "onlyfans"
]
```

### 🔍 Output Format

Results are pushed incrementally into the Apify dataset.

The dataset is configured with a table view containing:

- `keyword`
- `title`
- `description`
- `url`
- `email`

The Actor also includes the `network` field in each generated result to identify the source as OpenCritic.com.

This structured format makes the dataset convenient to inspect, filter, and process after the run.

> **📊 Example dataset row**
>
> - Keyword: `Game Publisher`
> - Title: `Example Publisher`
> - Description: Public search-result snippet
> - URL: OpenCritic result URL
> - Email: `contact@example.com`

The exact number of results depends on what publicly indexed information is available for the selected search combinations.

### 🔍 Pricing and Result Limits

The Actor's code applies different result behavior depending on the detected Apify plan status.

For free users, the Actor applies a maximum of **100 emails**. If a higher value is requested, the effective limit is reduced to 100.

For paid users, the Actor does not apply this 100-email restriction.

The `maxEmails` value is still relevant because it controls the configured collection target for each keyword + domain combination.

> **💰 Pricing note**
>
> The Actor configuration provided here does not specify an Actor price or usage price. Therefore, no fixed per-run or per-email price is stated in this documentation.

### 🔍 Tips and Best Practices

- Use several specific keywords instead of one extremely broad term.
- Combine related game-industry search terms for wider discovery.
- Add several email domains when different contact types are relevant.
- Use location filtering when geographic targeting matters.
- Leave location empty when you want broader search coverage.
- Use exclude words to remove clearly irrelevant categories.
- Start with a moderate `maxEmails` target and increase it when needed.
- Review descriptions and source URLs before using collected contacts for outreach.
- Remember that the Actor can only collect email addresses that are publicly available in the indexed search information.
- A higher target does not guarantee that the requested number of emails will be found.
- Broader keywords and additional domain combinations can increase the number of opportunities available to the scraper.

> **⚠️ Important**
>
> OpenCritic Email Scrape does not guarantee a particular number of email addresses. Results depend on publicly indexed search data, keyword relevance, selected domains, location filters, and the availability of matching contact information.

### 🔍 Frequently Asked Questions

#### 🔹 What is OpenCritic Email Scrape?

OpenCritic Email Scrape is an Apify Actor that searches for publicly indexed OpenCritic-related results using your keywords and extracts matching email addresses from available result descriptions.

#### 🔹 How do I scrape emails from OpenCritic?

Enter one or more keywords, select the email domains you want to target, optionally provide a location, and set your desired email target. The Actor processes the resulting keyword + domain combinations and stores unique email leads in the Apify dataset.

#### 🔹 Can I search OpenCritic by multiple keywords?

Yes. The `keywords` input accepts multiple search terms. Using related terms such as `Game Publisher`, `Game Studio`, and `Game Developer` can provide broader search coverage.

#### 🔹 Can I search for Gmail emails from OpenCritic?

Yes. Add `@gmail.com` to `customDomains`. You can also add other supported domain suffixes such as `@yahoo.com` or `@outlook.com`.

#### 🔹 Can I use company email domains?

Yes. You can enter custom domain suffixes, including company domains, when publicly indexed addresses using those domains are available.

#### 🔹 Can I filter OpenCritic email results by location?

Yes. The optional `location` field can contain a country, state, city, or other geographic term.

#### 🔹 Does OpenCritic Email Scrape collect duplicate emails?

The Actor tracks collected email addresses and skips addresses that have already been registered, helping keep the resulting dataset focused on unique contacts.

#### 🔹 Does maxEmails mean the total number of emails for the entire run?

The Actor processes keyword + domain combinations independently. The configured target is applied as a separate target for each combination rather than as one shared global target.

#### 🔹 Why did the Actor collect fewer emails than my maxEmails value?

A maximum target is not a guarantee. The Actor can only collect matching addresses that are available in publicly indexed search results. Narrow keywords, limited domains, geographic filters, or limited indexed information can produce fewer results.

#### 🔹 Can I exclude unwanted search results?

Yes. Use `excludeWords` to skip descriptions containing specified words or phrases. Matching is case-insensitive.

#### 🔹 What happens if I use many keywords and domains?

The Actor processes the combinations sequentially. More combinations can expand search coverage, but they can also increase the amount of work and the time required for a run.

#### 🔹 Is the collected information publicly available?

The Actor is designed to extract email addresses from publicly indexed search-result information. Users should independently review collected contacts and follow applicable privacy, data-protection, and outreach requirements.

### 🔍 Support

If you need help with OpenCritic Email Scrape, keyword targeting, input configuration, output interpretation, or a custom adjustment, you can contact me directly.

**contact me by email : <alphascraper69@gmail.com>**

# Actor input Schema

## `keywords` (type: `array`):

A list of keywords or queries to search for.

## `location` (type: `string`):

Optional country, state or city used to narrow the search. Leave it empty to search without a geographic filter.

## `customDomains` (type: `array`):

List of custom email domains

## `maxEmails` (type: `integer`):

How many addresses each search keyword + domain suffix combination may collect before the finder moves on to the next one. This is a per-combination target, not a run-wide total: with 3 keyword and 2 Domains and a limit of 20, the run works through all 6 combinations and aims for up to 20 addresses in each, so up to 120 overall. Lower values finish sooner and cost less; higher values dig deeper but never guarantee a fuller result, since the run can only find what is publicly listed.

## `excludeWords` (type: `array`):

Words or phrases you do not want to see.

## Actor input object example

```json
{
  "keywords": [
    "Game Publisher",
    "Game Studio"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com"
  ],
  "maxEmails": 10,
  "excludeWords": []
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "Game Publisher",
        "Game Studio"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

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

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

```

## MCP server setup

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