# Carousell Email Scraper (`email_scraper/carousell-email-scraper`) Actor

Carousell Email Scraper extracts publicly indexed emails from Carousell using targeted keywords, location filters, custom email domains, and exclusion terms. Build structured contact datasets for seller research, business leads, market research, and contact discovery.

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

### Carousell Email Scraper

Carousell Email Scraper is an Apify Actor designed to extract publicly indexed email addresses associated with Carousell search results using targeted keywords. It helps turn keyword-based searches into structured contact datasets containing the search keyword, result title, description, URL, and discovered email address.

You provide one or more search keywords, optionally specify a country, city, or region, select the email domains you want to find, and optionally exclude descriptions containing specific words or phrases. The Actor then processes the configured keyword and email-domain combinations and adds discovered results to an Apify dataset.

This workflow is useful for business research, seller discovery, market research, contact research, lead-data collection, and other workflows where publicly indexed Carousell information is relevant.

The Actor returns structured records rather than requiring users to manually collect contact information from individual search results.

### What Is a Carousell Email Scraper?

A Carousell Email Scraper is a data collection tool focused on finding email addresses that are publicly indexed in connection with Carousell pages.

Instead of manually searching for different seller or business-related terms, you can provide multiple keywords such as `seller`, `business`, `shop`, or more specific commercial terms. You can also configure email-domain suffixes such as `@gmail.com`, `@yahoo.com`, `@outlook.com`, or another domain.

The resulting dataset includes the context surrounding each discovered email, including its keyword, page title, description, and URL. This makes the results easier to review and use for research.

### Key Features

| Feature                      | Description                                                                  | User Benefit                                              |
| ---------------------------- | ---------------------------------------------------------------------------- | --------------------------------------------------------- |
| Keyword-based search         | Search Carousell using one or more keywords or queries                       | Target specific types of sellers, businesses, or profiles |
| Location filtering           | Optionally add a country, city, state, or region                             | Narrow research to a geographic area                      |
| Custom email domains         | Specify the email-domain suffixes to search for                              | Focus collection on relevant email providers or domains   |
| Per-combination email target | Configure the maximum number of emails for each keyword + domain combination | Control the depth of each search                          |
| Exclusion filtering          | Skip descriptions containing configured words or phrases                     | Remove unwanted result categories                         |
| Structured dataset           | Store keyword, title, description, URL, and email                            | Work with organized contact records                       |
| Duplicate prevention         | The Actor avoids adding the same email more than once during a run           | Keep the resulting email collection cleaner               |
| Incremental results          | Discovered records are added to the dataset during processing                | Results become available as the run progresses            |

### What Data Can You Extract?

The Carousell Email Scraper produces contact-oriented records based on publicly indexed search results.

Each result can contain:

- **Keyword** — The keyword that produced the result.
- **Title** — The title associated with the indexed Carousell result.
- **Description** — The available search-result description or snippet.
- **URL** — The URL associated with the result.
- **Email** — The email address identified in the result description.

The dataset is designed to preserve the context around each email address. This is useful when reviewing leads because the email is accompanied by the search keyword and source-result information.

The Actor does not document additional profile fields beyond the fields actually returned in the dataset.

### Why Use This Actor?

Manual contact research can require repeatedly searching different commercial terms and checking individual results for publicly indexed email addresses. This Actor provides a configurable workflow for performing keyword-based email discovery at scale.

You can create searches around different types of Carousell users or commercial intent. For example, instead of relying on a broad term such as `business`, you can use more specific queries such as `fashion seller`, `electronics shop`, `furniture seller`, or other terms relevant to your research.

Location filtering can further narrow the search when geographic targeting is important.

The custom-domain option also allows you to decide which email suffixes should be considered. This can help focus the dataset on particular email providers or company domains.

### Benefits

- **Automated contact research** — Reduce repetitive manual searching for publicly indexed email addresses.
- **Multiple keyword targeting** — Process a list of search terms in one Actor run.
- **Geographic targeting** — Add a location when research needs to focus on a particular market.
- **Domain-specific discovery** — Search for configured email-domain suffixes.
- **Structured results** — Receive consistent fields for keyword, title, description, URL, and email.
- **Filtering control** — Exclude descriptions containing unwanted words or phrases.
- **Dataset creation** — Build an organized collection of Carousell-related contact records.
- **Research context** — Keep the source result information alongside the discovered email.

### How to Use the Carousell Email Scraper

A typical workflow is:

1. Add one or more keywords to the **Keywords or Queries** field.
2. Optionally enter a country, city, state, or region in the location field.
3. Add the email-domain suffixes you want to search for.
4. Set the maximum number of emails for each keyword + domain combination.
5. Optionally add exclusion words or phrases.
6. Start the Actor.
7. Review the resulting dataset containing the discovered contact records.

For initial testing, use a small number of keywords and a modest email target. After reviewing the results, you can expand the search with additional keywords, domains, or geographic terms.

### Input

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

