1688 Scraper - Wholesale Prices, MOQ & Suppliers
Pricing
from $1.60 / 1,000 product listings
1688 Scraper - Wholesale Prices, MOQ & Suppliers
1688.com scraper for China wholesale offers. Search by keyword or offer ID and export CNY price ladders, MOQ, sold counts, factory flags, images, and supplier location. 1688 API alternative for Python, Node.js, and MCP.
Pricing
from $1.60 / 1,000 product listings
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
1688 Scraper — Wholesale Prices, MOQ & Suppliers
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Alibaba Group or 1688. Data is read from publicly accessible pages only. No login. You are responsible for complying with applicable law and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.
Contact-data controls: This Actor does not collect supplier phone, WeChat, or inbox contacts. Output is offer, price, MOQ, and company-name fields published on public search cards and offer pages.
Crawloop China sourcing suite — 1688 factory offers, then Alibaba.com export PDPs and AliExpress retail comps.
| 1688 Scraper ◄── you are here | Alibaba Product Scraper | AliExpress Search Scraper |
|---|---|---|
| China wholesale offers, MOQ, factory flags | Alibaba.com FOB ladders & Gold suppliers | AliExpress retail search, sold count |
Also see: Europages Scraper · WLW Scraper · Amazon Search Scraper
1688 Scraper for Apify is a 1688.com scraper and 1688 API alternative. Search by Chinese or English keyword, or paste offer IDs / product URLs, and export CNY prices, MOQ ladders, sold counts, factory flags, images, and supplier location as JSON (CSV / Excel from the dataset).
Built for factory shortlists, dropship sourcing, Amazon FBA cost checks, and price monitoring. Run from the Console or scrape 1688 with Python, Node.js, cURL, or MCP / AI assistants. Fast HTTP path (curl_cffi + signed mobile search) — no headless browser and no 1688 account.
When to use this Actor
- You need a 1688 scraper or 1688 API alternative for wholesale offers
- You want keyword search (手机壳, wireless earbuds) or a tracked list of offer IDs
- You need MOQ ladders, sold volume, and factory vs trader signals
- You prefer a browser-free crawl on Apify with China residential proxy
When not to use this Actor
- Alibaba.com export listings — use Alibaba Product Scraper
- AliExpress retail — use AliExpress Search Scraper
- Reverse image search — not in this Actor
- Login-only shop catalogs / RFQ / chat — public offer data only; shop pages are often challenged
- Personal contacts — no phone, WeChat, or inbox harvesting
Key features
- 1688 API alternative — structured dataset instead of manual browsing
- Keyword search — Chinese queries return denser catalogs; English is accepted
- Offer URL / ID — refresh known products for monitoring
- Listing or detail — search cards by default; optional offer page for quantity prices, gallery, SKUs
- Sourcing filters — price band, MOQ ceiling, province, factory / super-factory
- Stable IDs —
offerId+ canonical URL for Scheduler / dedupe - Lightweight — 256 MB HTTP, Chrome TLS fingerprint, session rotate on challenge pages
Use cases
| Use case | What you get |
|---|---|
| Factory shortlist | Keyword results with price, MOQ, location, factory flags |
| Landed-cost check | Quantity-break prices from the offer page |
| Catalog refresh | Offer IDs in, updated sold count and price out |
| Region sourcing | Province filter (广东, 浙江) plus city substring |
| Dropship research | Sold volume and repurchase rate when published |
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | Array | ["手机壳"] | Keywords. Chinese first. |
offerUrls | Array | — | Public offer URLs |
offerIds | Array | — | Numeric offer IDs |
supplierUrls | Array | — | Shop URLs (best-effort; often challenged) |
sortBy | String | relevance | relevance, bestSelling, priceAsc, priceDesc |
priceMin / priceMax | Integer | — | CNY unit-price band |
minOrderQuantity | Integer | — | Maximum acceptable MOQ |
merchantType | String | any | any, superFactory, verifiedMerchant |
province / city | String | — | Chinese names (广东, 深圳) |
includeDetails | Boolean | false | Fetch offer page (price ladder, gallery) |
includeSkuDetails | Boolean | false | SKU matrix; implies details |
maxItems | Integer | 50 | Dataset cap |
maxPagesPerKeyword | Integer | 3 | ~20 offers per page |
requestDelayMs | Integer | 400 | Delay between HTTP calls |
proxyConfiguration | Object | CN residential | Recommended against challenge pages |
Example — keyword search
{"searchQueries": ["手机壳"],"maxItems": 50,"sortBy": "bestSelling","includeDetails": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "CN"}}
Example — offer IDs
{"offerIds": ["588600851175"],"includeSkuDetails": true}
Offer URL shape (inside JSON only):
{"offerUrls": [{ "url": "https://detail.1688.com/offer/588600851175.html" }]}
Output
One dataset row per offer. Search-only rows are recordType: listing. Offer pages are detail. Export JSON, CSV, or Excel from the default dataset.
| Field | Description |
|---|---|
offerId | Numeric 1688 offer ID |
url | Canonical offer URL |
title | Chinese title |
titleEn | English title when the page publishes one |
priceMin / priceMax | Unit price band in CNY |
quantityPrices | MOQ ladder (minQuantity, price) on detail rows |
minOrderQuantity | Minimum order quantity |
soldCount / soldText | Parsed and raw sold labels |
repurchaseRate | Repeat-buy percent |
images / imageUrl | Gallery |
supplier.companyName | Factory / company name |
supplier.isFactory / isSuperFactory | Trust signals |
province / city / location | Supplier region |
skuVariants | Spec / price / stock when enabled |
scrapedAt | ISO timestamp |
Example row
{"recordType": "listing","offerId": "588600851175","url": "https://detail.1688.com/offer/588600851175.html","title": "QC3.0充电器 无线充美规usb充电头 9v2a智能手机快充 18W快充欧规","currency": "CNY","priceMin": 6.8,"priceMax": 7.2,"minOrderQuantity": 20,"unit": "个","soldCount": 12000,"location": "广东省深圳市","supplier": {"companyName": "深圳豪诺天电子有限公司","isFactory": true}}
Integration examples
Replace YOUR_TOKEN with your Apify API token. Actor name: crawloop/1688-scraper.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('crawloop/1688-scraper').call({searchQueries: ['手机壳'],maxItems: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("crawloop/1688-scraper").call(run_input={"searchQueries": ["手机壳"], "maxItems": 50})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/crawloop~1688-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries":["手机壳"],"maxItems":50}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store ID crawloop/1688-scraper.
Example prompts:
- "Run crawloop/1688-scraper for keyword 手机壳, max 20 rows, and return offerId, priceMin, MOQ, and company name"
- "Scrape these 1688 offer IDs with crawloop/1688-scraper and include SKU variants"
- "After the 1688 factory shortlist, run Alibaba Product Scraper for export FOB ladders, then AliExpress Search Scraper for retail comps"
Suite next step
After a China factory shortlist, pull the same products’ export PDPs with Alibaba Product Scraper, or retail sold-count comps with AliExpress Search Scraper. For EU manufacturer alternatives, use Europages Scraper or WLW Scraper.
FAQ
Do I need a 1688 login?
No. Keyword search uses the public mobile search gateway. Offer pages are public HTML. Shop catalogs often show a challenge page — those rows are skipped.
Why Chinese keywords?
The catalog is Mandarin. 手机壳 returns far more offers than phone case. Keep English as a second query if you want both result sets.
Can I scrape 1688 with Python or Node.js?
Yes. Use the Apify client examples above, or call the Actor from an MCP-capable assistant. The dataset is JSON; download CSV or Excel from the run.
Listing vs detail?
Default search cards are enough for shortlists (title, price, sold, company). Turn on includeDetails when you need the MOQ price ladder, gallery, or factory card type. includeSkuDetails adds the spec matrix.
Why residential CN or HK?
A few search calls may succeed from datacenter IPs. Volume runs hit a challenge page (x5sec / TMD). China or Hong Kong residential is the reliable path.
Does this scrape Alibaba.com?
No. 1688 is the China-domestic wholesale site. Export B2B listings live on a different domain.
Are empty runs billed per product?
Failed, filtered, and captcha rows are not charged as products. Configure Actor start in Console so a zero-result tick is still covered.
Related Actors
- Alibaba Product Scraper — Alibaba.com FOB ladders, MOQ, Gold / Verified
- AliExpress Search Scraper — AliExpress retail search cards
- Europages Scraper — Europe B2B companies
- WLW Scraper — DACH B2B companies
- Amazon Search Scraper — Amazon search listings
- Mercado Libre Listings Scraper — LATAM marketplace listings