# Alibaba Email Scraper (`email_scraper/alibaba-email-scraper`) Actor

Alibaba Email Scraper extracts publicly indexed email addresses from Alibaba.com using targeted keywords, email domains, and optional locations. Collect structured contact data with deduplication, filtering, pagination, and proxy-powered Google search for lead generation and B2B research.

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

### Alibaba Email Scraper Overview

**Alibaba Email Scraper** is an Apify Actor designed to find publicly indexed email addresses associated with Alibaba.com pages by searching Google results for your chosen keywords and email-domain suffixes. It is useful for collecting structured Alibaba contact data for prospecting, lead research, supplier discovery, and business intelligence.

The **Alibaba Email Scraper** does not require you to provide individual Alibaba URLs. Instead, you provide search terms such as `Supplier`, `Vendor`, `Manufacturer`, or other relevant business keywords. The Actor builds targeted Google searches using `site:alibaba.com`, the selected keyword, an email domain, and optionally a geographic location.

The **Alibaba Email Scraper** then examines Google SERP results, extracts matching publicly indexed email addresses from result descriptions, removes duplicate addresses, and incrementally stores the discovered records in the Apify dataset.

This approach makes the **Alibaba Email Scraper** useful when your goal is to discover contact information across Alibaba search coverage rather than manually opening and checking individual pages.

### Alibaba Email Scraper Features

The **Alibaba Email Scraper** provides a keyword-driven workflow for Alibaba email discovery with configurable search targeting.

Key capabilities include:

- Search Alibaba.com pages using multiple keywords or queries.
- Search for specific email-domain suffixes such as `@gmail.com`.
- Add multiple custom email domains for broader coverage.
- Narrow searches by country, state, city, or other location text.
- Exclude profiles whose Google result descriptions contain unwanted words or phrases.
- Process every keyword and email-domain combination separately.
- Extract email addresses from publicly indexed Google result descriptions.
- Remove duplicate email addresses across the run.
- Push results incrementally into the Apify dataset.
- Persist progress using the Apify Key-Value Store.
- Resume from saved keyword/domain progress after an interruption.
- Use the Apify `GOOGLE_SERP` proxy group for Google SERP requests.
- Retry failed SERP requests and rotate the proxy when necessary.
- Stop inefficient searches when new email discovery becomes too low.

The **Alibaba Email Scraper** is therefore suitable for users who want a structured email extraction workflow without manually searching Google for every Alibaba-related business keyword.

### How to Use the Alibaba Email Scraper

Using the **Alibaba Email Scraper** starts with defining the type of Alibaba contacts you want to discover.

#### 1. Add Alibaba Search Keywords

Enter one or more keywords in the `keywords` input. Examples include:

- `Supplier`
- `Vendor`
- `Manufacturer`
- `Wholesaler`
- `Distributor`
- `Contractor`
- `Provider`
- `Exporter`

Multiple related terms can expand search coverage because each keyword is processed separately.

For example, using `Supplier` and `Vendor` creates separate search combinations rather than treating them as one shared query.

#### 2. Select an Optional Location

The `location` field allows you to narrow the search geographically.

You can enter values such as:

```text
China
Shenzhen
United States
Dubai
Guangzhou
```

If the location is empty, the **Alibaba Email Scraper** searches without adding a geographic filter.

A broader search can provide more coverage, while a specific location can help focus results on a particular market.

#### 3. Select Email Domains

The `customDomains` input controls which email-domain suffixes the **Alibaba Email Scraper** searches for.

For example:

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

Each selected domain is combined with each keyword. Therefore, using several relevant domains creates additional search combinations.

#### 4. Set the Maximum Email Target

The `maxEmails` parameter accepts values from `1` to `10,000`.

The configured target applies to each keyword + domain combination. For example, with two keywords and three domains, the Actor processes six separate combinations.

The actual number collected can be lower because the **Alibaba Email Scraper** only extracts addresses that are publicly present in the indexed search results.

#### 5. Add Exclusion Terms

Use `excludeWords` when you want to skip search-result descriptions containing particular words or phrases.

For example:

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

Single words are matched case-insensitively as whole words. Phrases use case-insensitive substring matching.

### Alibaba Email Scraper Data Extraction

The **Alibaba Email Scraper** extracts structured information from Google organic search results that match the generated Alibaba-focused queries.

The Actor searches using a structure equivalent to:

