# Capterra Email Scraper (`email_scraper/capterra-email-scraper`) Actor

Capterra Email Scraper extracts publicly available email addresses from Capterra using targeted keywords, locations, and email domains. Build structured contact datasets for B2B lead research, software vendor discovery, market research, and business intelligence.

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

### Capterra Email Scraper

Capterra Email Scraper helps you find publicly available email addresses associated with relevant Capterra search results using targeted keywords, optional locations, and configurable email domains.

You provide one or more search keywords, choose the email domains you want to find, and optionally narrow the search to a country, state, or city. The Actor searches for relevant Capterra results and extracts matching email addresses from available result descriptions.

Each collected contact is returned as structured dataset data containing the search keyword, result title, description, URL, and extracted email address. This makes the results useful for lead research, software-market research, business intelligence, contact discovery, and dataset creation.

The Actor supports multiple keywords and multiple email domains. You can also exclude result snippets containing specific words or phrases, helping you filter unwanted results before an email is collected.

### What Is a Capterra Email Scraper?

A Capterra Email Scraper is a data collection tool designed to identify publicly available email addresses associated with Capterra search results.

Instead of manually searching for individual software-related pages and checking each result for contact information, you can provide targeted search terms and let the Actor process the search combinations automatically.

For example, you can search using terms such as `project management`, `software vendors`, `CRM`, `accounting software`, or other relevant queries. You can also add a location when you want to focus your research on a particular geographic area.

The Actor returns structured records rather than requiring you to manually copy information from search results.

### Key Features

| Feature                      | Description                                                                 | User Benefit                                                                |
| ---------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| Keyword-based search         | Search Capterra results using one or multiple keywords or queries.          | Target specific software categories, roles, or business topics.             |
| Email domain filtering       | Specify domains such as `@gmail.com`, `@yahoo.com`, or other domains.       | Focus collection on the types of email addresses you need.                  |
| Location filtering           | Optionally provide a country, state, or city.                               | Narrow research to a geographic market.                                     |
| Per-combination email target | Configure `maxEmails` for each keyword and domain combination.              | Control the depth of each search combination.                               |
| Exclude words                | Skip snippets containing specified words or phrases.                        | Reduce unwanted or irrelevant results.                                      |
| Structured dataset output    | Results contain keyword, title, description, URL, and email.                | Make collected data easier to review and analyze.                           |
| Duplicate prevention         | Previously collected email addresses are tracked during the run.            | Reduce duplicate email records.                                             |
| Incremental results          | Data is pushed to the dataset as results are collected.                     | Results can become available during processing rather than only at the end. |
| Resume support               | Run progress is persisted so processing can continue after an interruption. | Reduce the need to restart an interrupted workflow from the beginning.      |

### What Data Can You Extract?

The Capterra Email Scraper produces contact-oriented records based on relevant Capterra search results.

The main information available in each dataset record includes:

- **Keyword** — The keyword or query associated with the search that produced the result.
- **Title** — The title of the relevant search result.
- **Description** — The available result description or snippet containing the relevant information.
- **URL** — The URL associated with the search result.
- **Email** — The email address matching one of the configured email domains.

The Actor focuses specifically on email addresses that match the email-domain configuration you provide.

For example, if `@gmail.com` is configured, the Actor looks for email addresses using that suffix. You can add additional domains when broader contact discovery is required.

### Why Use This Actor?

Manual contact research can involve repeatedly searching for relevant Capterra pages, reviewing result descriptions, identifying email addresses, and organizing the information into a usable dataset.

The Capterra Email Scraper automates that repetitive collection workflow.

It is particularly useful when your research requires multiple search terms. Instead of relying on a single broad query, you can provide several specific terms that represent different parts of your target audience or software market.

For example, a software research project might use:

- `project management`
- `project management software`
- `software vendors`
- `business management software`
- `CRM software`

Using multiple relevant terms can provide broader search coverage than relying on one generic keyword.

### Benefits

The Actor provides several practical benefits for structured contact research:

