# 1688 Supplier Scraper — Full Shop Catalog & Supplier Profile (`sourcelab/1688-supplier-scraper`) Actor

Scrape every product of a 1688.com supplier shop (prices, MOQ, sales, images) plus the supplier profile (company, founding date, verification, scores). Input: shop URL, member ID or any product ID. No login. Pay per product.

- **URL**: https://apify.com/sourcelab/1688-supplier-scraper.md
- **Developed by:** [Roudaut Romain](https://apify.com/sourcelab) (community)
- **Categories:** E-commerce
- **Stats:** 3 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.05 / 1,000 catalog 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 Supplier Scraper — Full Shop Catalog & Supplier Profile

Get **every product of a 1688.com supplier** and the **supplier's profile** in one run. Paste a shop URL, a member ID (`b2b-…`) or any product of the shop — the Actor resolves the supplier and walks its whole catalog, newest first or best-selling first. No login, no Chinese phone number.

**You pay per product delivered (and one small event per supplier profile)**, plus a $0.00005 start fee per run.

### What you get

**Supplier profile** (`type: "supplier"`): company name, founding date, Trade Pass years, strength verification, buyer retention rate, address, certificates, business models, shop URL.

**Products** (`type: "product"`): offer ID, title, price, MOQ, tiered prices, sales (total and 30 days), creation date, shipping promise (hours), images, URL. Turn on *Fetch full product detail* to add the SKU matrix with stock, packaging weight and size, supplier scores and the full gallery.

### Typical uses

- Audit a factory before ordering: catalog size, newest products, what sells.
- Track a competitor's supplier: run weekly with *Newest first* and diff the dataset.
- Build a product feed from a verified factory without browsing 1688 in Chinese.

### How much does it cost?

Pay per event: you pay only for results delivered. Platform usage (compute, residential proxy) is included. Failed, blocked or removed items are never charged.

| What you get | Event | Price | Per 1,000 |
|---|---|---|---|
| Supplier profile | `supplier` | $0.0029 | $2.90 |
| Catalog product row | `listing` | $0.0015 | $1.50 |
| Product with full detail (`fetchDetails` on) | `product` | $0.0049 | $4.90 |
| Actor start | `apify-actor-start` | $0.00005 per GB of memory, once per run | — |

Example: one shop with 100 catalog rows ≈ $0.0029 + 100 × $0.0015 = **$0.15**.

Set a maximum cost per run when you start the Actor (Console or API): it stops cleanly when the limit is reached.

### Input example

```json
{
  "shops": [
    "https://m.1688.com/winport/b2b-222000627440720df0.html",
    "b2b-35345497994841a",
    "https://detail.1688.com/offer/905559094884.html"
  ],
  "maxProductsPerShop": 100,
  "sortBy": "newest",
  "fetchDetails": false
}
```

### Output example

Real output from a run on 13 Oct 2026 (one supplier row and one product row, selected fields):

```json
[
  {
    "type": "supplier",
    "memberId": "b2b-222000627440720df0",
    "companyName": "东莞市强奥琳科技有限公司",
    "foundingDate": "2025年06月13日",
    "tradePassYears": 2,
    "retentionRate": "0.393757757202755",
    "address": {
      "province": "广东省",
      "city": "东莞市",
      "contry": "东莞市",
      "class": "com.alibaba.cbu.winport.wireless.api.etl.model.BaseAddressModel"
    },
    "certificates": [],
    "shopUrl": "https://m.1688.com/winport/b2b-222000627440720df0.html"
  },
  {
    "type": "product",
    "memberId": "b2b-222000627440720df0",
    "offerId": "1092038408359",
    "title": "华强北无线蓝牙耳机2026新款七代高音质蓝牙耳机跑步运动蓝牙耳机",
    "priceMin": 7.99,
    "currency": "CNY",
    "moq": 1,
    "sales": 0,
    "createdAt": "2026-10-11T07:01:00.000Z",
    "shipsWithinHours": 48,
    "imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01Q99uP11iQSaGDKYkm_!!2220006274407-0-cib.jpg",
    "imageUrls": [
      "https://cbu01.alicdn.com/img/ibank/O1CN01Q99uP11iQSaGDKYkm_!!2220006274407-0-cib.jpg"
    ],
    "url": "https://detail.1688.com/offer/1092038408359.html"
  }
]
```

### FAQ

**Do I need an account on the marketplace?**
No. The Actor reads public pages and endpoints: no login, no cookies, no phone number.

**What can I paste as a shop?**
A shop URL (`https://shopXXXX.1688.com`, `https://m.1688.com/winport/b2b-….html`), a member ID (`b2b-…`), or any product URL / offer ID of that shop.

**What currency are prices in?**
CNY (Chinese yuan), as published on 1688.

**How long does a big shop take?**
Catalogs are read 20 products per page; a 2,000-product shop takes a few minutes. Use *Max products per shop* to stop earlier.

**Can I run it on a schedule or from my code?**
Yes. Schedule it in Apify Console, call it through the Apify API (JavaScript, Python, HTTP), or connect it to Make, Zapier, n8n or Google Sheets. Export as JSON, CSV or Excel.

### Limits

Catalogs are paginated 20 by 20; a 2 000-product shop takes a few minutes. Residential proxies are used by default. Public marketplace data only, no personal data.

### Chain it with

| Take this output field | Feed it to | Input field |
|---|---|---|
| `imageUrl` / `imageUrls[0]` | [1688 Image Search](https://apify.com/sourcelab/1688-image-search) | `imageUrls` (find competing factories for the same product) |
| `url` (or `offerId`) | [1688 Wholesale Scraper](https://apify.com/sourcelab/1688-wholesale-scraper) | `offerIds` |

Values are accepted exactly as this Actor outputs them (full URL or bare ID). In code, start the next Actor with the dataset of this run, or use an Apify integration (*Actor-to-Actor*) to chain them automatically.

#### More SourceLab scrapers

- **[1688 Wholesale Scraper](https://apify.com/sourcelab/1688-wholesale-scraper)** — find suppliers first: search 1688 by keyword, then pass their shop to this Actor for the full catalog.
- **[1688 Image Search](https://apify.com/sourcelab/1688-image-search)** — start from a photo: find the 1688 suppliers selling a product, then scrape their whole catalog here.
- **[Alibaba.com Product Scraper](https://apify.com/sourcelab/alibaba-product-scraper)** — the export side of Chinese factories: USD quantity price tiers, MOQ, lead times, certifications and supplier credentials on Alibaba.com.
- **[Taobao & Tmall Product Scraper](https://apify.com/sourcelab/taobao-product-scraper)** — compare with Chinese retail on Taobao & Tmall: current price, seller DSR scores and credit level, rating breakdown.
- **[AliExpress Scraper](https://apify.com/sourcelab/aliexpress-product-scraper)** — check the retail price abroad: per-variant price and stock, shipping fees and delivery days to your country, review summary.
- **[Temu Product Scraper](https://apify.com/sourcelab/temu-product-scraper)** — see what similar products sell for on Temu in 20 countries: price, rating, units sold and discount from category pages.
- **[JD.com Product Scraper](https://apify.com/sourcelab/jd-product-scraper)** — compare with China's B2C retail on JD.com: real CNY price (when confirmed), UPC barcode, specification table, self-operated flag.

# Actor input Schema

## `shops` (type: `array`):

One per line: a shop URL (https://shopXXXX.1688.com/…, https://m.1688.com/winport/b2b-….html), a member ID (b2b-…), or any product URL / offer ID of the shop (the supplier is resolved from the product).

## `maxProductsPerShop` (type: `integer`):

Upper bound per shop. You are charged only for products delivered.

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

Order of the shop catalog.

## `fetchDetails` (type: `boolean`):

Open each product page for tiered prices, SKU matrix with stock, packaging and supplier scores (slower, 'product' event instead of 'listing').

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

1688 blocks datacenter IPs. Residential proxies are required.

## Actor input object example

```json
{
  "shops": [
    "https://m.1688.com/winport/b2b-222000627440720df0.html"
  ],
  "maxProductsPerShop": 100,
  "sortBy": "newest",
  "fetchDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `products` (type: `string`):

No description

## `suppliers` (type: `string`):

No description

## `stats` (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 = {
    "shops": [
        "https://m.1688.com/winport/b2b-222000627440720df0.html"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("sourcelab/1688-supplier-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 = { "shops": ["https://m.1688.com/winport/b2b-222000627440720df0.html"] }

# Run the Actor and wait for it to finish
run = client.actor("sourcelab/1688-supplier-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 '{
  "shops": [
    "https://m.1688.com/winport/b2b-222000627440720df0.html"
  ]
}' |
apify call sourcelab/1688-supplier-scraper --silent --output-dataset

```

## MCP server setup

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