1688 Wholesale Scraper [Only $1] Keyword & Photo Search
Pricing
from $1.00 / 1,000 offer scrapeds
1688 Wholesale Scraper [Only $1] Keyword & Photo Search
[Only $1 per 1000 offers] Search 1688.com by keyword (English is translated to Chinese), by photo, or paste any offer URL or ID. Each row: tier pricing, MOQ, supplier, location, USD price and images. Filter by price, MOQ and province before you are billed. No login.
Pricing
from $1.00 / 1,000 offer scrapeds
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
38
Total users
6
Monthly active users
19 hours ago
Last modified
Categories
Share
1688 Wholesale Scraper — Tier Pricing, MOQ & Supplier Data
Extract structured wholesale offers from 1688.com (Alibaba's China B2B marketplace) at scale — quantity-break tier pricing, minimum order quantity (MOQ), supplier company, location, trade-service scores, SKU attributes and image galleries — by keyword or from any offer URL or offer ID. No login, no cookies, no browser. Clean JSON or CSV out.
中文说明
1688 批发商品数据采集,无需登录、无需 Cookie、无需浏览器。 支持关键词搜索(英文关键词自动翻译成中文)、以图搜货(上传商品图片链接)、批量粘贴商品链接或商品 ID:
- 价格:阶梯批发价(起批量 → 单价)、起订量(MOQ)、单位、美元参考价
- SKU:每个颜色、尺码、型号的规格组合,单独的价格或促销价、库存和图片(开启
includeSkuDetails) - 详情页:可售库存、已售数量、想买人数、混批规则、是否支持一件代发、预售、商品视频、服务保障(7天无理由退货、晚发必赔等)、商品属性、全部图片(开启
scrapeDetails) - 商品详情描述:纯文本和描述图片(开启
includeDescription) - 供应商:公司名称、店铺链接、所在省市、生产加工或经销批发、超级工厂、实力工厂验厂、诚信通年限、回头率、服务评分;可另外输出供应商列表(
includeSupplierList) - 筛选:价格区间、最大起订量、省份/城市、只看生产厂家、排除广告、标题排除词(
excludeKeywords)。被筛掉的商品不收费
输入示例:
{"searchQueries": ["手机壳", "yoga mat"],"includeSkuDetails": true,"locations": ["广东"],"maxMoq": 10,"maxItems": 200}
主要输出字段:offerId、title、offerUrl、priceValue、tierPricing、moq、supplierName、location、bizType、stock、mixedBatch、supportsDropship、variantAxes、variants(skuId、label、attributes、price、discountPrice、stock)。
价格:每 1,000 条商品 $1,每次运行启动费 $0.005。SKU、详情页和描述不额外收费,被筛掉的商品不收费。
Why use this 1688 Wholesale Scraper?
- Search by keyword — hand it
手机壳or蓝牙音箱and get up to 2,000 offers per keyword, each with tier pricing, MOQ, supplier, location and trade-service scores read straight off the search card. - Search by photo — give a product photo from Amazon, AliExpress, Shopify or your own camera and get the 1688 factories and wholesalers selling it.
- English keywords work —
yoga matis translated to瑜伽垫before the search, and every offer also carries a USD price. - Or paste any 1688 link or ID — desktop
detail.1688.compages, mobilem.1688.compages and bare numeric offer IDs, in any mix, normalized for you. - Every SKU, priced and stocked — turn on Include SKU variants and each offer carries its variant matrix: colours, sizes and models with every axis named apart, the variant's own price or promotional price, its stock and its image.
- Stock, dropship and mixed-batch terms — detail pages add units in stock, exact units sold, the 混批 rule (mix N offers or spend ¥X), one-piece dropshipping (一件代发), pre-sale, the product video and the buyer-protection services.
- Sourcing-grade data — the full tier-pricing ladder (buy N+ → price each), MOQ, unit, supplier company, storefront, location, repurchase rate and factory inspection status, not just a single price.
- Sort the way you source — by 1688's default relevance, by most orders, or by unit price low-to-high or high-to-low.
- Built for scale — residential-proxy rotation, a fresh session per block of requests, and automatic retry through 1688's x5sec anti-bot.
- Filter before you pay — narrow by unit price, MOQ, supplier province or city, manufacturers only, no ads, and words the title must not contain. Excluded offers never reach your dataset, so you are not billed for them.
- One clean row per offer at $1 per 1,000 — you pay per result, never for padding.
Overview
1688.com is Alibaba's domestic Chinese wholesale marketplace — the source behind a huge share of what's resold on AliExpress, Amazon, eBay and independent stores. This scraper turns 1688 keyword searches, offer links and IDs into structured data you can use for wholesale sourcing, dropshipping product research, price and MOQ comparison, supplier discovery, and cross-border arbitrage.
It runs on a pure HTTP stack (no headless browser). Keyword search reads the same JSON listing API that 1688's own search results page loads its offers from, and offer pages are read off the window.__INIT_DATA blob 1688 embeds in its mobile pages. Everything comes back as tidy JSON/CSV — fast and cheap. Chinese text (titles, attributes, supplier names) is preserved exactly as published.
Filtering, and what it costs you
Sourcing runs are mostly about throwing away offers: wrong price band, MOQ too high, supplier on the other side of the country. Doing that after the fact means paying for rows you delete.
Three filter inputs run inside the scraper instead:
| Filter | Read from | Effect |
|---|---|---|
priceMin / priceMax | unit price on the card | Offer is dropped before it is pushed |
locations | supplier location | Same — matches province or city as a substring |
manufacturersOnly | supplier business type | Keeps only manufacturers (生产加工, super factories, inspected factories) and drops traders before billing |
maxMoq | MOQ from the card's quantity ladder | Same, before the offer is pushed |
Two details worth knowing. An offer with no price on it is kept, not dropped, because silently discarding it would shrink a filtered run in a way you cannot account for. And on a keyword search, five pages in a row matching none of your filters stop that query and say so, rather than paging through the whole catalogue burning requests for nothing.
When you give a single province or city in locations, 1688 narrows the search itself,
so a page is not even spent fetching offers the filter would drop. priceMin / priceMax
are also handed to 1688, then re-checked on our side, because 1688 applies a price band loosely.
Supported inputs
| Input type | Example | Status |
|---|---|---|
| Keyword | 手机壳 (phone cases), 蓝牙音箱 (bluetooth speakers), or any keyword | Works |
| Keyword-search URL | https://s.1688.com/selloffer/offer_search.htm?keywords=手机壳 | Works |
| Offer / detail URL | https://detail.1688.com/offer/629791812713.html | Works |
| Mobile offer URL | https://m.1688.com/offer/629791812713.html | Works |
| Bare offer ID | 629791812713 | Works |
Chinese keywords return more and better matches than English ones, since 1688 is a domestic
Chinese marketplace, so English search queries are translated to Chinese before the search
(translateKeywords, on by default). Every offer also carries priceUsd, its price at the
run's daily CNY→USD reference rate. A pasted search URL has its keyword read out first, including the
GBK-encoded keywords that s.1688.com links carry, and its page number is kept, so the run
picks up where you were looking.
Use cases
- Wholesale sourcing — search a keyword and compare tier pricing and MOQ side by side across hundreds of offers.
- Dropshipping & reselling research — trace which 1688 offers back AliExpress/Amazon listings and at what wholesale cost.
- Price & margin analysis — pull the full quantity-break ladder to model landed cost at different order sizes.
- Supplier discovery — collect supplier company names, trading years, locations and trade-service scores for outreach.
- Catalog building — pull titles, attributes, images and prices for thousands of offers.
- Price monitoring — re-run the same keywords or offer IDs on a schedule and watch tier pricing and MOQ move.
How it works
- You provide keywords, 1688 offer URLs, or bare offer IDs — in any mix.
- Keywords are searched through 1688's own listing API (the one its results page calls), 100 offers a page, up to 2,000 per keyword. Each card already carries tier pricing, MOQ, supplier, location and trade-service scores.
- Offer URLs and IDs are normalized to the canonical mobile offer URL and fetched on a fresh residential session; the
window.__INIT_DATAblob 1688 embeds in the page is read for tier pricing, MOQ, supplier, SKU attributes and the image gallery. - Your filters drop the offers you excluded, before anything reaches the dataset.
- Every offer that survives is written as one clean row, up to your Max items limit.
Input configuration
| Field | Type | Description |
|---|---|---|
searchQueries | array | Keywords to search on 1688. Each is searched separately; results carry a sourceQuery field. |
startUrls | array | Offer / detail URLs, search URLs, or bare offer IDs — an alternative or addition to keywords. |
sortBy | string | Order of a keyword search: default, sales (most orders), priceAsc, priceDesc. Ignored for offer URLs. |
scrapeDetails | boolean | Also fetch each search offer's detail page for product attributes, the full image gallery, delivery terms, stock, exact units sold, the mixed-batch rule, dropship support, video and services. Offer URLs/IDs already come from the detail page. Default false. |
includeSkuDetails | boolean | Adds variantAxes and variants: every SKU with its axis values, skuId, own price or promo price where it has one, and stock. One extra request per offer, no extra charge. Works with or without detail pages. Default false. |
includeDescription | boolean | Adds the seller's long description as descriptionText plus descriptionImages. Turns on detail pages for the run. Default false. |
excludeKeywords | array | Drop offers whose title contains any of these words (Chinese or English, case-insensitive), e.g. ["电夹板"]. Dropped offers are not billed. |
priceMin / priceMax | integer | Unit-price band in CNY. Excluded offers are never pushed, so you are not billed for them. |
maxMoq | integer | Keep offers with MOQ at or below this. Read from the search card, so it needs nothing switched on. |
locations | array | Supplier province/city substrings to keep, e.g. ["广东", "浙江"]. A single value also narrows the search on 1688. |
manufacturersOnly | boolean | Keep only offers from manufacturers: 生产加工 suppliers, super factories (超级工厂) and on-site inspected factories. |
includeSupplierList | boolean | After the offers, one type: "supplier" row per supplier behind them: name, location, manufacturer or trader, factory badges, years on 1688, repurchase rate, service scores, offers in the run, lowest price and up to 5 sample offers. Billed per row like an offer. |
translateToEnglish | boolean | Adds titleEn and supplierNameEn, machine-translated from Chinese. The originals stay in title and supplierName. |
translateKeywords | boolean | Default on. English search queries are translated to Chinese before searching (yoga mat → 瑜伽垫); rows keep the Chinese one in sourceQuery and yours in sourceQueryOriginal. Acronyms like LED are searched as typed. |
excludeAds | boolean | Leave out sponsored offers (isAd: true). Skipped offers are not billed. |
imageUrls | array | Image search: links to product photos (.jpg, .png, .webp, up to 5 MB), e.g. from Amazon, AliExpress or Shopify. Each photo returns the 1688 offers that look like it, 100 a page; rows carry the photo in sourceImageUrl. Billed per offer like a keyword search. |
maxItems | integer | Hard cap on offers returned across all keywords and URLs. Default 100. |
proxy | object | Proxy config. Residential is the default and required; 1688 blocks datacenter IPs. |
Output overview
Each offer is one dataset row. A keyword-search row carries everything on the card — tier-pricing ladder, MOQ, unit, supplier company and storefront, location, repurchase rate, trade-service scores and whether the placement was an ad. An offer URL or ID row is read off that offer's own detail page, which adds the full SKU attribute map, the complete image gallery and delivery terms. Turn on Scrape offer detail pages to add those detail-page fields to search results too.
Supplier list (factory and wholesaler view)
With includeSupplierList the run ends with one row per supplier, most offers first:
{"type": "supplier","supplierName": "东莞市造物集电子科技有限公司","supplierNameEn": "Dongguan Zaowuji Electronic Technology Co., Ltd.","location": "广东东莞市","businessType": "生产加工","isManufacturer": true,"superFactory": false,"factoryInspection": false,"offersInRun": 3,"lowestPriceCny": 6.3,"sampleOffers": [{ "offerId": "…", "title": "…", "offerUrl": "…", "priceValue": 6.3 }]}
Output samples
A keyword-search row, from a search for 手机壳:
{"offerId": "1055568943029","title": "跨境新款DIY实木木纹墨水屏手机壳NFC投屏高清适用于苹果13-17","offerUrl": "https://m.1688.com/offer/1055568943029.html","image": "https://cbu01.alicdn.com/img/ibank/O1CN01kYNu0V2E44xNplV5D_!!3972768690-0-cib.jpg","price": "¥175","priceValue": 175,"currency": "CNY","tierPricing": [{ "minQuantity": 5, "unitPrice": 175 }],"moq": 5,"unit": "个","soldCount": "已售40+件","bookedCount": 1,"repurchaseRate": "68%","supplierName": "深圳市龙岗区毅晨工艺品商行","supplierId": "b2b-39727686906d310","supplierLoginId": "毅晨工艺品商行","supplierYears": "9","location": "广东深圳市","province": "广东","city": "深圳市","bizType": "生产加工","serviceScores": { "composite": 4.5, "goods": 3, "logistics": 4.14, "consultation": 4, "dispute": 5, "returns": 4.33 },"serviceTags": ["退货包运费", "先采后付"],"isAd": false,"sourceQuery": "手机壳","scrapedAt": "2026-09-15T11:12:00.000Z"}
An offer-URL row, from https://detail.1688.com/offer/629791812713.html. attributes and images
are cut short here; the run returns 20 attributes and 15 images.
{"offerId": "629791812713","title": "适用苹果17promax液态硅胶手机壳魔方直边16全包边IP 17AIR保护套","offerUrl": "https://m.1688.com/offer/629791812713.html","price": "¥2.00 ~ ¥3.50","priceValue": 2,"currency": "CNY","tierPricing": [{ "minQuantity": 2, "unitPrice": 3.5 },{ "minQuantity": 1000, "unitPrice": 3 },{ "minQuantity": 55555, "unitPrice": 2 }],"moq": 2,"unit": "pcs","supplierName": "深圳市龙岗区维特欣通讯电子工厂店(个体工商户)","supplierUrl": "https://winport.m.1688.com/page/index.html?memberId=b2b-336466488825790","location": "广东深圳","categoryId": "1042207","attributes": { "材质": "硅胶", "工艺": "植绒", "款式": "后盖式", "适用机型": "苹果" },"images": ["https://cbu01.alicdn.com/img/ibank/O1CN016ZIDPw1lykjFCKyeK_!!3364664888-0-cib.jpg"],"delivery": "承诺48小时发货·常发圆通快递","sourceQuery": null,"scrapedAt": "2026-09-13T11:30:46.266Z"}
With Include SKU variants on, the same row also carries its variant matrix (trimmed to two variants):
{"offerId": "927875250705","stock": 5683370,"variantAxes": [{ "name": "颜色", "options": [{ "name": "墨绿色", "image": "https://cbu01.alicdn.com/img/ibank/O1CN016rQrro1nbybBbOKko_!!2850655109-0-cib.jpg" }] },{ "name": "适用型号", "options": [{ "name": "iPhone15Pro Max", "image": null }, { "name": "iPhone13Pro Max", "image": null }] }],"variants": [{"skuId": "6040630947501","specId": "a5c3fd9d419073f5a48ac0ebba19e734","label": "墨绿色>iPhone15Pro Max","attributes": { "颜色": "墨绿色", "适用型号": "iPhone15Pro Max" },"price": null,"discountPrice": 7.04,"stock": 16888,"soldQuantity": null,"image": "https://cbu01.alicdn.com/img/ibank/O1CN016rQrro1nbybBbOKko_!!2850655109-0-cib.jpg"}]}
Key output fields
| Field | Description |
|---|---|
offerId | 1688 offer ID |
title | Offer title (original Chinese) |
offerUrl | Canonical offer URL |
price / priceValue | Price or price range (formatted) + lowest numeric unit price |
currency | Currency code (CNY) |
tierPricing | Quantity-break ladder: { minQuantity, unitPrice }[] |
moq | Minimum order quantity |
unit | Pricing unit, e.g. 个, pcs |
soldCount | Units sold, e.g. 已售40+件 |
bookedCount | Orders booked (search card) |
repurchaseRate | Shop repurchase rate 回头率 (search card) |
supplierName / supplierUrl | Supplier company + storefront |
supplierYears | Years of 1688 TrustPass membership (search card) |
location / province / city | Supplier location |
bizType | 生产加工 (manufacturer) or 经销批发 (trader) (search card) |
serviceScores | Trade-service scores out of 5 (search card) |
serviceTags | Service pills: 退货包运费, 先采后付, 一件代发, … (search card) |
isAd | Paid placement rather than an organic result (search card) |
attributes | SKU attribute map (material, style, model, …) (detail page) |
images | Full image gallery (detail page) |
stock / soldQuantity / wantBuyCount | Units in stock, units sold, buyers who want it (detail page) |
mixedBatch | { supported, minKinds, minAmount }: the shop's 混批 rule (detail page) |
supportsDropship / isPreSell | One-piece dropshipping (一件代发), pre-sale (detail page) |
videoUrl / services | Product video, buyer-protection services (detail page) |
variantAxes | Axes and options with images, e.g. 颜色: 黑色, 白色 (includeSkuDetails) |
variants | { skuId, specId, label, attributes, price, discountPrice, stock, soldQuantity, image }[] (includeSkuDetails) |
descriptionText / descriptionImages | The long description (includeDescription) |
Coming from another 1688 scraper?
| What buyers ask for | This actor |
|---|---|
| Price per 1,000 products | $1, with SKU variants, detail pages and descriptions included in that price, plus $0.005 when a run starts. |
| Several keywords in one run | Yes, on every plan. Each row says which keyword found it (sourceQuery, and sourceQueryOriginal when it was translated). |
| A MOQ filter that holds | maxMoq is checked on the search card, and again on the detail page when one is opened, before the row is saved. An offer over the limit is never billed. |
| More than 20 products per keyword | Up to 2,000 per keyword, 1688's own cap, 100 a page. |
| SKU variants with their own price and stock | includeSkuDetails: every axis value named apart, skuId, price or promo price, stock and image per variant. |
| Search by photo | imageUrls: a photo from Amazon, AliExpress or your camera returns the 1688 offers that match it. |
| English keywords | Translated to Chinese before the search; titles and supplier names can come back in English too. |
| A run that stalls with no message | Every refused page is retried on a new IP and counted. A run that ends empty says whether 1688 refused it, the search matched nothing, or your filters removed everything. |
| A supplier shortlist | includeSupplierList adds one row per supplier behind the offers, with no cap on how many suppliers. |
Field names differ from other 1688 actors: offers are keyed by offerId, the price ladder is tierPricing, the MOQ is moq, variants are variants.
FAQ
Do you return SKUs with per-variant price and stock? Yes, with Include SKU variants. Many offers price by quantity tier only; their variants carry price: null and the tierPricing ladder applies to every SKU. Offers priced per SKU carry each variant's own price, and promotions add discountPrice.
Can I search by photo? Yes. Put photo links in Image search. Each photo is uploaded to 1688's own image search, no login, and you get the offers that look like it: usually the same product from several factories and wholesalers, then similar items. Every row carries sourceImageUrl.
Can I search by keyword? Yes. Put keywords in Search queries — each is searched separately over 1688's own listing API, no login, and every result carries a sourceQuery field telling you which keyword produced it. English keywords are translated to Chinese for you ("phone case" is searched as 手机壳), since Chinese keywords return the most.
How many offers per keyword? Up to 2,000 — 1688's own cap on a search — at 100 per page. Your maxItems sets the ceiling across all keywords and URLs.
Do I need cookies or a login? No. Neither keyword search nor offer pages need an account, and the scraper never sends cookies or credentials.
Are the results in Chinese? Yes — titles, attributes and supplier names are returned exactly as 1688 publishes them. This keeps the data faithful; translate downstream if needed.
Why are attributes and images empty on some rows? Those two live on the detail page. They are filled on every offer-URL / offer-ID row, and on keyword-search rows only when Scrape offer detail pages is on. Tier pricing, MOQ, supplier and location come back on every row either way.
Do I need residential proxies? Yes. 1688's x5sec anti-bot blocks datacenter IPs; the actor ships with a working residential pool by default and rotates IPs automatically on a block.
Which currency do I get? Prices are in Chinese Yuan (CNY / ¥), as shown on 1688.
Support
Found a bug or need a field added? Open an issue on the actor's Issues tab and it'll be looked at quickly.
Additional services
Need this data enriched, on a schedule, or pushed to your warehouse/webhook? Reach out via the Issues tab — custom fields, monitoring runs and integrations are available.
Explore more scrapers
Check the publisher profile for more e-commerce and marketplace scrapers, including AliExpress, Taobao/Tmall and other product catalogs.
🤖 For AI Agents & LLM Apps
This actor returns clean, flat JSON ideal for RAG pipelines and agent tool-calling: one offer per row, stable field names, numeric fields (priceValue, moq, and the tierPricing ladder) ready for margin modelling and filtering without post-processing. Minimal input: {"searchQueries": ["手机壳"], "maxItems": 20}; add "includeSkuDetails": true for the SKU matrix. Hand your agent a keyword, an offer URL or an offer ID and get structured wholesale-sourcing data back — search results and detail rows share the same schema, so an agent can go from a keyword to a shortlist to full offer detail in one tool.
⚠️ Disclaimer
This scraper collects only publicly available data from 1688.com. It does not log in, bypass authentication, or access private data. You are responsible for using the scraped data in compliance with 1688's terms, applicable laws (including copyright and data-protection regulations), and for any downstream use. Use responsibly.
SEO Keywords
1688 scraper, 1688 API, 1688.com scraper, 1688 wholesale scraper, 1688 keyword search, Alibaba 1688 scraper, scrape 1688, 1688 product scraper, 1688 price scraper, 1688 supplier scraper, 1688 MOQ scraper, tier pricing scraper, China wholesale scraper, wholesale sourcing data, dropshipping sourcing scraper, 1688 data extraction, 1688 offer scraper, B2B marketplace scraper, 1688 crawler, 1688 JSON, 1688 CSV export, Alibaba wholesale data, 1688 SKU scraper, 1688 variants stock, 1688 dropshipping, 1688 image search, 1688采集, 1688数据采集, 1688商品采集, 1688批发, 阿里巴巴1688爬虫, 以图搜货, 一件代发, 货源采集.