# Taiwantrade Email Scraper (`leads-scraper/taiwantrade-email-scraper`) Actor

Taiwantrade Email Scraper SD - Taiwantrade Email Scraper is a lead generation tool that extracts leads with public contact emails, account names and profile URLs from Taiwantrade results by keyword, location and email domain - Taiwantrade email extractor.

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

## Pricing

from $2.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

### Taiwantrade Email Scraper: precision-industry exporter contacts from Taiwan

The Taiwantrade Email Scraper collects the public contact emails that Taiwanese manufacturers and exporters publish on `taiwantrade.com`, together with the company name and profile URL.

Taiwan's export base is precision-heavy: machine tools, bicycle frames and components, fasteners, auto parts, electronics peripherals, medical devices and industrial automation.

Those verticals are where the Taiwantrade Email Scraper is most productive, because that is where the platform's indexed company pages are thickest.

In a measured run the Taiwantrade Email Scraper read 10 result blocks, resolved company identity on all 10, produced 8 profile URLs and returned 9 unique emails. Strong on both counts.

Everything comes from Google's public index. The Taiwantrade Email Scraper never logs in, never touches an API, and never opens the marketplace itself.

Sourcing the same components across Greater China? Pair it with the [HKTDC Sourcing Email Scraper](https://apify.com/neuro-scraper/hktdc-sourcing-email-scraper) and the [Global Sources Email Scraper](https://apify.com/leads-scraper/global-sources-email-scraper).

### What the Taiwantrade Email Scraper actually does

The Taiwantrade Email Scraper builds Google queries with the `site:` operator scoped to `taiwantrade.com`, fetches result pages through the Apify GOOGLE_SERP proxy, and reads emails out of titles and snippets.

There is no browser, no JavaScript rendering, no authentication and no cookies. The Taiwantrade Email Scraper is a search-index reader, not a crawler walking the site.

Taiwanese exporters publish sales inboxes on purpose. Long-cycle engineering sales depend on direct technical contact, not on a marketplace inbox.

That is why this platform yields well. The Taiwantrade Email Scraper simply gathers the addresses suppliers already chose to publish.

### Taiwantrade Email Scraper features at a glance

| Feature | What it means for taiwan supplier contacts |
|---|---|
| Google `site:` search | Every query is scoped to `taiwantrade.com`, so results stay on-platform |
| Query expansion | Base, quoted and `intitle:` variants plus one per query modifier; base queries run first |
| Global deduplication | Each email is pushed once across every query and every page of the run |
| Email normalisation | Handles `name [at] domain [dot] com`, `name (at) domain`, `name @ domain.com`, `domain .com`, zero-width characters and the full-width `＠` |
| Junk filter | Rejects placeholders such as `email@`, `yourname@`, `test@`, `xxx@` and single-character locals |
| Boundary-correct matching | `@gmail.com` never matches inside `@gmail.company` or `@gmail.com.br` |
| Soft-wrap repair | Drops a hit that is only the tail of another email in the same result block |
| Structural block parsing | Locates the `<h3>` title then the smallest surrounding block, not Google CSS class names |
| Whole-page fallback parser | A Google markup change degrades to "emails without account details", not "no emails" |
| Block detection | CAPTCHA, "unusual traffic" and consent pages are detected and retried, never counted as empty |
| Retries and re-queue | Up to 3 attempts per page with exponential backoff and a fresh proxy session; failed queries re-queued once |
| Resumable state | Kept in the key-value store keyed by an input hash; saved on `PERSIST_STATE`, `MIGRATING` and `ABORTING` |
| Concurrency | An `asyncio` worker pool with a shared stop signal on `maxEmails` |
| Run summary | Logs pages fetched, blocked pages, retries and emails per page |

Those are shared engine capabilities. The Taiwantrade Email Scraper specialises them with the `taiwantrade.com` domain scope, `manufacturer` and `exporter` defaults, and export-tuned query modifiers.

### How the Taiwantrade Email Scraper works, step by step

1. The Taiwantrade Email Scraper reads your keywords, location, email domains and limits.
2. It composes Google queries such as `site:taiwantrade.com manufacturer "@gmail.com" "Taichung"`.
3. It fetches result pages asynchronously through the Apify GOOGLE_SERP proxy using `aiohttp`.
4. It parses each result block structurally to isolate title, snippet and site label.
5. It extracts emails with a domain-filtered regex, normalises them and drops junk.
6. It deduplicates globally and pushes each lead to the Apify dataset immediately.

Because the Taiwantrade Email Scraper streams rows as it finds them, you can export supplier contacts to CSV, JSON or Excel while the run is still going.

Profile URLs follow the shape `https://www.taiwantrade.com/{username}`. Eight of ten measured rows resolved one; the other two carried a company name that Google printed without a handle.

### Taiwantrade Email Scraper input fields

| Field | Type | Default | Meaning |
|---|---|---|---|
| `keywords` | array (required) | `["manufacturer", "exporter"]` | Search terms: niche, product vertical, job title, industry |
| `location` | string | `""` | Optional location phrase added to every query |
| `customDomains` | array | `["@gmail.com", "@yahoo.com"]` | Only emails on these domains are kept; the leading `@` is optional |
| `maxEmails` | integer 1-10000 | `20` | Stop once this many unique emails have been collected |
| `countryCode` | string | `""` | Two-letter country for the search proxy (US, GB, DE...) |
| `expandQueries` | boolean | `true` | Search each keyword x domain pair in several phrasings |
| `queryModifiers` | array | `["email", "contact", "export", "wholesale", "sales enquiries"]` | Extra words combined with each keyword when expansion is on |
| `maxPagesPerQuery` | integer 1-50 | `30` | Page cap per query |
| `maxConcurrency` | integer 1-20 | `5` | How many queries run in parallel |

#### Example input for the Taiwantrade Email Scraper

```json
{
  "keywords": [
    "CNC lathe manufacturer",
    "bicycle components exporter",
    "製造商 工具機",
    "出口商 自行車零件"
  ],
  "location": "Taichung",
  "customDomains": ["@gmail.com", "@yahoo.com.tw", "@hinet.net", "@hotmail.com", "@outlook.com"],
  "maxEmails": 600,
  "countryCode": "TW",
  "expandQueries": true,
  "queryModifiers": ["email", "contact", "export", "wholesale", "sales enquiries"],
  "maxPagesPerQuery": 30,
  "maxConcurrency": 5
}
```

Traditional Chinese keywords are a genuine lever for the Taiwantrade Email Scraper. Terms such as `製造商`, `供應商`, `出口商` and `批發` reach listings the English index ranks differently.

`@yahoo.com.tw` and `@hinet.net` belong in the Taiwantrade Email Scraper domain list. Both remain common among Taiwanese SMEs alongside Gmail.

Set `location` to an industrial city: `Taichung` for machine tools, `Tainan` for metals, `Changhua` for fasteners, `Hsinchu` for electronics, `New Taipei` for general manufacturing.

### Taiwantrade Email Scraper output fields

Every dataset item the Taiwantrade Email Scraper pushes carries all fourteen fields below, so your CRM mapping never changes between runs.

| Field | Meaning |
|---|---|
| `network` | Platform name |
| `keyword` | The keyword that produced the lead |
| `query` | The exact Google query used |
| `title` | Raw result title |
| `accountName` | Account label Google prints |
| `fullName` | Display name parsed from a profile-style title; empty for listing captions |
| `username` | URL-safe handle when the platform exposes one; otherwise `null` |
| `profileUrl` | Canonical account URL when a handle is known; otherwise empty |
| `url` | Direct platform link when exposed, else the profile URL |
| `description` | Company or listing snippet, cleaned of labels and counters |
| `email` | Lower-cased email address |
| `emailDomain` | The matched domain, for example `@gmail.com` |
| `possiblyTruncated` | `true` when Google's snippet ellipsis touched the email |
| `foundAt` | ISO 8601 UTC timestamp |

#### Example output from the Taiwantrade Email Scraper

```json
{
  "network": "Taiwantrade",
  "keyword": "CNC lathe manufacturer",
  "query": "site:taiwantrade.com CNC lathe manufacturer \"@gmail.com\" \"Taichung\"",
  "title": "Jing Fong Precision Machinery Co., Ltd. - Taiwantrade",
  "accountName": "Jing Fong Precision Machinery Co., Ltd.",
  "fullName": "Jing Fong Precision Machinery Co., Ltd.",
  "username": "jingfong-precision",
  "profileUrl": "https://www.taiwantrade.com/jingfong-precision",
  "url": "https://www.taiwantrade.com/jingfong-precision",
  "description": "CNC lathes and turning centres, ISO 9001. Overseas sales: jingfong.sales@gmail.com",
  "email": "jingfong.sales@gmail.com",
  "emailDomain": "@gmail.com",
  "possiblyTruncated": false,
  "foundAt": "2026-08-31T15:07:44Z"
}
```

### Who uses the Taiwantrade Email Scraper

The Taiwantrade Email Scraper suits technical buyers. Precision components and capital equipment are where this marketplace is deepest.

| Buyer type | How the Taiwantrade Email Scraper fits their workflow |
|---|---|
| Importers and wholesale buyers | Shortlist Taiwanese makers of machine tools, fasteners or bicycle parts before an RFQ |
| Procurement and sourcing agents | Hold Taiwan as a quality-tier alternative to mainland supply for benchmarking |
| Private-label and dropship brands | Find OEM partners for higher-spec consumer hardware and sporting goods |
| Freight forwarders and customs brokers | Reach exporters shipping out of Kaohsiung and Taipei on lanes you service |
| Trade-show organisers | Recruit exhibitors for machine tool, cycling or automation exhibitions |
| Quality-inspection firms | Approach plants in the Taichung and Changhua industrial belt |
| Sales teams selling to manufacturers | Offer tooling, certification or automation services to precision engineering firms |

### Tuning the Taiwantrade Email Scraper for better yield

Technical specificity pays more in the Taiwantrade Email Scraper than on general trade portals. `exporter` is noise; `hydraulic press brake manufacturer` is a shortlist.

Run the Taiwantrade Email Scraper on three to eight precise engineering terms. Each keyword gets its own expanded query set, so precision compounds rather than narrows.

Mix English and Traditional Chinese keywords in one run. The two sets reach different indexed pages and the Taiwantrade Email Scraper deduplicates across them for you.

Set `countryCode` to `TW` for the densest coverage, then rerun with `US`, `DE` or `JP` to catch pages ranked for those buyer markets.

Widen `customDomains` with `@yahoo.com.tw`, `@hinet.net`, `@hotmail.com` and `@outlook.com` alongside the defaults.

Keep `expandQueries` on. Google caps a single query at roughly 300 results, and expansion is the designed workaround for that ceiling.

### What results to expect from the Taiwantrade Email Scraper

The measured baseline is 10 result blocks, 10 with company identity, 8 profile URLs and 9 unique emails.

Note the gap between identity and profile URLs. Two rows carried a company name that Google printed without a handle, so the Taiwantrade Email Scraper left `username` as `null` and `profileUrl` empty.

Those rows are still usable: you have the company name, the snippet and the address. The Taiwantrade Email Scraper simply cannot invent a link Google did not print.

Results vary with keywords, domains and location, and no volume is guaranteed. Run a small `maxEmails` first to calibrate.

### Taiwantrade Email Scraper limitations

- The Taiwantrade Email Scraper only finds accounts whose email is **publicly visible in Google's index**.
- Google caps a single query at roughly 300 results, which is exactly why query expansion exists.
- `possiblyTruncated: true` means Google's snippet ellipsis touched the address; verify before sending.
- The Actor requires the Apify GOOGLE_SERP proxy and cannot run without Apify proxy credentials.
- Free Apify plans are capped at 100 emails per run; paid plans are uncapped.
- `username` and `profileUrl` are populated only when Google exposes a handle. On the measured run 8 of 10 rows resolved one; the rest carried `accountName` and `fullName` with an empty handle. That is a Google limitation, not a bug.
- Results vary with keywords, domains and location; no volume is guaranteed.

### Responsible use, GDPR and trade compliance

Business contact data is still personal data in many jurisdictions. Under GDPR and comparable regimes you need a lawful basis, a stated purpose and a working opt-out before using what the Taiwantrade Email Scraper returns.

Keep outreach relevant to the exporter's own trade, identify your company clearly, and honour unsubscribe requests immediately.

Screen counterparties against your own sanctions, export-control and denied-party obligations before transacting. The Taiwantrade Email Scraper performs no screening of its own.

None of this is legal advice. Take proper counsel if your programme touches restricted jurisdictions or dual-use goods.

### Related Actors

| Actor | What it collects |
|---|---|
| [Alibaba Email Scraper](https://apify.com/leads-scraper/alibaba-email-scraper) | Public contact emails from Alibaba |
| [DirectIndustry Email Scraper](https://apify.com/neuro-scraper/directindustry-email-scraper) | Public contact emails from DirectIndustry |
| [DIYTrade Email Scraper](https://apify.com/neuro-scraper/diytrade-email-scraper) | Public contact emails from DIYTrade |
| [ECPlaza Email Scraper](https://apify.com/neuro-scraper/ecplaza-email-scraper) | Public contact emails from ECPlaza |
| [Fibre2Fashion Email Scraper](https://apify.com/neuro-scraper/fibre2fashion-email-scraper) | Public contact emails from Fibre2Fashion |
| [Global Sources Email Scraper](https://apify.com/leads-scraper/global-sources-email-scraper) | Public contact emails from Global Sources |
| [GlobalSpec Email Scraper](https://apify.com/leads-scraper/globalspec-email-scraper) | Public contact emails from GlobalSpec |
| [HKTDC Sourcing Email Scraper](https://apify.com/neuro-scraper/hktdc-sourcing-email-scraper) | Public contact emails from HKTDC Sourcing |
| [IndiaMART Email Scraper](https://apify.com/leads-scraper/indiamart-email-scraper) | Public contact emails from IndiaMART |
| [IndustryStock Email Scraper](https://apify.com/neuro-scraper/industrystock-email-scraper) | Public contact emails from IndustryStock |
| [IQS Directory Email Scraper](https://apify.com/neuro-scraper/iqs-directory-email-scraper) | Public contact emails from IQS Directory |
| [Made-in-China Email Scraper](https://apify.com/leads-scraper/made-in-china-email-scraper) | Public contact emails from Made-in-China |
| [Textile Infomedia Email Scraper](https://apify.com/leads-scraper/textile-infomedia-email-scraper) | Public contact emails from Textile Infomedia |
| [Textile World Email Scraper](https://apify.com/leads-scraper/textile-world-email-scraper) | Public contact emails from Textile World |
| [Thomas Scientific Email Scraper](https://apify.com/leads-scraper/thomas-scientific-email-scraper) | Public contact emails from Thomas Scientific |
| [TradeKey Email Scraper](https://apify.com/neuro-scraper/tradekey-email-scraper) | Public contact emails from TradeKey |
| [Tradewheel Email Scraper](https://apify.com/leads-scraper/tradewheel-email-scraper) | Public contact emails from Tradewheel |
| [Wer Liefert Was Email Scraper](https://apify.com/leads-scraper/wer-liefert-was-email-scraper) | Public contact emails from wlw |
| [DirectIndustry Email and Phone Number Scraper](https://apify.com/neuro-scraper/directindustry-email-and-phone-number-scraper) | Emails and phone numbers from DirectIndustry |
| [DIYTrade Email and Phone Number Scraper](https://apify.com/neuro-scraper/diytrade-email-and-phone-number-scraper) | Emails and phone numbers from DIYTrade |
| [ECPlaza Email and Phone Number Scraper](https://apify.com/neuro-scraper/ecplaza-email-and-phone-number-scraper) | Emails and phone numbers from ECPlaza |
| [Fibre2Fashion Email and Phone Number Scraper](https://apify.com/neuro-scraper/fibre2fashion-email-and-phone-number-scraper) | Emails and phone numbers from Fibre2Fashion |
| [Global Sources Email and Phone Number Scraper](https://apify.com/leads-scraper/global-sources-email-and-phone-number-scraper) | Emails and phone numbers from Global Sources |
| [GlobalSpec Email and Phone Number Scraper](https://apify.com/neuro-scraper/globalspec-email-and-phone-number-scraper) | Emails and phone numbers from GlobalSpec |
| [HKTDC Sourcing Email and Phone Number Scraper](https://apify.com/neuro-scraper/hktdc-sourcing-email-and-phone-number-scraper) | Emails and phone numbers from HKTDC Sourcing |
| [IndiaMART Email and Phone Number Scraper](https://apify.com/leads-scraper/indiamart-email-and-phone-number-scraper) | Emails and phone numbers from IndiaMART |
| [IndustryStock Email and Phone Number Scraper](https://apify.com/neuro-scraper/industrystock-email-and-phone-number-scraper) | Emails and phone numbers from IndustryStock |
| [IQS Directory Email and Phone Number Scraper](https://apify.com/neuro-scraper/iqs-directory-email-and-phone-number-scraper) | Emails and phone numbers from IQS Directory |
| [Made-in-China Email and Phone Number Scraper](https://apify.com/leads-scraper/made-in-china-email-and-phone-number-scraper) | Emails and phone numbers from Made-in-China |
| [TradeKey Email and Phone Number Scraper](https://apify.com/neuro-scraper/tradekey-email-and-phone-number-scraper) | Emails and phone numbers from TradeKey |
| [wlw Email and Phone Number Scraper](https://apify.com/leads-scraper/wer-liefert-was-email-and-phone-number-scraper) | Emails and phone numbers from wlw |
| [DirectIndustry Phone Number Scraper](https://apify.com/neuro-scraper/directindustry-phone-number-scraper) | Public phone numbers from DirectIndustry |
| [DIYTrade Phone Number Scraper](https://apify.com/neuro-scraper/diytrade-phone-number-scraper) | Public phone numbers from DIYTrade |
| [ECPlaza Phone Number Scraper](https://apify.com/neuro-scraper/ecplaza-phone-number-scraper) | Public phone numbers from ECPlaza |
| [Fibre2Fashion Phone Number Scraper](https://apify.com/neuro-scraper/fibre2fashion-phone-number-scraper) | Public phone numbers from Fibre2Fashion |
| [Global Sources Phone Number Scraper](https://apify.com/leads-scraper/global-sources-phone-number-scraper) | Public phone numbers from Global Sources |
| [GlobalSpec Phone Number Scraper](https://apify.com/neuro-scraper/globalspec-phone-number-scraper) | Public phone numbers from GlobalSpec |
| [HKTDC Sourcing Phone Number Scraper](https://apify.com/neuro-scraper/hktdc-sourcing-phone-number-scraper) | Public phone numbers from HKTDC Sourcing |
| [IndiaMART Phone Number Scraper](https://apify.com/leads-scraper/indiamart-phone-number-scraper) | Public phone numbers from IndiaMART |
| [IndustryStock Phone Number Scraper](https://apify.com/neuro-scraper/industrystock-phone-number-scraper) | Public phone numbers from IndustryStock |
| [IQS Directory Phone Number Scraper](https://apify.com/neuro-scraper/iqs-directory-phone-number-scraper) | Public phone numbers from IQS Directory |
| [Made-in-China Phone Number Scraper](https://apify.com/leads-scraper/made-in-china-phone-number-scraper) | Public phone numbers from Made-in-China |

### Taiwantrade Email Scraper FAQ

#### Does the Taiwantrade Email Scraper log into Taiwantrade?

No. It reads Google search results through the Apify GOOGLE_SERP proxy. No login, no API key, no browser, no cookies.

#### Does it access contact details Taiwantrade keeps behind its messaging system?

No. The Taiwantrade Email Scraper cannot see anything behind the platform's enquiry or contact-supplier flow. It only reads addresses already public in Google's index.

#### How many results should I expect?

The measured run gave 10 result blocks, 10 with identity, 8 profile URLs and 9 unique emails. Strong on both identity and email yield.

#### Why did two rows have no profile URL?

Google printed a company name without a usable handle for those results, so the Taiwantrade Email Scraper left `username` as `null` and `profileUrl` empty. The email and company name are still there.

#### Do Traditional Chinese keywords help?

Yes. Add `製造商`, `供應商`, `出口商` and `批發` next to your English terms in the same run.

#### Which email domains should I add?

`@yahoo.com.tw` and `@hinet.net` first, then `@hotmail.com` and `@outlook.com` alongside the defaults.

#### Does `countryCode` change what I get?

Yes. `TW` gives the densest local coverage; `US`, `DE` and `JP` surface pages ranked for those buyer markets instead.

#### What kinds of suppliers dominate here?

Precision machinery, machine tools, fasteners, bicycle components, auto parts, electronics peripherals and medical devices.

#### What does `possiblyTruncated` mean?

Google sometimes clips a snippet mid-address. When the ellipsis touches the email the flag is `true`, so you can verify those rows first.

#### Can I resume an interrupted run?

Yes. State lives in the key-value store keyed by a hash of your input and is saved on Apify's `PERSIST_STATE`, `MIGRATING` and `ABORTING` events.

#### Is this affiliated with Taiwantrade?

No. The Taiwantrade Email Scraper is an independent Actor, not supported, endorsed or affiliated with Taiwantrade.

#### Which Actors pair best with this one?

HKTDC Sourcing and DIYTrade for Greater China coverage, and DirectIndustry or GlobalSpec when you want a Western engineering comparison alongside the Taiwantrade Email Scraper.

### Leave a review

If the Taiwantrade Email Scraper saved you time, please leave a star rating and a short review
on the Actor page.

Reviews are how other buyers judge whether a tool works, and they tell us which features to
build next.

If something did not work, email <neurodata.apify@gmail.com>
instead - bugs get fixed faster than they get complained about.

### Support

Questions, a bug, or a custom build? Email **neurodata.apify@gmail.com**.

# Actor input Schema

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

Search terms describing the Taiwantrade accounts you want (niche, job title, industry).

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

Optional location phrase added to every query (e.g. "New York").

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

Only emails ending with one of these domains are collected. With or without the leading @. Each domain is searched separately, so more domains means more results but a longer run - remove some for a faster, narrower search, or add your own (e.g. @company.com).

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

Stop once this many unique emails have been collected.

## `countryCode` (type: `string`):

Two-letter country code for the search proxy (e.g. US, GB, DE). Empty for any.

## `expandQueries` (type: `boolean`):

Search each keyword x domain pair with several phrasings. Recommended - Google caps a single query at ~300 results.

## `queryModifiers` (type: `array`):

Extra words combined with each keyword when Expand queries is on. Tuned for Taiwantrade.

## `maxPagesPerQuery` (type: `integer`):

Google rarely returns more than ~30 pages for one query.

## `maxConcurrency` (type: `integer`):

How many queries run in parallel.

## Actor input object example

```json
{
  "keywords": [
    "manufacturer",
    "exporter"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "maxEmails": 20,
  "countryCode": "",
  "expandQueries": true,
  "queryModifiers": [
    "email",
    "contact",
    "export",
    "wholesale",
    "sales enquiries"
  ],
  "maxPagesPerQuery": 30,
  "maxConcurrency": 5
}
```

# Actor output Schema

## `results` (type: `string`):

Records produced by Taiwantrade Email Scraper, stored in the run's default dataset.

# 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": [
        "manufacturer",
        "exporter"
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com"
    ],
    "countryCode": "",
    "queryModifiers": [
        "email",
        "contact",
        "export",
        "wholesale",
        "sales enquiries"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("leads-scraper/taiwantrade-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": [
        "manufacturer",
        "exporter",
    ],
    "location": "",
    "customDomains": [
        "@gmail.com",
        "@yahoo.com",
    ],
    "countryCode": "",
    "queryModifiers": [
        "email",
        "contact",
        "export",
        "wholesale",
        "sales enquiries",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("leads-scraper/taiwantrade-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": [
    "manufacturer",
    "exporter"
  ],
  "location": "",
  "customDomains": [
    "@gmail.com",
    "@yahoo.com"
  ],
  "countryCode": "",
  "queryModifiers": [
    "email",
    "contact",
    "export",
    "wholesale",
    "sales enquiries"
  ]
}' |
apify call leads-scraper/taiwantrade-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,leads-scraper/taiwantrade-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/Nmiad1qtMSH7CZiwD/builds/wmP5hMZK00Qq7dhbJ/openapi.json