```text
site:alibaba.com KEYWORD "@gmail.com" LOCATION
```

When a location is not supplied, the location portion is omitted.

For each parsed organic result, the **Alibaba Email Scraper** can identify:

- The search keyword used.
- The result title.
- The result description/snippet.
- The result URL.
- The matching email address.
- The Alibaba.com network identifier included by the Actor.

Email extraction is performed against the result description using a pattern constructed from the configured domain suffixes. This means the Actor is specifically looking for email addresses that match the domains you requested.

The **Alibaba Email Scraper** does not claim to retrieve private contact information. Its extraction process depends on information exposed through publicly indexed Google search-result content.

### Alibaba Email Scraper Use Cases

The **Alibaba Email Scraper** can support several practical B2B research workflows.

#### Lead Generation

Sales teams can use the **Alibaba Email Scraper** to identify publicly indexed email addresses associated with Alibaba-related business pages.

Keywords can be tailored to a specific prospecting strategy, such as suppliers, vendors, manufacturers, exporters, or distributors.

#### Supplier and Vendor Discovery

Businesses researching potential suppliers can combine commercial keywords with locations and relevant email domains.

For example, searches around `Manufacturer`, `Supplier`, and `Exporter` can help organize potential contacts by business-oriented search terms.

#### Market Research

The collected title, description, URL, keyword, and email fields provide contextual information alongside the discovered address.

This can help researchers review where an email was discovered and which search term generated the result.

#### Competitor and Industry Research

Researchers can create multiple keyword combinations to investigate businesses operating in particular product or supplier categories.

The URL and description fields preserve useful context for reviewing individual search results later.

#### Business Intelligence

Structured dataset records can be analyzed after collection to identify patterns across keywords, locations, domains, and Alibaba-related search results.

The **Alibaba Email Scraper** can therefore serve as an initial data-collection layer for broader research workflows.

### Alibaba Email Scraper Input

The following inputs are supported by the Actor configuration.

| Input           | Type             | Required | Default                  | Description                                                                    |
| --------------- | ---------------- | -------- | ------------------------ | ------------------------------------------------------------------------------ |
| `keywords`      | Array of strings | Yes      | `["Supplier", "Vendor"]` | Keywords or queries used to search Alibaba-related Google results.             |
| `location`      | String           | No       | `""`                     | Optional country, state, or city used to narrow searches.                      |
| `customDomains` | Array of strings | No       | `["@gmail.com"]`         | Email-domain suffixes to search for.                                           |
| `maxEmails`     | Integer          | No       | `10`                     | Maximum target for each keyword + domain combination. Allowed range: 1–10,000. |
| `excludeWords`  | Array of strings | No       | `[]`                     | Words or phrases that cause matching search-result snippets to be skipped.     |

The `keywords` field is the only required input. The other parameters can be adjusted according to the desired search strategy.

For broader discovery, use multiple related keywords and domains. For focused research, add a location and narrower terms.

### Alibaba Email Scraper Output Data

The **Alibaba Email Scraper** pushes structured records to the Apify dataset as email addresses are discovered.

| Field         | Type   | Description                                                                                            |
| ------------- | ------ | ------------------------------------------------------------------------------------------------------ |
| `network`     | String | Identifies the source network as `Alibaba.com`.                                                        |
| `keyword`     | String | Keyword responsible for the search that produced the record.                                           |
| `title`       | String | Title of the parsed Google organic search result.                                                      |
| `description` | String | Description/snippet extracted from the search result.                                                  |
| `url`         | String | URL associated with the parsed search result.                                                          |
| `email`       | String | Unique email address extracted from the result description and matching the configured domain pattern. |

The dataset view configured in `actor.json` displays the main lead-oriented fields: `keyword`, `title`, `description`, `url`, and `email`.

The **Alibaba Email Scraper** stores the information incrementally rather than waiting until the entire search process has finished. This means discovered records are pushed to the dataset during collection.

The `email` field is the primary contact output, while `keyword`, `title`, `description`, and `url` provide context for understanding where the address was discovered.

### Example Input

The following example follows the Actor's actual input structure:

```json
{
  "keywords": [
    "Supplier",
    "Manufacturer",
    "Vendor"
  ],
  "location": "China",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com",
    "@outlook.com"
  ],
  "maxEmails": 20,
  "excludeWords": [
    "crypto"
  ]
}
```