| Field           | Type             | Required | Default                  | Description                                                                      |
| --------------- | ---------------- | -------- | ------------------------ | -------------------------------------------------------------------------------- |
| `keywords`      | Array of strings | Yes      | `["seller", "business"]` | Keywords or search queries used for Carousell research.                          |
| `location`      | String           | No       | `""`                     | Optional country, state, city, or region used to narrow searches.                |
| `customDomains` | Array of strings | No       | `["@gmail.com"]`         | Email-domain suffixes to include when finding addresses.                         |
| `maxEmails`     | Integer          | No       | `5`                      | Maximum target for each keyword + domain combination. Allowed range is 1–10,000. |
| `excludeWords`  | Array of strings | No       | `[]`                     | Words or phrases that cause a result description to be skipped.                  |

The `keywords` field accepts multiple values. Specific keywords are generally more useful for targeted research than relying only on broad terms.

The `location` field can remain empty when geographic filtering is not required.

The `customDomains` field can contain multiple suffixes. Examples include `@gmail.com`, `@yahoo.com`, `@outlook.com`, or a relevant company-domain suffix.

The `maxEmails` value applies independently to each keyword + domain combination. For example, with 2 keywords, 3 domains, and a target of 10, the Actor works through six combinations, with a target of up to 10 emails for each combination.

For free-tier runs, the Actor applies a maximum of 100 emails when the configured target is missing or exceeds that limit.

### Input Example

```json
{
  "keywords": [
    "seller",
    "business",
    "fashion seller"
  ],
  "location": "Singapore",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ],
  "maxEmails": 10,
  "excludeWords": [
    "crypto",
    "onlyfans"
  ]
}
```

### Output

Results are stored in the **Carousell Emails Dataset** and displayed using the **Scraped Leads** dataset view.

Each output record contains five user-facing fields:

| Field         | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `keyword`     | The keyword associated with the search result that produced the email. |
| `title`       | The title of the indexed result.                                       |
| `description` | The description or snippet associated with the result.                 |
| `url`         | The URL associated with the result.                                    |
| `email`       | The email address extracted from the result description.               |

The same email is not added repeatedly when it has already been collected during the run.

Results are added incrementally, allowing users to review records as the Actor progresses.

### Output Example

```json
{
  "keyword": "seller",
  "title": "Example Seller on Carousell",
  "description": "Example seller offering products and contact information at seller@example.com.",
  "url": "https://carousell.ph/example-seller",
  "email": "seller@example.com"
}
```

The example values above illustrate the documented output structure. Actual titles, descriptions, URLs, and email addresses depend on the indexed results available for the selected searches.

### Use Cases

The Carousell Email Scraper can support several research and data-collection workflows:

- **Seller research** — Discover publicly indexed contact information associated with seller-related searches.
- **Business research** — Find contact records connected with commercial keywords.
- **Market research** — Build datasets around product categories, business types, or seller segments.
- **Lead research** — Identify publicly indexed business contact information for further review.
- **Geographic research** — Compare search results across cities, countries, or regions.
- **Supplier discovery** — Search for supplier-oriented or product-specific terms where relevant.
- **Category research** — Investigate different commercial categories using targeted keyword combinations.
- **Dataset creation** — Build structured Carousell contact datasets for analysis.
- **Business intelligence research** — Organize publicly indexed information for market analysis.
- **Contact discovery** — Collect publicly indexed email addresses while retaining the associated search context.

### Advantages

The Actor provides several practical configuration options without requiring users to manually repeat the same search process.

Its main strengths include:

- Multiple keyword support for broader or more targeted research.
- Optional geographic filtering.
- Configurable email-domain suffixes.
- Independent email targets for keyword + domain combinations.
- Exclusion filtering for unwanted descriptions.
- Structured dataset fields.
- Duplicate email prevention.
- Incremental dataset updates.

These capabilities make the Actor suitable for repeatable keyword-based contact research where the relevant information is publicly indexed.

### Limitations

There are several important considerations when using the Actor:

- Results depend on information that is publicly indexed and available through the searches performed by the Actor.
- A requested `maxEmails` value is a target, not a guarantee that the specified number will be found.
- Narrow keywords or restrictive locations may produce fewer results.
- Restricting the search to a small number of email domains can reduce the number of matching addresses.
- Exclusion terms can intentionally remove result descriptions that would otherwise contain an email.
- The output contains the documented fields only: keyword, title, description, URL, and email.
- Search availability can vary, so different keyword combinations may produce different result volumes.

For large or broad runs, the configured Actor timeout may need to be increased from the default run-time setting of 3600 seconds when appropriate.

### Pros and Cons

| Pros                                          | Cons                                                     |
| --------------------------------------------- | -------------------------------------------------------- |
| Supports multiple search keywords             | Results depend on publicly indexed information           |
| Supports optional location targeting          | Narrow searches may return fewer emails                  |
| Supports custom email domains                 | A configured target does not guarantee that many results |
| Provides structured dataset records           | Exclusion filters can remove matching descriptions       |
| Supports exclusion words and phrases          | Output is limited to the documented fields               |
| Prevents duplicate email records during a run | Search coverage can vary by query                        |

### Comparison With Alternative Approaches

