# 1688 Scraper (`parseforge/1688-scraper`) Actor

Scrape 1688.com wholesale search results by keyword: price, MOQ, tiered prices, sales, 30-day GMV, supplier scores, repurchase rate, factory inspection and location. Export to CSV, Excel, JSON or XML.

- **URL**: https://apify.com/parseforge/1688-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** E-commerce, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.40 / 1,000 1688 offers

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?

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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🏭 1688 Scraper

> 🚀 **Export 1688.com wholesale offers in seconds.** Type a keyword in Chinese or English and get 46 fields per offer back, including the unit price and every quantity price tier, the minimum order, units sold, 30-day GMV, the supplier's six service scores, its repurchase rate, factory inspection status, years verified and city, plus a flag on every sponsored placement.

1688.com is Alibaba's domestic wholesale marketplace, the place where Chinese factories list what they make before it reaches Amazon, Shopee, TikTok Shop or your own store. Its search results are login-walled for visitors outside China and its product pages sit behind a slider captcha, so most tools either fail or paste a cookie you have to refresh. This Actor reads the same listing data 1688's own mobile front end loads and returns each offer as one flat row: price, dropship price, MOQ, tiered prices, sales and GMV signals, supplier identity, six supplier quality scores, buyer protections, verification tags, location and category. No login, no cookie to paste, no API key.

Every run returns **46 fields per offer**. One search term pages through up to **2,000 offers** in batches of 100, and the verification runs delivered **5 offers in 7 seconds** and **300 offers in 17 seconds** on a single proxy session. A keyword like "wireless earbuds" reports **113 matching offers**, "yoga mat" **505**, and a Chinese keyword like 瑜伽垫 hits the 2,000 ceiling.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Sourcing agents and import businesses | Shortlist factories by MOQ, price tier, inspection status and years verified before you message anyone. |
| Amazon, Shopee and TikTok Shop sellers | Find the 1688 source of a trending product and compare unit price, dropship price and sales velocity across suppliers. |
| Dropshippers | Filter for MOQ 1 and mixed wholesale, read the consign (dropship) price and the supplier's logistics score. |
| Category and pricing analysts | Track wholesale price ladders, quantity tiers and 30-day GMV by keyword, city or category over time. |
| Supplier due-diligence teams | Score suppliers on goods, logistics, consultation, dispute and return ratings, repurchase rate and factory inspection. |

### 📋 What the 1688 Scraper does

It turns any 1688 keyword search into a clean table. Give it one or more search terms, pick a sort order and, if you want, a price band in yuan, a category ID or a supplier city, and it returns every matching offer with its commercial data, its supplier data and its quality signals in a single row.

> 💡 **Why it matters:** a 1688 search result is not a neutral list. Sponsored offers are mixed into the ranking, and the same product can be listed by a manufacturer, a trading company and a wholesaler at three different MOQs. This Actor returns `sponsored`, `supplierType`, `factoryInspection` and `verifiedYears` on every row, so you can separate paid from organic and factory from middleman before you compare prices. Add the six supplier scores, the `shopRepurchaseRate` and the `gmv30Days` band and you have the context behind the price, not just the price.

It also returns the identifiers that make 1688 data joinable: the `offerId`, the `supplierId`, the `categoryId` and the full `categoryPath`, so you can re-run a keyword restricted to exactly the category you care about and match rows across runs.

### 🎬 Full Demo (🚧 Coming soon)

### 📊 Output

One row per offer. The same field names come back for every search term, so runs join cleanly.