This configuration creates searches for every keyword and selected email-domain combination while applying the `China` location filter and excluding matching snippets containing `crypto`.

### Example Output

A representative dataset record produced by the **Alibaba Email Scraper** has the following structure:

```json
{
  "network": "Alibaba.com",
  "keyword": "Supplier",
  "title": "Example Alibaba Supplier",
  "description": "Example business information contact@example.com",
  "url": "https://www.alibaba.com/...",
  "email": "contact@example.com"
}
```

The exact title, description, URL, and email depend on the publicly indexed Google search results available for the selected query.

### Data Quality and Reliability

The **Alibaba Email Scraper** uses several mechanisms to make the collection process more controlled.

#### Duplicate Prevention

A global set of previously discovered email addresses is maintained during the run. If the same email appears again in another result, it is not pushed as a new email record.

This is particularly useful when several keywords or domains lead to overlapping search results.

#### Incremental Dataset Storage

Each newly discovered email is pushed to the Apify dataset as it is processed.

This provides a structured stream of collected records instead of requiring the entire search operation to complete before data becomes available.

#### Pagination

The **Alibaba Email Scraper** paginates through Google search-result pages for each keyword and domain combination.

The implementation allows up to 1,000 SERP pages per combination, although the scraper can stop much earlier when search efficiency decreases or results are exhausted.

#### Intelligent Stopping

The Actor does not blindly continue pagination indefinitely.

A search can stop when there are three consecutive pages without new emails. After page 25, additional stopping checks consider consecutive empty result pages and low email yield across recent pages.

These conditions help prevent unnecessary requests when a particular search combination is no longer producing useful results.

#### Retry and Proxy Rotation

Google SERP requests are made through the Apify `GOOGLE_SERP` proxy group.

If a request fails, the Actor retries the request after rotating the proxy URL. Three consecutive hard fetch failures can cause the current keyword/domain pair to stop.

#### Progress Persistence

The Actor stores its progress in the Apify Key-Value Store.

The saved state contains the discovered email set and the current keyword/domain cursor. This allows the Actor to resume from saved progress rather than always starting from the beginning after an interruption.

### Search Strategy for Alibaba Email Scraper

The quality and quantity of results depend heavily on the search combinations you provide.

Instead of relying on one broad keyword, the **Alibaba Email Scraper** can benefit from related business terms.

For example:

```text
Supplier
Vendor
Manufacturer
Wholesaler
Distributor
Exporter
Provider
Contractor
```

You can also test different email domains:

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

Adding a location can narrow the search when you are interested in a particular country or city.

If results are sparse, consider broadening the keywords, removing the location, or adding additional domain suffixes. The Actor cannot guarantee a target number when matching publicly indexed data is unavailable.

### Search Intent and Alibaba Email Scraper

The **Alibaba Email Scraper** is designed around a specific search intent: discovering publicly indexed Alibaba-related contact information through keyword and email-domain searches.

Typical tasks include searching for Alibaba suppliers with email addresses, finding manufacturer contacts, identifying vendor contact information, and collecting business research data associated with Alibaba.com pages.

Because the Actor searches Google for indexed Alibaba results, the available records depend on what Google exposes in its organic result pages.

This makes the **Alibaba Email Scraper** particularly useful for users who want search-driven discovery rather than manually browsing Alibaba pages one by one.

### Alibaba Email Scraper Limits and Behavior

The Actor accepts a `maxEmails` value between 1 and 10,000.

For paid execution environments detected by the implementation, the requested value is not reduced by the built-in free-tier ceiling. For free execution, the implementation applies a maximum of 100 total unique emails through its plan detection logic.

The configured email target is evaluated while processing individual keyword/domain combinations, while duplicate detection remains global across the run.

Actual collection can therefore be lower than the requested target when matching public search results are unavailable or when the same addresses have already been discovered.

The Actor also stops individual searches based on its pagination efficiency and request-failure conditions.

### Frequently Asked Questions

#### What is the Alibaba Email Scraper?

The **Alibaba Email Scraper** is an Apify Actor that searches Google for publicly indexed Alibaba.com pages and extracts email addresses matching the configured domain suffixes.

#### How does the Alibaba Email Scraper find emails?

The **Alibaba Email Scraper** builds Google queries containing `site:alibaba.com`, your keyword, and the requested email domain. It extracts matching addresses from parsed organic-result descriptions.

#### Can I search multiple Alibaba keywords?

