# 1688 Products Scraper (`blueskyscraper/1688-products-scraper`) Actor

Scrape 1688 search results by keyword in English or Chinese: title with English translation, price in CNY and USD, units sold, repeat-buyer rate, images, service tags, and the factory or wholesaler with years, province and audit badges. Up to 3,000 products per keyword.

- **URL**: https://apify.com/blueskyscraper/1688-products-scraper.md
- **Developed by:** [BlueskyScraper](https://apify.com/blueskyscraper) (community)
- **Categories:** E-commerce, Agents, Automation
- **Stats:** 2 total users, 1 monthly users, 66.7% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.70 / 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 Products Scraper** turns 1688.com search results into clean rows **without an account** — search **in English or Chinese**: title with **English translation**, price in **CNY and USD**, **units sold**, **repeat-buyer rate**, images, service tags (dropshipping, free returns, factory audited) and the **factory or wholesaler** with years on 1688, province, city and audit badges. Up to ~3,000 products per keyword. **$1 per 1,000 products, no start fee.**

### Tested head-to-head — 5 October 2026

![1688 scrapers tested head-to-head: this Actor returns 20 products in 13 seconds with English titles, $1 per 1,000 products, $3 per 1,000 product pages, $0.50 per 1,000 image matches, no start fee](https://api.apify.com/v2/key-value-stores/tZJ3TnhQJ1jqUQVXq/records/1688-tested-2026-10-05.png)

The same requests went to this Actor and to the most-used 1688 scrapers on the Apify Store: 20 products for `yoga mat` typed in English, 3 product pages and 20 image-search matches for one photo.

| | This Actor | The others |
|---|---|---|
| 20 products returned in | **13.2 s** | 7.4 s (10 of 20 rows) – 74 s |
| English titles and specs | **yes, included** | 1 of 6 |
| Price and stock of every variant (SKU) | **yes, included** | 2 of 6 |
| Rating summary and factory profile (staff, area, equipment) | **yes, included** | 1 of 6, as a paid add-on |
| 3 product pages returned in | **9.3 s** | 11.7–32.8 s |
| Price per 1,000 products | **$1** | $1.00–5.24 |
| Price per 1,000 product pages | **$3** | $3.00–6.63 |
| Price per 1,000 image matches | **$0.5** | $0.75 + run fee – $5.00 |
| Supplier list mode | **yes** | 1 other — returned 0 rows |
| Start fee | **none** | 2 of 6 charge one |

### What is 1688 Products Scraper?

A tool for **product sourcing, dropshipping and price research** on China's wholesale market. Type what you would sell — `yoga mat`, `led strip`, `pet bed` — and get every 1688 listing as a row. Switch on **Open each product page** for variants, specifications, stock and weight of each result.

| Filter | What it does |
|---|---|
| **Minimum / maximum price (CNY)** | keeps only products in your price range |
| **Factories only** | manufacturers (生产加工) and factory-audited suppliers |
| **Provinces or cities** | `浙江`, `广东`, `义乌`, `深圳`… |
| **Best selling first** | 1688's sales ranking for the last 30 days |
| **Skip sponsored listings** | paid placements left out, free |

### What data do you get?

`productId`, `title`, `titleEn`, `url`, `priceCny`, `priceUsd`, `soldText`, `soldCount`, `soldScope`, `repurchaseRate`, `image`, `images`, `serviceTags`, `serviceTagsEn`, `isAd`, `searchRank`, `query`, and the supplier: `supplierName`, `supplierLoginId`, `supplierUrl`, `supplierYears`, `supplierType`, `supplierProvince`, `supplierCity`, `supplierRepeatBuyerRate`, `supplierScore` and five service scores, `factoryAudited`, `businessAudited`, `superFactory`.

### How much does it cost?

| Row | Price |
|---|---|
| **Product** (keyword search result) | $0.001 — $1 per 1,000 |
| **Image match** (one product found by your photo) | $0.0005 — $0.5 per 1,000 |
| **Product page** (full details) | $0.003 — $3 per 1,000 |
| **Supplier** (one factory or wholesaler) | $0.002 — $2 per 1,000 |

No start fee, no proxy charge, no extra fee for English translations or image uploads. Error rows and rows removed by your filters are never billed. **Maximum rows per run** is a hard ceiling on the bill.

### ⬇️ Input

```json
{
    "keywords": ["bluetooth earphones"],
    "maxPriceCny": 30,
    "sortBy": "sales",
    "maxResultsPerInput": 600
}
```

### ⬆️ Output

```json
{
    "type": "product",
    "title": "TPE抗菌瑜伽垫专业防滑加厚女加宽健身垫家用减震静音舞蹈垫定制",
    "titleEn": "TPE antibacterial yoga mat - professional anti-slip, thickened, widened women's home fitness mat, custom",
    "url": "https://detail.1688.com/offer/787646790056.html",
    "priceCny": 21,
    "priceUsd": 2.95,
    "soldCount": 900,
    "supplierName": "福清胜德智造科技有限公司",
    "supplierType": "Manufacturer",
    "supplierYears": 17
}
```

### ❓ FAQ

#### What is 1688.com?

1688.com is Alibaba's wholesale marketplace for China's domestic market — the factory prices that Alibaba.com, AliExpress, Amazon and TikTok Shop sellers buy from. Prices are in Chinese yuan (CNY) and usually far below Alibaba.com for the same item.

#### Can I search in English?

Yes. An English keyword is translated into the Chinese search words 1688 expects (both are in the row: `keywordGiven` and `query`), and every title, specification, variant and tag gets an English copy (`titleEn`, `attributesEn`, `variantsEn`…). Chinese keywords work as they are. Switch **Add English translations** off if you only want the Chinese originals.

#### Do I need a 1688 account, cookies or a proxy?

No. The Actor needs no login, no cookies and no proxy settings. 1688 limits how often one address may search; when it refuses, the request moves to a fresh address by itself.

#### How are USD prices worked out?

With the day's CNY→USD exchange rate (fetched once per run). The CNY price is always in the row too — it is what the supplier charges.

#### Why are some supplier scores empty?

1688 shows the service scores (overall, inquiries, logistics, disputes, returns, goods) only for some suppliers in search results. Years, type, province, repeat-buyer rate and audit badges are there for almost all.

#### Is it legal to scrape 1688?

The Actor reads only what 1688.com shows any visitor without an account: public listings and shop pages. It does not collect personal contact details.

### You might also like

| Actor | What it does |
|---|---|
| [1688 Scraper](https://apify.com/blueskyscraper/1688-scraper) | Products, product pages, image search and suppliers in one Actor |
| [1688 Product Details Scraper](https://apify.com/blueskyscraper/1688-product-details-scraper) | Full product pages: variants with images, specs, stock, weight |
| [1688 Image Search Scraper](https://apify.com/blueskyscraper/1688-image-search-scraper) | Find the factory listings behind any product photo |
| [1688 Supplier Scraper](https://apify.com/blueskyscraper/1688-supplier-scraper) | Chinese factories and wholesalers for any product, one row each |
| [Alibaba Scraper](https://apify.com/blueskyscraper/alibaba-scraper) | The same for Alibaba.com: products, suppliers, buying requests |

# Actor input Schema

## `mode` (type: `string`):

<b>Products</b> — 1688 search results: title (with English translation), price in CNY and USD, units sold, repeat-buyer rate, the factory or wholesaler with years, province and audit badges. <b>Product details</b> — the full product page: price range, minimum order, stock, variants with images, specifications, weight, ship-from city, services. <b>Image search</b> — products that look like your photo. <b>Suppliers</b> — one row per factory or wholesaler selling a product.

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

In English or Chinese: <code>yoga mat</code>, <code>bluetooth earphones</code>, <code>蓝牙耳机</code>. English words are translated into the Chinese search words 1688 expects (the row shows both). Each keyword is one search.

## `productUrls` (type: `array`):

Product pages for <b>Product details</b>: <code>https://detail.1688.com/offer/787646790056.html</code>, the mobile link <code>m.1688.com/offer/…</code> or just the ID <code>787646790056</code>.

## `startUrls` (type: `array`):

Any 1688 link, routed automatically: a search results page (<code>s.1688.com/selloffer/offer_search.htm?keywords=…</code>), a product page, or an image link.

## `maxResultsPerInput` (type: `integer`):

Cap for each keyword, image or URL, not for the whole run. 1688 shows up to ~3,000 products per search (60 per page).

## `minPriceCny` (type: `number`):

Products cheaper than this are skipped (free). 1 USD ≈ 7.1 CNY.

## `maxPriceCny` (type: `number`):

Products dearer than this are skipped (free).

## `manufacturersOnly` (type: `boolean`):

Keep only suppliers registered as manufacturers (生产加工) or with an on-site factory audit.

## `provinces` (type: `array`):

Only suppliers from these places, in Chinese: <code>浙江</code> (Zhejiang), <code>广东</code> (Guangdong), <code>义乌</code> (Yiwu), <code>深圳</code> (Shenzhen). Empty = all.

## `sortBy` (type: `string`):

1688's best match, or best-selling first (sales in the last 30 days).

## `excludeAds` (type: `boolean`):

Leave out products placed by paid ads (marked <code>isAd</code>). Skipped rows are free.

## `includeDetails` (type: `boolean`):

Products and Image search: one full product-page row per result — variants with images, specifications, stock, weight, ship-from city, services — billed as a product page.

## `includeVariants` (type: `boolean`):

Product pages also get <b>every variant (SKU) with its own price and stock</b>, the <b>rating summary</b> with review tags and the latest reviews, and the <b>factory profile</b> — founded, staff, factory area, equipment, OEM/ODM, response rate, certifications. Included in the product-page price.

## `translateToEnglish` (type: `boolean`):

Titles, specifications, variants, tags and company names get an English copy next to the Chinese original (<code>titleEn</code>, <code>attributesEn</code>…). Included in the price.

## `maxItems` (type: `integer`):

Stop after this many rows in the whole run — a hard ceiling on cost.

## `monitoringStoreName` (type: `string`):

Give the run a name (e.g. <code>new-yoga-mats</code>) and every later run with the same name returns <b>only rows it has not delivered before</b> — new products, new suppliers. Schedule it daily. Empty = normal run.

## Actor input object example

```json
{
  "mode": "products",
  "keywords": [
    "yoga mat"
  ],
  "maxResultsPerInput": 60,
  "manufacturersOnly": false,
  "sortBy": "bestMatch",
  "excludeAds": false,
  "includeDetails": false,
  "includeVariants": true,
  "translateToEnglish": true,
  "maxItems": 10000
}
```

# Actor output Schema

## `rows` (type: `string`):

One row per product, product page or supplier; error rows explain inputs that could not be read.

# 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": [
        "yoga mat"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("blueskyscraper/1688-products-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": ["yoga mat"] }

# Run the Actor and wait for it to finish
run = client.actor("blueskyscraper/1688-products-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": [
    "yoga mat"
  ]
}' |
apify call blueskyscraper/1688-products-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,blueskyscraper/1688-products-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/IKmmC6DR4mXenMzjn/builds/V6voxFE3egDYAfXCG/openapi.json