| Field | What it holds |
|---|---|
| 🖼 `imageUrl` | Main offer image |
| 🏷 `title` | Offer title, as the supplier wrote it (usually Chinese) |
| 🔗 `url` | Offer page on detail.1688.com |
| 🆔 `offerId` | 1688 offer ID, the number in the URL |
| 💰 `price` | Displayed unit price in CNY |
| 📦 `consignPrice` | Dropship (代发) price in CNY |
| 💱 `currency` | Always CNY |
| 📏 `unit` | Selling unit, for example 条, 件, 套 |
| 🔢 `minOrderQuantity` | Minimum order quantity |
| 🪜 `quantityPrices` | Price tiers as quantity range and price, for example 1~99 at 24.00 |
| 🛒 `saleQuantity` | Units sold |
| 🧾 `bookedCount` | Number of orders |
| 📅 `monthlySales` | Units sold in the last month |
| 📈 `gmv30Days` | 30-day sales value band as 1688 shows it, for example 4000+ |
| 💬 `inquiryUsers` | Buyers who enquired |
| 🔁 `offerRepurchaseRate` / `shopRepurchaseRate` | Repeat-purchase rate for the offer and for the shop |
| ⭐ `goodsScore` / `logisticsScore` / `consultationScore` / `disputeScore` / `returnScore` | 1688's five supplier service ratings out of 5 |
| 🏅 `compositeScore` | 1688's overall supplier rating out of 5 |
| 🗣 `feedbackHighlight` | The buyer-feedback highlight 1688 shows on the listing |
| 🏭 `supplierName` | Company name |
| 🆔 `supplierId` | 1688 member ID |
| 🔗 `supplierUrl` | Supplier storefront |
| 🏷 `supplierType` | Manufacturer, Wholesaler, Agent or Business Service, with the Chinese original |
| ✅ `verifiedSupplier` | Yes when the supplier holds 1688's paid verification (诚信通) |
| 🎖 `verifiedYears` | Years the supplier has been verified |
| 🔍 `factoryInspection` / `businessInspection` | Yes when 1688 has inspected the factory or the business on site |
| 🏷 `identityTags` / `serviceTags` | 1688's identity and service badges, for example 实商, 深度验厂 |
| 🛡 `buyerProtections` | Buyer guarantees on the offer, for example 7天包换, 48小时发货 |
| 🗺 `province` / `city` | Supplier location |
| 📂 `categoryId` / `categoryPath` | Leaf category ID and the full category ID path |
| 📣 `sponsored` | Yes when the offer was a paid placement |
| 🧩 `mixWholesale` | Yes when the supplier allows mixed-SKU wholesale orders |
| 🚚 `freightInsurance` | Yes when freight insurance is included |
| 📋 `attributes` | Name and value pairs 1688 highlights for the offer, for example 材质 and 芯片类型 |
| 🔎 `searchTerm` | The keyword that produced the row |
| 🕒 `scrapedAt` | ISO timestamp |
| ❌ `error` | Null on data rows, a message on error rows |

Values 1688 can genuinely withhold, such as `offerRepurchaseRate` on a new listing or `feedbackHighlight` on an offer with no reviews, read `Not Disclosed`. `quantityPrices` is an empty list when the supplier publishes a single price. There are no permanently empty columns.

Three real rows from the verification run:

```json
{
  "imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01BFPHeH1zyffZPo2la_!!2219489796783-0-cib.jpg",
  "title": "Clip-On Earbuds Bluetooth 5.4 Wireless Headphones Open Ear",
  "url": "https://detail.1688.com/offer/1069147610993.html",
  "offerId": "1069147610993",
  "price": 24,
  "consignPrice": 24,
  "currency": "CNY",
  "unit": "条",
  "minOrderQuantity": 1,
  "quantityPrices": [
    { "quantity": "1~99", "price": "24.00" },
    { "quantity": "100~499", "price": "23.80" },
    { "quantity": "≥500", "price": "23.50" }
  ],
  "saleQuantity": 5,
  "bookedCount": 1,
  "monthlySales": 5,
  "gmv30Days": "100+",
  "inquiryUsers": 35,
  "offerRepurchaseRate": "Not Disclosed",
  "shopRepurchaseRate": "14%",
  "goodsScore": 3.33,
  "logisticsScore": 3,
  "consultationScore": 3.5,
  "disputeScore": 4,
  "returnScore": 4,
  "compositeScore": 4,
  "feedbackHighlight": "Not Disclosed",
  "supplierName": "东莞市华嘉世纪电子科技有限公司",
  "supplierId": "b2b-221948979678332924",
  "supplierUrl": "https://m.1688.com/winport/b2b-221948979678332924.html",
  "supplierType": "Manufacturer (生产加工)",
  "verifiedSupplier": "Yes",
  "verifiedYears": 2,
  "factoryInspection": "Yes",
  "businessInspection": "No",
  "identityTags": ["实商"],
  "serviceTags": ["实商", "深度验厂"],
  "buyerProtections": ["材质保障", "7天包换", "48小时发货"],
  "province": "广东",
  "city": "东莞市",
  "categoryId": "1048186",
  "categoryPath": "1048186 50911 7",
  "sponsored": "No",
  "mixWholesale": "Yes",
  "freightInsurance": "Yes",
  "attributes": [
    { "name": "功能", "value": "防水" },
    { "name": "防水性能", "value": "生活防水" },
    { "name": "材质", "value": "PC+ABS" }
  ],
  "searchTerm": "wireless earbuds",
  "scrapedAt": "2026-09-02T20:51:50.073Z",
  "error": null
}
```