| Capability             | Carousell Email Scraper                        | Manual / Typical Alternative                          |
| ---------------------- | ---------------------------------------------- | ----------------------------------------------------- |
| Keyword-based research | Configurable keyword list                      | Keywords must usually be searched manually            |
| Multiple searches      | Multiple keywords can be processed in one run  | Repetitive manual searching may be required           |
| Email-domain targeting | Custom suffixes can be specified               | Often requires manual filtering                       |
| Location targeting     | Optional location field                        | Location may need to be added to each search manually |
| Exclusion filtering    | Configurable words and phrases                 | Usually requires manual review                        |
| Structured output      | Dataset fields are organized consistently      | Manual collection may require additional formatting   |
| Duplicate handling     | Duplicate emails are avoided during collection | Manual deduplication may be necessary                 |

This comparison describes workflow differences rather than guaranteeing a particular result volume or data quality.

### Best Practices

- Use several specific keywords instead of relying only on one broad keyword.
- Start with a small test run before expanding the search.
- Add related keyword variations when the initial search produces limited results.
- Use a location only when geographic targeting is important.
- Include additional email domains when broader email coverage is needed.
- Keep `maxEmails` at a practical level for the initial test.
- Use `excludeWords` carefully because matching descriptions are skipped entirely.
- Review the returned title, description, URL, and email together when validating important records.
- If results are sparse, broaden the keywords or remove an overly restrictive location.
- For wider searches, allow sufficient run time for the configured workload.

### Troubleshooting

**Invalid Input:** Verify that `keywords` is provided as an array of strings and that `maxEmails` is an integer between 1 and 10,000. Check that custom domains and exclusion terms are entered as string-list values.

**Empty Results:** Try broader or more specific keywords depending on the research objective. You can also remove the location filter or add additional email domains.

**Partial Results:** A lower result count does not necessarily indicate an input problem. The requested target can exceed the number of publicly indexed matching results.

**Missing Emails:** The Actor only returns email addresses that can be identified in the available result descriptions and that match the configured email-domain suffixes.

**Too Many Excluded Results:** Review the `excludeWords` list. A matching exclusion term causes the complete description to be skipped, so overly broad terms can remove relevant records.

**Long Runs:** Broad searches, multiple keywords, multiple domains, or higher targets can require more processing time. Adjust the run timeout when appropriate.

### Frequently Asked Questions

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

**What data does the Carousell Email Scraper return?**
Each dataset record contains `keyword`, `title`, `description`, `url`, and `email`.

**Can I use multiple keywords?**
Yes. The required `keywords` field accepts an array, allowing you to process multiple search terms in one run.

**Can I search a specific location?**
Yes. The optional `location` field accepts a country, state, city, or other geographic term that can narrow the search.

**Can I choose which email domains are searched?**
Yes. The `customDomains` field accepts multiple email-domain suffixes such as `@gmail.com`, `@yahoo.com`, or `@outlook.com`.

**How does `maxEmails` work?**
The target applies independently to each keyword + domain combination. It can be configured from 1 to 10,000 in the input schema.

**Does the Actor guarantee the requested number of emails?**
No. `maxEmails` is a collection target. The number actually returned depends on the publicly indexed matching information available for the selected searches.

**What are exclusion words used for?**
They allow you to skip result descriptions containing unwanted words or phrases. Single words are matched case-insensitively as whole words, while phrases use case-insensitive matching.

**Can the same email appear multiple times?**
The Actor tracks collected email addresses and avoids adding the same email repeatedly during the run.

**Where are the results stored?**
Results are pushed to the Actor's Apify dataset, where the documented fields can be reviewed in the Scraped Leads view.

### NLP Keywords

- Carousell email scraper
- Carousell email extraction
- Carousell contact data
- Carousell seller data
- Carousell business contacts
- Carousell lead generation
- Carousell contact research
- Carousell email finder
- Carousell business research
- Carousell seller research
- Carousell public data
- Carousell search results
- Carousell profile information
- Carousell contact discovery
- Carousell lead research
- Carousell email collection
- Carousell business leads
- Carousell seller contacts
- Carousell structured data
- Carousell dataset

### Related Keywords

- Carousell seller email scraper
- Carousell business email extractor
- Carousell email finder
- Carousell contact scraper
- Carousell seller contact finder
- Carousell business contact extractor
- Carousell lead scraper
- Carousell lead generation tool
- Carousell email data extraction
- Carousell seller research tool
- Carousell business research scraper
- Carousell public email finder
- Carousell contact information scraper
- Carousell marketplace data scraper
- Carousell seller lead generation
- Carousell email collection tool
- Carousell business lead research
- Carousell contact data extraction
- Carousell seller data collection
- Carousell keyword email scraper

### Final Overview

Carousell Email Scraper provides a structured way to research publicly indexed Carousell contact information using configurable keywords, optional geographic targeting, custom email domains, and exclusion filters.

The Actor accepts multiple search terms and processes each configured keyword + domain combination independently according to the selected email target. Results are returned in a structured Apify dataset containing the keyword, title, description, URL, and discovered email address.

For better research coverage, use specific keyword variations, configure relevant email domains, and adjust the location filter according to your target market. If results are limited, broaden the search criteria or review the exclusion settings.

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

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

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

```

## MCP server setup

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