# 1688 Product Search Scraper: Wholesale Prices & Suppliers (`sinodata/1688-product-search`) Actor

Search 1688.com (Alibaba's Chinese wholesale market) by keyword, no login: up to 40 top products per keyword with wholesale price, monthly sales, supplier, years on TrustPass, power-merchant badge, dropshipping tags and images, plus related keywords.

- **URL**: https://apify.com/sinodata/1688-product-search.md
- **Developed by:** [SinoData](https://apify.com/sinodata) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.80 / 1,000 products

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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

## 1688 Product Search Scraper: Wholesale Prices & Suppliers

Search **1688.com**, Alibaba's Chinese wholesale marketplace and the source of most products sold on Taobao, Amazon and TikTok Shop, by keyword. No login, no cookies, no browser.

For each keyword you get **up to 40 top products** from 1688's public product page for that keyword:

- **Wholesale price** (CNY) and **monthly sales** with the unit (个, 件, 台...)
- **Supplier**: company name, shop link, **years on TrustPass (诚信通)** and the **power merchant (实力商家)** badge
- **Tags** such as 一件代发 (dropshipping available) and 48小时发货 (ships in 48 hours), and the brand
- Product link, ID and image
- **Related keywords** 1688 suggests, and the total number of matching listings
- Optionally, products for those related keywords too, for wider coverage

### Use cases

- **Product research and sourcing**: find factories and wholesale prices for a product idea before ordering.
- **Dropshipping and e-commerce**: compare suppliers by sales, price and dropshipping support.
- **Price benchmarking**: see what a product costs at the source in China.
- **Keyword research**: the related keywords show how Chinese buyers search for a product.

### Example input

```json
{
  "keywords": ["手机壳", "蓝牙耳机"],
  "maxProductsPerKeyword": 40,
  "relatedKeywords": 3
}
```

Chinese keywords work best. Each keyword gives up to 40 products; **Also search related keywords** adds up to 40 more products for each related keyword (for 手机壳: 苹果手机壳, tpu手机壳, 手机壳一件代发...).

### Output

One record per product:

```json
{
  "type": "product",
  "rank": 1,
  "offerId": "1027481763265",
  "title": "NE-11S挂耳式骨传导蓝牙耳机，运动降噪，2026新款高音质长续航",
  "price": 19.95,
  "priceText": "¥19.95",
  "monthlySales": 266,
  "salesUnit": "套",
  "salesText": "月销266套",
  "brand": "CNWUCLG",
  "tags": ["一件代发"],
  "supplier": "深圳创乐购科技有限公司",
  "supplierUrl": "https://shop050g987774i56.1688.com",
  "supplierYearsOnTrustPass": 10,
  "powerMerchant": true,
  "url": "https://detail.1688.com/offer/1027481763265.html",
  "imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01xBAoIV1yxSz2X1wSy_!!4056916645-0-cib.220x220.jpg",
  "keyword": "蓝牙耳机",
  "foundVia": null
}
```

And one summary per keyword (free):

```json
{ "type": "keywordSummary", "keyword": "蓝牙耳机", "totalMatches": 1515670, "relatedKeywords": ["苹果蓝牙耳机", "迷你蓝牙耳机", "头戴式蓝牙耳机"] }
```

- `price` is the price shown in the listing; price tiers and minimum order quantities are on the product page (follow `url`).
- `monthlySales` is 1688's "月销" figure, in the product's own unit.
- `foundVia` is the original keyword when a product came from a related keyword.
- Products found under several keywords are saved once.

### Pricing

**$0.002 per product ($2 per 1,000).** One keyword (40 products) costs $0.08; a keyword plus 3 related keywords about $0.30. Keyword summaries are free.

### Notes and limits

- **Up to 40 products per keyword**: this Actor reads only 1688's open keyword pages. Later result pages, filters and product detail pages are closed to crawlers in 1688's robots.txt, so they are not read. Use related keywords to cover more products.
- Some very rare keywords have no open page; the run then says so and moves on.
- Only public data is collected, and no account is used.

### Related

- [Taobao & Tmall Products](https://apify.com/sinodata/taobao-product-search): retail bestsellers, prices and shop ratings
- [Made-in-China.com Scraper](https://apify.com/sinodata/made-in-china-scraper): export suppliers with USD prices and MOQ

### 中文说明

1688 关键词搜索，无需登录：每个关键词最多 40 个热门商品，含批发价、月销量、供应商、诚信通年限、实力商家标识、一件代发等标签和图片，还会返回 1688 推荐的相关关键词，可选择同时抓取相关关键词的商品。每个商品 0.002 美元，可在 Apify 上直接运行或通过 API 调用。有问题请在 Issues 页面留言（中文、英文均可）。

### Feedback

Need another field? Open an issue on the Issues tab.

# Actor input Schema

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

Search words, in Chinese for best results (e.g. 手机壳, 蓝牙耳机, 保温杯). Each keyword returns up to 40 top products.

## `maxProductsPerKeyword` (type: `integer`):

Up to 40 (1688 shows 40 products on a keyword's open page).

## `relatedKeywords` (type: `integer`):

For more products: also search up to this many of the related keywords 1688 suggests for each keyword (e.g. 手机壳 → 苹果手机壳, tpu手机壳). 0 = off.

## `proxyConfiguration` (type: `object`):

Not needed for normal use.

## Actor input object example

```json
{
  "keywords": [
    "手机壳",
    "蓝牙耳机"
  ],
  "maxProductsPerKeyword": 40,
  "relatedKeywords": 0,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `results` (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": [
        "手机壳",
        "蓝牙耳机"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("sinodata/1688-product-search").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": [
        "手机壳",
        "蓝牙耳机",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("sinodata/1688-product-search").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": [
    "手机壳",
    "蓝牙耳机"
  ]
}' |
apify call sinodata/1688-product-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sinodata/1688-product-search"
        }
    }
}
```

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/3WJ7IOM63tNlWtgTS/builds/Ijar7xHcnbOzkCHJ6/openapi.json