```json
{
  "imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN016qAIh92Jjp5gmRRyb_!!938829458-0-cib.jpg",
  "title": "跨境新爆款无线耳机头戴蓝牙式游戏耳机大电量品牌耳麦工厂家批发",
  "url": "https://detail.1688.com/offer/735151471986.html",
  "offerId": "735151471986",
  "price": 27,
  "consignPrice": 27,
  "currency": "CNY",
  "unit": "条",
  "minOrderQuantity": 1,
  "quantityPrices": [],
  "saleQuantity": 70092,
  "bookedCount": 4593,
  "monthlySales": 52,
  "gmv30Days": "1000+",
  "inquiryUsers": 66,
  "offerRepurchaseRate": "22%",
  "shopRepurchaseRate": "27%",
  "goodsScore": 3.67,
  "logisticsScore": 3.29,
  "consultationScore": 3.5,
  "disputeScore": 5,
  "returnScore": 3.67,
  "compositeScore": 4,
  "feedbackHighlight": "7人评价\"音质清晰\"",
  "supplierName": "汕头市烁音科技有限公司",
  "supplierId": "soyto",
  "supplierUrl": "https://m.1688.com/winport/soyto.html",
  "supplierType": "Manufacturer (生产加工)",
  "verifiedSupplier": "Yes",
  "verifiedYears": 18,
  "factoryInspection": "Yes",
  "businessInspection": "No",
  "identityTags": ["实商"],
  "serviceTags": ["实商", "深度验厂"],
  "buyerProtections": ["7天包换", "48小时发货", "诚e赊"],
  "province": "广东",
  "city": "汕头市",
  "categoryId": "1048186",
  "categoryPath": "1048186 50911 7",
  "sponsored": "Yes",
  "mixWholesale": "Yes",
  "freightInsurance": "No",
  "attributes": [
    { "name": "芯片类型", "value": "杰理" },
    { "name": "功能", "value": "超长续航" },
    { "name": "使用方式", "value": "头戴式" }
  ],
  "searchTerm": "wireless earbuds",
  "scrapedAt": "2026-09-02T20:51:50.072Z",
  "error": null
}
```

```json
{
  "imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01cyehDM1GYQ4pHhViC_!!2218244100634-0-cib.jpg",
  "title": "X15蓝牙耳机跨境热销爆款现货CE RoHS认证数显超长续航半入耳蓝牙",
  "url": "https://detail.1688.com/offer/815687167862.html",
  "offerId": "815687167862",
  "price": 10,
  "consignPrice": 10,
  "currency": "CNY",
  "unit": "件",
  "minOrderQuantity": 10,
  "quantityPrices": [{ "quantity": "≥10", "price": "7.20" }],
  "saleQuantity": 23692,
  "bookedCount": 23,
  "monthlySales": 10,
  "gmv30Days": "90+",
  "inquiryUsers": 7,
  "offerRepurchaseRate": "Not Disclosed",
  "shopRepurchaseRate": "28%",
  "goodsScore": 5,
  "logisticsScore": 4.14,
  "consultationScore": 4,
  "disputeScore": 5,
  "returnScore": 4.33,
  "compositeScore": 4.5,
  "feedbackHighlight": "Not Disclosed",
  "supplierName": "深圳市骏鸿泰科技有限公司",
  "supplierId": "b2b-2218244100634232ce",
  "supplierUrl": "https://m.1688.com/winport/b2b-2218244100634232ce.html",
  "supplierType": "Not Disclosed",
  "verifiedSupplier": "Yes",
  "verifiedYears": 3,
  "factoryInspection": "No",
  "businessInspection": "No",
  "identityTags": ["诚信通3年"],
  "serviceTags": ["诚信通3年"],
  "buyerProtections": ["48小时发货", "诚e赊"],
  "province": "广东",
  "city": "深圳市",
  "categoryId": "1048186",
  "categoryPath": "1048186 50911 7",
  "sponsored": "Yes",
  "mixWholesale": "Yes",
  "freightInsurance": "No",
  "attributes": [
    { "name": "芯片类型", "value": "中科蓝讯" },
    { "name": "功能", "value": "呼吸灯" },
    { "name": "防水性能", "value": "生活防水" }
  ],
  "searchTerm": "wireless earbuds",
  "scrapedAt": "2026-09-02T20:51:50.073Z",
  "error": null
}
```