- **Automated collection** — Reduce repetitive manual searching and copying.
- **Targeted discovery** — Use specific keywords to control the research topic.
- **Geographic targeting** — Add a location when regional research is required.
- **Domain targeting** — Choose which email domains should be collected.
- **Structured records** — Keep contact information together with its related search result.
- **Filtering** — Exclude snippets containing unwanted words or phrases.
- **Multiple combinations** — Process multiple keyword and email-domain combinations in one run.
- **Dataset creation** — Build a structured collection of Capterra-related contact records.
- **Research support** — Use the resulting data for market and business research workflows.

### How to Use the Capterra Email Scraper

The basic workflow is straightforward:

1. Open the Actor and configure the input.
2. Enter one or more relevant keywords in `keywords`.
3. Optionally enter a country, state, or city in `location`.
4. Add the email domains you want to search for in `customDomains`.
5. Set `maxEmails` according to the desired collection depth.
6. Optionally configure `excludeWords` to remove unwanted snippets.
7. Start the Actor.
8. Review the resulting records in the Capterra Emails Dataset.

For initial testing, use a small number of keywords and a modest `maxEmails` value. Once the search produces the type of results you need, you can expand the configuration.

### Input

The Actor requires the `keywords` field. The other fields are optional and have documented defaults.

| Field           | Type             | Required | Default                                      | Description                                                                               |
| --------------- | ---------------- | -------- | -------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `keywords`      | Array of strings | Yes      | `["project management", "software vendors"]` | Keywords or search queries used to find relevant Capterra results.                        |
| `location`      | String           | No       | `""`                                         | Optional country, state, or city used to narrow the search.                               |
| `customDomains` | Array of strings | No       | `["@gmail.com"]`                             | Email-domain suffixes to search for, such as `@gmail.com` or `@yahoo.com`.                |
| `maxEmails`     | Integer          | No       | `5`                                          | Target number of emails for each keyword + domain combination. Allowed range is 1–10,000. |
| `excludeWords`  | Array of strings | No       | `[]`                                         | Words or phrases that cause matching result descriptions to be skipped.                   |

The `keywords` field accepts multiple search terms. More specific terms can be useful when a broad keyword produces sparse or less relevant results.

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

The `customDomains` field lets you select the email suffixes that matter to your research. You can use common domains or other domain suffixes.

The `excludeWords` filter is case-insensitive. Single words are matched as whole words, while phrases are matched as phrases within the description.

### Input Example

