1688 Wholesale Scraper - Prices, MOQ & Suppliers avatar

1688 Wholesale Scraper - Prices, MOQ & Suppliers

Pricing

Pay per event

Go to Apify Store
1688 Wholesale Scraper - Prices, MOQ & Suppliers

1688 Wholesale Scraper - Prices, MOQ & Suppliers

A 1688 offer prices in steps rather than once, and that whole quantity ladder comes back with the offer id, title, unit price, minimum order quantity, supplier company, service rating, image and URL. No account, no Chinese proxy. $0.35 per 1,000 products.

Pricing

Pay per event

Rating

5.0

(1)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

1

Bookmarked

12

Total users

0

Monthly active users

3 days ago

Last modified

Share

1688 Wholesale Scraper

Searches 1688.com, Alibaba's domestic Chinese wholesale marketplace, and returns structured product rows: offer ID, title, unit price, the quantity price ladder, minimum order quantity, the supplier company, sales counts, the seller's service rating, image and product URL.

No 1688 account, no cookies, no captcha to solve, no proxy of your own. Type a search term, get rows.

Price

$0.00035 per product, which is $0.35 per 1,000, plus $0.001 to start a run. Flat rate, no volume tiers, no minimum spend. You're charged per product row returned, so a run that finds nothing costs only the start fee, and diagnostic rows are never charged.

A single run returns at most 1,000 rows, so the most one run can cost you is about $0.35.

What a row looks like

Real output from a run on 手机壳 (phone case):

{
"offerId": "703527144777",
"productId": "703527144777",
"title": "拍照按键精孔全包透明磁吸手机壳适用苹果18promax二合一保护套17",
"productUrl": "https://detail.1688.com/offer/703527144777.html",
"price": 3.8,
"priceMin": 3.8,
"priceMax": 3.8,
"currency": "CNY",
"priceTiers": [],
"minOrderQuantity": 1,
"unit": "个",
"salesCount": 76856,
"repeatPurchaseRate": "25%",
"rating": 4,
"ratingBreakdown": {
"goods": 1.33, "logistics": 3.57, "consultation": 3, "dispute": 5, "afterSales": 5
},
"supplierName": "东莞市恒讯精密塑胶模具有限公司",
"supplierUrl": "https://m.1688.com/winport/b2b-22146199815861d947.html",
"supplierProvince": "广东",
"supplierCity": "东莞市",
"supplierYears": 5,
"supplierId": "b2b-22146199815861d947",
"businessType": "生产加工",
"isFactory": true,
"buyerProtections": ["7天包换", "48小时发货", "诚e赊"],
"imageUrl": "https://cbu01.alicdn.com/img/ibank/…jpg",
"isAd": false,
"searchKeyword": "手机壳",
"page": 1,
"position": 2,
"scrapedAt": "2026-08-21T16:23:42.297Z"
}

The price ladder is why most people scrape 1688. price is what one unit costs at the smallest order; priceTiers is the discount schedule as the order grows, like [{minQuantity: 1, maxQuantity: 499, price: 1.5}, {minQuantity: 500, …, price: 1.2}]. priceMin and priceMax are the ends of that ladder, so you can sort by best-case unit cost without unpacking it.

Field coverage

Measured over a real 500-row run:

FieldPresent
offerId, title, price, productUrl, minOrderQuantity, unit100%
salesCount, repeatPurchaseRate, rating, ratingBreakdown100%
supplierName, supplierId, supplierYears, imageUrl100%
buyerProtections99%
supplierProvince, supplierCity98%
businessType85%
priceTiers74%

priceTiers is empty on the rest because those sellers list one flat price with no quantity breaks. An empty array is the honest answer there, so no tier gets invented. Missing values are null, never a guess.

Input

FieldWhat it does
searchTermsSearch terms, one per line. Both languages work, but Chinese terms match far more of the catalogue: 手机壳 returns a fuller set than "phone case".
startUrlsOr paste 1688 search URLs. 1688 encodes its URLs as GBK rather than UTF-8; this decodes them correctly.
maxItemsTotal products across all terms. Default 40, hard maximum 1,000.
sortByrelevance (default), priceAsc, priceDesc.
minPrice / maxPriceBounds in CNY.
requestDelayMsGap between requests. Default 1500. Raise it if a run stops early with a BLOCKED row.
{
"searchTerms": ["手机壳", "连衣裙"],
"maxItems": 500,
"sortBy": "priceAsc",
"maxPrice": 50
}

Run it with no input and you get one labelled sample row, uncharged, so you can see the shape before spending anything.

Limits

Read this part before you build on it.

  • 1,000 rows per run. That's this actor's cap. 1688 itself stops serving a given keyword at around 2,000 offers however you page through it, so for a wide pull, use more terms across more runs — narrower terms return different products, not the same ones again.
  • No best-selling sort. 1688 accepts one and then returns salesCount: 0 on every row it hands back — 100 of 100, against 96 of 100 on relevance. Offering it would mean giving you a sales ranking with no sales figures in it.
  • Prices are CNY, ex-factory. No shipping, no tax, no export handling. It's what a domestic Chinese buyer pays at the warehouse door.
  • Some rows are paid placements. They're real listings and carry isAd: true, so you can filter them instead of wondering.
  • No per-product detail fetch. Everything above comes out of the search response, which is why a 1,000-row pull is about 20 requests instead of 1,020. Full specification tables and description images live on the product page and aren't included.
  • Titles and supplier names are Chinese, returned verbatim and untranslated.
  • minOrderQuantity: 0 means the seller stated no minimum, not that the field is missing.

FAQ

Do I need a 1688 or Alibaba account? No. Nothing to log into and nothing to solve.

Do I need Chinese proxies? No. See "How it works" below.

How fast is it? It varies with how hard 1688 is throttling that day. A 300-product run took 39 seconds; a 250-product one on a slower day took 82. Rows come 50 to a request, so the 1,000-row cap is about 20 requests.

Can I search in English? Yes, and you get real results. Chinese terms return substantially more, because that's how sellers write their titles.

Is 1688 the same as Alibaba.com? No. Alibaba.com is the English-language export site. 1688 is the domestic Chinese one, generally with lower prices and lower minimum orders, aimed at buyers inside China.

Can I export to CSV or Excel? Yes. Apify exports the dataset as JSON, CSV, Excel or XML, with a REST endpoint for the same data.

Is this affiliated with 1688 or Alibaba? No. It reads public listing data. Check 1688's terms and your own local rules before using the output commercially.

How it works

1688's website sits behind Alibaba's "punish" gate and it's aggressive. A US datacenter address gets challenged on the first request. Renting mainland-Chinese addresses doesn't fix it either: five Guangdong addresses tested against the search page ran clean for two or three requests each, then returned a challenge page on everything afterwards, still blocked half an hour later.

So this doesn't touch the website. It talks to the JSON API behind 1688's mobile site, which is a different gate entirely — the same addresses that were permanently blocked on the search page answer it normally, and an ordinary datacenter address runs forty-odd pages without a challenge. No browser is launched, no Chinese IP is rented, and no residential bandwidth is billed. That's what makes $0.35 per 1,000 work.