### ✨ Why choose this Actor

- ⭐ **Six supplier quality scores on every row.** Goods, logistics, consultation, dispute, return and the composite rating, straight from 1688's supplier profile, so you can rank factories before you contact them.
- 🔁 **Repurchase rates and 30-day GMV.** `shopRepurchaseRate`, `offerRepurchaseRate` and the `gmv30Days` band tell you whether buyers come back and how much the listing actually moves, not just how many units it claims.
- 🪜 **Every quantity price tier.** `quantityPrices` returns the full ladder, for example 1~99 at 24.00, 100~499 at 23.80, ≥500 at 23.50, alongside the `consignPrice` for dropshipping.
- 🏭 **Factory or middleman, made explicit.** `supplierType` (Manufacturer, Wholesaler, Agent), `factoryInspection`, `businessInspection`, `verifiedYears` and the 实商 and 深度验厂 badges separate real factories from resellers.
- 📣 **Sponsored placements flagged.** Paid offers stay in the results, marked `sponsored: Yes`, so organic rank and paid rank never mix.
- 🔎 **Chinese or English keywords.** Search the way you think; 1688 matches English terms too. Add a price band in yuan, a category ID or a supplier city to narrow the pool.
- ⚡ **100 offers per request.** The Actor reads 1688's own JSON, not rendered pages: 300 offers landed in 17 seconds on one proxy session.
- 🔐 **No login, no cookie.** 1688 walls its desktop search behind a login for overseas visitors. This Actor uses the public mobile surface, so there is nothing to paste and nothing that expires.
- 🧾 **No always-empty columns.** Fields 1688 never populates were dropped during research rather than shipped as blank headers. Where a value can genuinely be withheld you get `Not Disclosed`, never a silent `null`.
- 🧯 **Honest failure.** A term with no results or a search 1688 refuses after retries produces an error row naming the term and the reason, rather than a silently short dataset.

### 📈 How it compares to alternatives

| | This Actor | Typical 1688 actors |
|---|---|---|
| Supplier quality scores | ✅ Six ratings on every row | ⚠️ Usually the composite only, or none |
| Repurchase rate and 30-day GMV | ✅ Both | ❌ Rarely |
| Quantity price tiers | ✅ Full ladder plus dropship price | ⚠️ Often the headline price only |
| Factory inspection and verified years | ✅ Both, plus supplier type | ⚠️ Sometimes a verified flag only |
| Sponsored placement flag | ✅ On every row | ❌ Rarely |
| Price band, category and city filters | ✅ 1688's own parameters | ⚠️ Often keyword only |
| Offers per request | ✅ 100 | ⚠️ Usually 20 per rendered page |
| Login or cookie required | ✅ No | ⚠️ Often a pasted cookie |
| Start fee per run | ✅ None | ⚠️ Common |

**What this Actor does not do, stated plainly.** 1688 serves at most 2,000 offers per search query; to go deeper, split a broad keyword into narrower ones or add a category ID, a city or a price band. Product detail pages, and with them the SKU variant matrix, the long description and the image gallery, sit behind 1688's slider captcha for every automated client and are not part of this surface. Sponsored offers can ignore the price band; organic offers always respect it. Titles, tags and attribute names come back in Chinese, exactly as suppliers wrote them.

### 🚀 How to use