```json
{
  "keywords": [
    "project management",
    "software vendors",
    "CRM software"
  ],
  "location": "New York",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ],
  "maxEmails": 10,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

This example searches three keyword groups, limits the research to New York, looks for three email-domain suffixes, targets up to 10 emails for each keyword and domain combination, and skips matching descriptions containing the configured exclusion terms.

### Output

The Actor stores collected records in the **Capterra Emails Dataset**.

Each output record contains the search context, the result information, and the extracted email address.

| Field         | Description                                                    |
| ------------- | -------------------------------------------------------------- |
| `keyword`     | Keyword or query used when the result was found.               |
| `title`       | Title of the associated search result.                         |
| `description` | Available description or snippet from the result.              |
| `url`         | URL associated with the result.                                |
| `email`       | Extracted email address matching the configured domain suffix. |

The dataset is organized as a table, making it easier to inspect individual contacts and their associated search results.

### Output Example

```json
{
  "keyword": "project management",
  "title": "Project Management Software",
  "description": "Example result description with contact information such as contact@example.com.",
  "url": "https://www.capterra.com/example/",
  "email": "contact@example.com"
}
```

The values above are illustrative examples of the output structure. Actual titles, descriptions, URLs, and email addresses depend on the available search results and the configuration used for the run.

### Use Cases

The Capterra Email Scraper can support several research and data-collection workflows.

- **Software market research** — Identify contact information associated with relevant software-related search results.
- **B2B lead research** — Build contact datasets around software categories and business topics.
- **Vendor research** — Search terms such as software vendors or specific product categories.
- **Competitive research** — Collect structured result information for a defined software market.
- **Business intelligence** — Combine keyword, URL, description, and email information for analysis.
- **Market segmentation** — Use different keywords and locations to organize research by topic or geography.
- **Contact discovery** — Identify publicly available email addresses appearing in relevant search-result descriptions.
- **Dataset creation** — Build structured Capterra-related contact datasets for further processing.
- **Research automation** — Reduce repetitive searching when collecting information across multiple search combinations.

### Advantages

The Actor is designed around configurable search inputs rather than a single fixed search.

You can combine several keywords with several email domains and optionally add a location. This provides a flexible way to structure searches around different software categories, markets, or research topics.

The resulting records also preserve the context in which an email was found. Instead of returning only an email address, each record includes the associated keyword, title, description, and URL.

This context can be useful when reviewing results, validating contacts, or deciding which records are relevant to a particular research project.

### Limitations

The Actor can only collect email addresses that are available in the relevant search-result information and match the configured email-domain patterns.

A requested `maxEmails` value is a target rather than a guarantee that the exact number will always be returned. If relevant public results do not contain enough matching email addresses, the Actor may return fewer records.

Search coverage also depends on the keywords and optional location you provide. Very narrow searches can produce sparse results.

The Actor uses the configured email suffixes when identifying addresses. If a relevant result uses a domain that you did not include, that address will not match the configured collection pattern.

For free-tier runs, the Actor applies a maximum of 100 collected email addresses when the requested limit is higher or no limit is specified. Paid runs do not have this code-level free-tier restriction.

Wide searches can take longer to process, particularly when using multiple keywords and domains. The configured default run timeout is 3600 seconds, and users can adjust the run timeout through Apify Run options when appropriate.

### Pros and Cons

| Pros                              | Cons                                                           |
| --------------------------------- | -------------------------------------------------------------- |
| Supports multiple search keywords | Very narrow keywords may produce sparse results                |
| Supports multiple email domains   | Only configured email domains are collected                    |
| Optional geographic filtering     | Requested email targets are not guaranteed                     |
| Structured dataset output         | Available contact information depends on public search results |
| Exclude-word filtering            | Overly broad exclusion terms can remove relevant snippets      |
| Incremental dataset processing    | Larger searches can take longer                                |
| Duplicate email prevention        | Free-tier runs have a 100-email code-level ceiling             |

### Comparison With Alternative Approaches

| Capability                     | Capterra Email Scraper                                         | Manual / Typical Alternative              |
| ------------------------------ | -------------------------------------------------------------- | ----------------------------------------- |
| Keyword-based research         | Supported                                                      | Usually performed manually                |
| Multiple keyword combinations  | Supported                                                      | Requires repeated searches                |
| Email-domain filtering         | Supported                                                      | Usually requires manual filtering         |
| Location filtering             | Supported                                                      | Requires manually adding geographic terms |
| Exclude-word filtering         | Supported                                                      | Usually performed during manual review    |
| Structured output              | Dataset fields for keyword, title, description, URL, and email | Often requires manual organization        |
| Duplicate prevention           | Supported during collection                                    | Requires manual or separate deduplication |
| Incremental dataset collection | Supported                                                      | Usually requires manual copying           |

This comparison describes workflow differences rather than claiming that one approach is universally better. The best method depends on the size and requirements of your research task.

### Best Practices

For better search coverage and cleaner datasets:

- Use several specific keywords instead of relying on one broad term.
- Combine related job, software, category, or business terms when appropriate.
- Use locations only when geographic targeting is important.
- Start with a small `maxEmails` value to evaluate result quality.
- Add multiple email domains when your research requires broader email coverage.
- Use `excludeWords` for clearly unwanted categories or terms.
- Avoid exclusion terms that are so broad that they remove useful results.
- Review a small test dataset before launching a larger run.
- If results are sparse, broaden the keywords or remove an unnecessarily restrictive location.
- Validate important contacts before using them in downstream business workflows.

### Troubleshooting

**Invalid Input**

Make sure `keywords` is provided as an array of strings. Check that `maxEmails` is between 1 and 10,000 and that the other arrays contain valid string values.

**Empty Results**

Try broader or more specific keywords. If a location is configured, temporarily remove it to determine whether the geographic filter is limiting the search.

**Too Few Emails**

Add related keywords or additional email domains. A higher `maxEmails` value does not guarantee more contacts if relevant public results are unavailable.

**Unexpectedly Filtered Results**

Review `excludeWords`. If a configured word or phrase appears in a result description, the complete snippet is skipped and no email is collected from it.

**Missing Email Addresses**

Check whether the email domain you need is included in `customDomains`. Only matching configured domain suffixes are collected.

**Long-Running Search**

Large combinations of keywords and domains can require more processing time. Consider testing with fewer combinations first or increasing the run timeout when running a larger search.

### Frequently Asked Questions

**What does the Capterra Email Scraper do?**

It searches for relevant Capterra results using your keywords and extracts publicly available email addresses that match your configured email domains.

**What inputs are required?**

Only `keywords` is required. It accepts an array of search keywords or queries.

**Can I use multiple keywords?**

Yes. Multiple keywords are supported and are useful for covering different software categories, roles, or search intents.

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

Yes. Use the optional `location` field to provide a country, state, or city. Leave it empty when you do not want a geographic filter.

**Which email domains can I search?**

You can provide email-domain suffixes through `customDomains`, including examples such as `@gmail.com`, `@yahoo.com`, and `@outlook.com`.

**What does `maxEmails` control?**

It controls the target number of emails collected for each keyword and email-domain combination. For example, three keywords and two domains with a target of 20 can create six keyword-domain combinations, each with its own target.

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

No. `maxEmails` is a target. The Actor can only collect matching addresses that are available in relevant search results.

**What does `excludeWords` do?**

It prevents collection from a result description when a configured word or phrase appears in that description. Single words are matched case-insensitively as whole words, while phrases use case-insensitive phrase matching.

**What does the output contain?**

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

**Can I use the Actor for automated research workflows?**

Yes. The Actor is designed to process configured search inputs and place the resulting records into an Apify dataset, making the data suitable for further research and processing workflows.

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

Relevant public results may not contain enough matching email addresses. Narrow keywords, restrictive locations, limited email domains, or exclusion terms can also reduce the available results.

### NLP Keywords

- Capterra email scraper
- Capterra contact scraper
- Capterra email extraction
- Capterra lead generation
- Capterra contact discovery
- Capterra business contacts
- Capterra software leads
- Capterra email finder
- Capterra data extraction
- Capterra contact data
- Capterra lead research
- Capterra business research
- Capterra email collection
- Capterra search data
- Capterra public contact information
- software vendor contacts
- software business leads
- software market research
- structured contact data
- email dataset creation

### Related Keywords

- Capterra email finder
- Capterra leads scraper
- scrape Capterra emails
- extract emails from Capterra
- Capterra business email scraper
- Capterra contact information scraper
- Capterra software vendor scraper
- Capterra lead extractor
- Capterra contact data extractor
- Capterra email data extraction
- Capterra B2B lead research
- Capterra software leads
- Capterra vendor contacts
- Capterra business contact finder
- Capterra email collection tool
- Capterra market research scraper
- Capterra software directory leads
- Capterra public email extraction
- Capterra keyword email scraper
- Capterra contact dataset

### Final Overview

Capterra Email Scraper provides a configurable way to collect publicly available email addresses associated with relevant Capterra search results.

With required keyword-based searching, optional geographic targeting, configurable email domains, per-combination email targets, and exclusion filtering, you can adapt each run to a specific research objective.

The structured dataset includes the keyword, result title, description, URL, and extracted email, giving you both the contact information and the search context needed to review the collected records.

For the best starting point, use several specific keywords, test a small run, review the results, and then expand your keyword, domain, or location configuration as needed.

*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": [
    "project management",
    "software vendors"
  ],
  "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": [
        "project management",
        "software vendors"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

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

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

```

## MCP server setup

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