Yes. The `keywords` input accepts an array, allowing you to process multiple search terms during the same run.

#### Can I search multiple email domains?

Yes. The `customDomains` input accepts multiple domain suffixes such as `@gmail.com`, `@yahoo.com`, and `@outlook.com`.

#### Can I target a specific country or city?

Yes. Use the optional `location` input. The value is added to the Google query to narrow the search geographically.

#### What data does the Alibaba Email Scraper return?

The **Alibaba Email Scraper** returns the keyword, result title, result description, URL, email address, and the `Alibaba.com` network identifier.

#### Does the Actor scrape private Alibaba information?

No. The implementation searches publicly indexed Google result content. It does not claim access to private or restricted Alibaba information.

#### Can I exclude unwanted profiles?

Yes. `excludeWords` lets you skip result descriptions containing specified words or phrases.

#### Is duplicate email data removed?

Yes. The Actor maintains a set of discovered email addresses and only pushes an address when it has not already been seen during the run.

#### Why did the Actor collect fewer emails than my target?

A requested target is not a guarantee. The **Alibaba Email Scraper** can only collect matching email addresses that appear in the publicly indexed search results. Search exhaustion, duplicate addresses, exclusions, and stopping conditions can all reduce the final count.

#### Does the Alibaba Email Scraper use proxies?

Yes. Google SERP requests use the Apify `GOOGLE_SERP` proxy group, with proxy URL rotation used when retrying failed requests.

#### Can the Actor resume after an interruption?

The implementation persists progress and discovered emails in the Apify Key-Value Store, allowing subsequent execution to resume from saved keyword/domain progress.

#### What should I do if results are sparse?

Try adding related keywords, expanding email-domain suffixes, removing the location filter, or using a broader geographic value. These changes can increase the number of search combinations and available indexed results.

### Why Use This Actor

The **Alibaba Email Scraper** turns a repetitive search process into a structured Apify workflow.

Instead of manually searching Google for individual combinations of Alibaba business terms and email domains, you can define those combinations as Actor inputs and let the scraper process them systematically.

Its structured dataset makes the collected information easier to review, filter, export, and use for research.

The combination of keyword targeting, email-domain filtering, location targeting, exclusion rules, duplicate prevention, pagination, incremental dataset writes, proxy rotation, and progress persistence provides a practical workflow for Alibaba-focused contact discovery.

Most importantly, the **Alibaba Email Scraper** keeps the configuration simple enough for non-technical users while exposing enough controls for targeted B2B research.

### API and Automation

The **Alibaba Email Scraper** runs as an Apify Actor, so it can be used through the normal Actor execution and dataset workflows provided by the Apify platform.

Users can configure the Actor inputs, start a run, monitor execution, and access the resulting dataset through Apify.

The implementation itself does not define a separate third-party API or custom integration. API-based automation should therefore use the standard Apify Actor capabilities available for the Actor.

Because results are pushed incrementally, the dataset is populated while the scraper processes search combinations rather than only at final completion.

### Best Practices for Alibaba Email Scraper

For broader discovery, combine several closely related business keywords with multiple relevant email domains.

For targeted research, use a location such as a country or city together with specific commercial terms.

Avoid excessively narrow combinations when the goal is maximum coverage. A query that is too specific may produce few indexed results.

Use `excludeWords` selectively. Excluding a term removes the entire matching search-result snippet from email extraction, so overly broad exclusion terms can reduce useful results.

Keep `maxEmails` aligned with your research objective. Lower targets can finish sooner, while higher targets allow the Actor to search deeper when relevant indexed results exist.

Finally, remember that the **Alibaba Email Scraper** works from publicly indexed Google search content. Search-engine coverage and publicly exposed information ultimately determine what can be discovered.

### Support

If you encounter an issue with the **Alibaba Email Scraper**, review the Actor input configuration and execution logs first.

For custom modifications, feature requests, or bespoke scraper development, contact the developer at **<alphascraper69@gmail.com>**.

When reporting an issue, include the relevant input configuration and a description of the unexpected behavior so it can be investigated efficiently.

# 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": [
    "Supplier",
    "Vendor"
  ],
  "location": "China",
  "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": [
        "Supplier",
        "Vendor"
    ],
    "location": "China",
    "customDomains": [
        "@gmail.com"
    ],
    "excludeWords": []
};

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

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

```

## MCP server setup

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