1. **Create a free Apify account.** [Sign up here](https://console.apify.com/sign-up?fpr=vmoqkp) and you start with $5 of free credit, no card required.
2. **Open the Actor** and go to the Input tab.
3. **Type your keywords** into Search Terms, one per line, in Chinese or English.
4. **Pick a sort order, a price band, a category ID or a city** if you want them. Run a keyword once, read `categoryId` on the rows, and run again with the category you want.
5. **Set Max Items.** Start small while you check the shape of the data.
6. **Leave the proxy on residential.** 1688 rate-limits each IP after a few dozen calls, and the Actor rotates sessions for you.
7. **Click Start** and watch the log.
8. **Download the results** as CSV, Excel, JSON or XML from the Dataset tab, or pull them from the API.

A minimal input looks like this:

```json
{
  "searchTerms": ["wireless earbuds", "瑜伽垫"],
  "maxItems": 200,
  "sortBy": "price_asc",
  "minPrice": 5,
  "maxPrice": 50
}
```

### 💼 Business use cases

#### 🏭 Supplier shortlisting

Run your product keyword and sort the rows by `compositeScore`, `shopRepurchaseRate` and `verifiedYears`. Keep the suppliers with `factoryInspection: Yes` and `supplierType` Manufacturer, drop the ones with a `disputeScore` under 4, and you have a shortlist worth messaging.

#### 💰 Landed-cost modelling

`price`, `consignPrice`, `minOrderQuantity` and the full `quantityPrices` ladder give you the unit cost at every order size, so you can model margin at 100 units and at 5,000 before you commit to a supplier.

#### 📈 Trend and demand tracking

Run the same keywords daily and keep the history. `saleQuantity`, `monthlySales`, `gmv30Days` and `inquiryUsers` show which listings are gaining momentum, and `sponsored` tells you which suppliers are paying to be seen.

#### 🌏 Regional sourcing

Set the City filter to 义乌市 for small commodities, 深圳市 for electronics or 东莞市 for hardware, or read `province` and `city` on every row to map where a category is actually made.

### 🔌 Automating 1688 Scraper

Schedule a run and let the output flow where you work. Make and Zapier can move new rows into a spreadsheet, a database or a Slack channel the moment a run finishes. Airbyte can load the dataset into a warehouse for price history. A webhook can push results into GitHub or your own service, and Google Drive keeps a dated CSV of every run for auditing.

### 🌟 Beyond business use cases

- 🎓 **Research.** Study wholesale price ladders, supplier concentration by city and sponsored density across Chinese manufacturing categories with clean, repeatable data.
- 🏠 **Personal.** Find the factory behind a product you like and see what it costs at MOQ 1 with the dropship price.
- 🤝 **Non-profit.** Source supplies for a project directly from verified manufacturers, ranked by inspection status and service scores.
- 🧪 **Experimentation.** Offer IDs, images, attributes and price tiers make an easy foundation for product-matching models, arbitrage finders and sourcing assistants.

### 🤖 Ask an AI assistant about this scraper

> I am using the ParseForge 1688 Scraper on Apify. It returns one row per 1688.com wholesale offer with 46 fields, including price, consignPrice, minOrderQuantity, the quantityPrices tier ladder, saleQuantity, monthlySales, gmv30Days, inquiryUsers, offerRepurchaseRate, shopRepurchaseRate, six supplier scores (goods, logistics, consultation, dispute, return, composite), supplierName, supplierType, verifiedYears, factoryInspection, province, city, categoryId and a sponsored flag. It accepts Chinese or English search terms with sort, price band, category ID and city filters. Help me design a weekly pipeline that finds new factory-direct suppliers for my top 10 products and flags any whose dispute score or repurchase rate drops.

### ❓ Frequently Asked Questions

#### 🔑 Do I need a 1688 account, a cookie or an API key?

No. The Actor reads the public listing data 1688's own mobile front end loads. There is no login, no key and no cookie to paste.

#### 🈶 Can I search in English?

Yes. 1688 matches English keywords, though a Chinese keyword usually returns more offers: "yoga mat" reports 505 offers and 瑜伽垫 hits the 2,000 ceiling. Titles and tags come back in Chinese either way.

#### 📦 How many offers can I get from one search term?

Up to 2,000, which is the most 1688 serves for any query. For deeper coverage, split a broad keyword into narrower ones or add a category ID, a city or a price band.

#### ⚡ How fast is it?

The Actor reads 100 offers per request. 5 offers completed in 7 seconds and 300 offers in 17 seconds in the verification runs.

#### 🪜 Does it return the quantity price tiers?

Yes, in `quantityPrices`, whenever the supplier publishes them, for example 1~99 at 24.00, 100~499 at 23.80 and ≥500 at 23.50. A single-price listing returns an empty list.

#### ⭐ What are the six supplier scores?

1688 rates each supplier out of 5 on goods quality, logistics, consultation, dispute handling and returns, and publishes a composite rating. All six come back on every row.

#### 🏭 How do I tell a factory from a trading company?

`supplierType` reads Manufacturer, Wholesaler, Agent or Business Service with the Chinese original in brackets. `factoryInspection: Yes` means 1688 inspected the factory on site, and the 深度验厂 tag in `serviceTags` says the same.

#### 📣 Are sponsored offers included?

Yes, because they are real offers with real prices. Each is marked `sponsored: Yes` so you can filter them out or study them separately. Sponsored offers can ignore the price band; organic offers always respect it.

#### 🔎 How do I get the Category ID?

Run a keyword once and read `categoryId` on the rows. Put the one you want into the Category ID input and run again to restrict the search to it.

#### 🛡 Do I need a proxy?

Yes, residential, and it is the default. 1688 asks for a captcha after a few dozen calls from one IP, and datacenter IPs last about five calls. The Actor rotates proxy sessions automatically whenever that happens.

#### 🧾 Does it return product details, SKUs or the description?

No. 1688's product pages sit behind a slider captcha for automated clients. This Actor returns everything the search listing carries, including price tiers, attributes and the supplier profile, and links each row to its product page.

#### 💱 What currency are the prices in?

Chinese yuan (CNY), exactly as 1688 shows them. The price band inputs are in yuan too.

#### 🚫 A row has an error. What happened?

The term returned no offers, or 1688 refused the search after several session rotations. The row names the term and the reason, and the rest of the dataset stays intact.

#### 💾 What export formats are available?

CSV, Excel, JSON, XML, plus the Apify API and webhooks.

### 🔌 Integrate with any app

The dataset is available over the Apify API the moment a run finishes, so anything that speaks HTTP can consume it. Ready-made integrations cover Make, Zapier, Airbyte, Slack, Google Drive, GitHub, Google Sheets and Amazon S3, and webhooks can push each finished run straight into your own service.

### 🔗 Recommended Actors

- 🌏 [AliExpress Scraper](https://apify.com/parseforge/aliexpress-scraper) - the retail side of the same products, with ratings and order counts.
- 🏗 [Made-in-China Product Scraper](https://apify.com/parseforge/made-in-china-scraper) - the export-facing B2B marketplace, for cross-checking suppliers.
- 🛒 [Walmart Scraper](https://apify.com/parseforge/walmart-scraper) - US retail prices, sellers and UPCs to compare against your landed cost.
- 🔨 [eBay Scraper](https://apify.com/parseforge/ebay-scraper) - listings, prices, seller info and sold data for the same products.
- 🛋 [IKEA Scraper](https://apify.com/parseforge/ikea-scraper) - furniture catalogue with prices and variants across 63 markets.

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** this is an independent tool and is not affiliated with, endorsed by or connected to Alibaba Group or 1688.com. It collects only publicly available data.

# Actor input Schema

## `searchTerms` (type: `array`):

Keywords to search on 1688.com, one per line, in Chinese or English (手机壳, wireless earbuds). Each term is searched separately and paged until Max Items is reached. 1688 serves at most 2,000 offers per query, so split broad keywords or add a category, city or price band to go deeper.

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

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

Result order, as 1688's own sort menu.

## `minPrice` (type: `integer`):

Only return offers priced at or above this amount, in Chinese yuan.

## `maxPrice` (type: `integer`):

Only return offers priced at or below this amount, in Chinese yuan.

## `categoryId` (type: `string`):

1688 leaf category ID to restrict the search to, for example 1033246 (earphones). Every row returns its own categoryId, so run a keyword once, pick the category you want and run again with it.

## `city` (type: `string`):

Only return suppliers located in this city, written as 1688 writes it, for example 深圳市 (Shenzhen), 广州市 (Guangzhou), 义乌市 (Yiwu), 东莞市 (Dongguan).

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

Apify residential proxies are recommended. Datacenter IPs get about 5 calls before 1688 asks for a captcha.

## Actor input object example

```json
{
  "searchTerms": [
    "wireless earbuds"
  ],
  "maxItems": 10,
  "sortBy": "pop",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

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

Key fields: image, title, price, MOQ, sales, 30-day GMV, supplier, scores, location and sponsored flag

## `fullData` (type: `string`):

Complete dataset with all 46 fields

# 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 = {
    "searchTerms": [
        "wireless earbuds"
    ],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/1688-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 = {
    "searchTerms": ["wireless earbuds"],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/1688-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 '{
  "searchTerms": [
    "wireless earbuds"
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call parseforge/1688-scraper --silent --output-dataset

```

## MCP server setup

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