1688 Scraper - 50+ Fields, Image Search, Wholesale Suppliers avatar

1688 Scraper - 50+ Fields, Image Search, Wholesale Suppliers

Pricing

from $0.85 / 1,000 product delivereds

Go to Apify Store
1688 Scraper - 50+ Fields, Image Search, Wholesale Suppliers

1688 Scraper - 50+ Fields, Image Search, Wholesale Suppliers

Get 1688.com product prices, MOQ, suppliers and sales by keyword, image or product link. Alibaba China wholesale without login: price tiers, supplier badges, factory scores, variants, weight. Search in any language, translated titles, MOQ, city and price filters, compare with the last run.

Pricing

from $0.85 / 1,000 product delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

10

Monthly active users

an hour ago

Last modified

Share

1688 Scraper: Alibaba China wholesale products, price tiers, MOQ, suppliers and search by image

20 Oct 2026: fixed an issue from 19 Oct that returned few or no products. Searches, image search and product pages return full results again.

Scrape 1688.com (阿里巴巴1688), Alibaba's wholesale marketplace for China, without an account, cookies or a browser: products found by keyword in English, Chinese or any other language, price in yuan, quantity price tiers, minimum order quantity (MOQ), units sold, repurchase rate, images, supplier company, supplier badge (Super Factory, verified merchant, origin flagship), business type (manufacturer or wholesaler), verified years, factory inspection, service scores, province and city. Turn on the full product page to add variants with photos, variant options (colors, sizes, models), every attribute, the image gallery, video, stock, want-to-buy count, unit weight, shipping fee, ships-from, delivery days, buyer protections and the supplier's long description (images and text).

Search by image: paste a product photo from Amazon, AliExpress, Shopee, Temu or any site (or upload one, or give a 1688 product) and get the 1688 suppliers selling the same or a similar item, most similar first.

Built for sourcing and dropshipping research, price comparison between 1688 and Amazon, AliExpress or Shopee, supplier shortlists, product trend tracking and datasets for pricing tools and LLMs.

At a glance

  • 50+ fields per product with the full product page on (28 from the search card alone), all listed in the field reference below.
  • Search by keyword or by photo in one Actor: no second tool for reverse image sourcing.
  • Filters that are really applied: price, MOQ, province, city, supplier badge, sponsored listings and excluded words. What is filtered out is never charged.
  • US$ 1.00 per 1,000 products, all pages on every plan, the Free plan included.
  • JSON, CSV, Excel or the Apify API; schedule it, or call it from Make, n8n, Zapier, Google Sheets or an AI agent.

Six common jobs, ready to paste

1. Build a supplier shortlist for a product idea. Several keywords, a few hundred products each, sorted by sales, only suppliers that sell small quantities and no ads:

{
"keywords": ["silicone kitchen utensils", "硅胶厨具"],
"maxItems": 0,
"maxItemsPerKeyword": 300,
"sortBy": "sales",
"minOrderQuantity": 10,
"merchantType": "verifiedMerchant",
"excludeAds": true
}

600 products = US$ 0.60. Sort the dataset by repurchaseRatePercent, soldCount or scores.overall and keep the top suppliers.

2. Track the products you already buy. Paste the 1688 links once and put the run on an Apify schedule (daily or weekly) to follow price tiers, MOQ, stock and sold count over time:

{
"offerUrls": [
"https://detail.1688.com/offer/735353578254.html",
"735353578254"
]
}

Each link returns the full product page: 50 products = US$ 0.10 per run, about US$ 3 a month checked daily. A product that was taken down comes back as a NOT_FOUND row (free), so you notice it the same day.

3. Find the 1688 source of a product you saw elsewhere. Paste the photo link from Amazon, AliExpress, Shopee or Temu:

{
"imageUrls": ["https://m.media-amazon.com/images/I/61SUj2aKoEL._AC_SL1500_.jpg"],
"maxResultsPerImage": 20
}

US$ 0.004 per photo with up to 60 matches, most similar first. 100 photos = US$ 0.40. Then send the best offerIds to job 2 to follow them.

4. Build a dropship sourcing list. Best sellers under 20 yuan that ship in small quantities, organic results only, with the full page for weight and shipping fee:

{
"keywords": ["pet grooming brush", "car phone holder", "led strip"],
"maxItemsPerKeyword": 100,
"sortBy": "sales",
"maxPrice": 20,
"minOrderQuantity": 5,
"excludeAds": true,
"includeDetails": true
}

300 products with the full page = US$ 0.60. Sort by soldCount, then use unitWeightKg and shippingFeeCny to estimate the landed cost.

5. Verified factories in one sourcing city. Super Factory or verified suppliers in Shenzhen with a low MOQ:

{
"keywords": ["bluetooth earbuds"],
"maxItemsPerKeyword": 200,
"city": "Shenzhen",
"merchantType": "verifiedMerchant",
"minOrderQuantity": 10
}

Then keep the rows where supplier.businessType is 生产加工 (manufacturer) and sort by supplier.trustPassYears.

6. Leave out products with a word. Felt sheets, without the felt handbags that share the keyword:

{
"keywords": ["felt sheet"],
"excludeKeywords": ["handbag", "手提袋"],
"maxItemsPerKeyword": 200
}

Any product whose title contains an excluded word is skipped and not charged. 1688 titles are in Chinese, so an English word is also matched in Chinese (handbag also matches 手提包). A word that translates to a single Chinese character (bag becomes 包) is not used in Chinese, because that character appears in many unrelated titles; the run log says so, and you can write the full Chinese word instead.

What it fixes compared with other 1688 scrapers

  • No free-plan cap. Every page of results on every Apify plan, the Free plan included: up to about 2,000 products per keyword and as many keywords as you want in one run. No "first keyword only" or "20 products" preview.
  • The MOQ filter is enforced on every product. minOrderQuantity: 2 returns only products you can buy 1 or 2 at a time. When the search card does not show the MOQ (about half of them), the product page is opened to confirm it before the row is delivered, at no extra charge. Products outside the filter are never charged.
  • Every product link or id gets a row. A product that was taken down comes back as NOT_FOUND; one that 1688 refused after 8 attempts gets a second round with new IPs at the end of the run, and only then a BLOCKED row you can retry. Nothing is silently dropped and a run never ends "succeeded" with an empty dataset and no reason.
  • No silent stalls. Every request has a timeout, the run reports its progress page by page in the status line, and it stops cleanly before your run timeout with everything delivered so far saved and charged.
  • Keywords in any language. 1688 only understands Chinese and English; a Korean, Japanese, Spanish or Russian keyword returned random products. Now it is translated to Chinese first (searchKeywordChinese shows what was searched).
  • Full product page on every product you ask for, not only the first few suppliers. If a page cannot be loaded, the row says so in detailsError and the page is not charged.

One real row

From a test run on 2026-09-28 with the full product page on (lists shortened):

{
"type": "product",
"offerId": "735353578254",
"url": "https://detail.1688.com/offer/735353578254.html",
"title": "适用iphone18PRO大视窗磁吸手机壳15磨砂漏标苹果11秒变17保护套",
"price": 9.0,
"priceType": "quantity_tiers",
"priceMin": 7.5,
"priceMax": 9.0,
"currency": "CNY",
"unit": "个",
"priceTiers": [
{"minQuantity": 2, "maxQuantity": 499, "price": 9.0},
{"minQuantity": 500, "maxQuantity": 4999, "price": 8.5},
{"minQuantity": 5000, "maxQuantity": null, "price": 7.5}
],
"minOrderQuantity": 2,
"soldText": "1万+",
"soldCount": 17662,
"stockAvailable": 2696036,
"variants": [
{"name": "樱桃红【纳米磨砂防指纹手汗】", "imageUrl": "https://cbu01.alicdn.com/img/ibank/O1CN01mLerzF1OFCHJw6Hvh_!!3872131675-0-cib.jpg"}
],
"attributes": [
{"name": "材质", "value": "PC"}
],
"shipsFrom": "广东深圳",
"deliveryDays": 2,
"supplier": {
"companyName": "深圳市亿佳合兴科技有限公司",
"memberId": "b2b-38721316754ec7c",
"isFactory": false
},
"detailsLoaded": true,
"errorCode": null
}

All fields are listed in the field reference. Price and stock per variant are only shown to logged-in 1688 buyers, so they are not included; priceMin and priceMax give the range across variants.

Input

{
"keywords": ["phone case", "瑜伽垫"],
"maxItems": 200,
"sortBy": "sales",
"minPrice": 5,
"maxPrice": 30,
"province": "Guangdong",
"city": "Shenzhen",
"minOrderQuantity": 2,
"merchantType": "verifiedMerchant",
"excludeAds": true,
"excludeKeywords": ["sample"],
"includeDetails": false
}
  • keywords: one per line. English is translated by 1688; Chinese gives the most precise match; other languages are translated to Chinese for you.
  • maxItems: products in the whole run (0 = no limit). maxItemsPerKeyword caps each keyword.
  • sortBy: relevance, price_low, price_high or sales.
  • minPrice / maxPrice: in Chinese yuan. province: English (Guangdong, Zhejiang...) or Chinese (广东, 浙江...).
  • city: Shenzhen, Guangzhou, Yiwu, Dongguan, Ningbo... in English, or any city in Chinese (深圳, 义乌市).
  • minOrderQuantity: only products whose MOQ is at or below this number (enforced on every product).
  • merchantType: any, superFactory, verifiedMerchant (also includes Super Factory and Origin Flagship) or originFlagship.
  • excludeAds: skip sponsored placements.
  • excludeKeywords: skip products whose title contains any of these words (English words are also matched in Chinese; see job 6). Not applied to product links you paste.
  • offerUrls: product links or numeric offer ids (one per line or comma-separated); each returns the full product page. Price and sponsored filters apply to them; MOQ, city and badge filters only apply to searches.
  • includeDetails: open every product found by the search for the full page. includeDescriptionHtml adds the raw description HTML.
  • compareWithPreviousRun: adds the previous price, the change and the units sold since the previous run with the same input (see Monitor on a schedule).
  • translateTo: en, es, pt, fr, de, ru, ja, ko, vi, id, ar or tr adds a machine translation next to the Chinese text (see Translate the output). Off by default.

Translate the output

1688 titles, supplier names and product pages are in Chinese. With translateTo each product gets translated copies next to the originals, which never change: titleTranslated, supplier.companyNameTranslated, translatedTo and, with the full product page, nameTranslated / valueTranslated in each attribute, nameTranslated in each variant, nameTranslated / valuesTranslated in each variant option and descriptionTextTranslated.

{ "offerUrls": ["735353578254"], "translateTo": "en" }

Part of the row from that run:

{
"title": "适用iphone18PRO大视窗磁吸手机壳15磨砂漏标苹果11秒变17保护套",
"titleTranslated": "Suitable for iphone18PRO large window magnetic phone case 15 frosted leaky mark Apple 11 seconds to 17 protective cover",
"supplier": { "companyName": "深圳市亿佳合兴科技有限公司",
"companyNameTranslated": "Shenzhen Yijia Hexing Technology Co., Ltd." },
"attributes": [
{ "name": "材质", "value": "PC", "nameTranslated": "Material", "valueTranslated": "PC" },
{ "name": "功能", "value": "其它,磁吸,防摔,抗指纹", "nameTranslated": "Function",
"valueTranslated": "Others, magnetic, anti-fall, anti-fingerprint" }
],
"translatedTo": "en"
}

Text that is already readable in the target language (model numbers, PC) is copied as it is. If the translation service fails for a product, the product is still delivered, only without the translated fields. Translation is free during the launch; later it is charged once per product that comes back with at least one translated field.

Monitor on a schedule

  1. Run the keywords or product links you want to watch, then save the input as a Task.
  2. Turn on compareWithPreviousRun.
  3. Attach an Apify Schedule to the Task, for example daily.
{ "offerUrls": ["735353578254"], "compareWithPreviousRun": true }

Each run returns every product as usual, plus what changed since the run before: previousPrice (the card price last time, or the lowest tier price when the card has none), priceChange and priceChangePct, soldCountChange, stockAvailableChange (with the full product page), isNewProduct (not seen before by this input), firstSeenAt and previousSeenAt. On the first run every product is new. The history lives in a key-value store on your own account named alibaba-1688-prices-... (Storage, Key-value stores), saved after the products are delivered. To start over, delete that store or set a new snapshotName.

Switching from another 1688 actor? Your existing input works

Paste the input you already use. These field names are understood as they are:

You sendWorks as
keywords, querieskeywords, each searched separately
offerIds (array, or one comma-separated string), startUrlsproduct links or ids
maxResults, maxProductsproducts per keyword (10,000 = no limit); per photo in a search by image
priceMin, priceMax (0 = no limit)price range in CNY
sortBy: bestSelling, priceAsc, priceDesc; sortType: va_rmdarkgmv30, va_price_asc, va_price_desc, normalsort order
minOrderQuantityMOQ at or below this number
merchantType: any, superFactory, verifiedMerchantsupplier badge
province, city in Chinese (广东, 广东省, 深圳市)supplier location
includeSkuDetails, includeDescriptionHtmlfull product page
imageUrls, imageFilesearch by image
excludeKeywords, excludeWordswords that leave a product out
targetLanguage, translateToEnglish: truetranslateTo (translated copies of the Chinese text)

Fields that do not apply here (proxyCountryMode, includeSupplierIntelligence, targets, feedback) are ignored instead of failing the run. Every row also carries sourceKeyword (same as searchKeyword), so automations that filter on it keep working.

Search by image

  • imageUrls: public JPG, PNG or WebP links, one per line. imageFile: upload a photo instead.
  • similarToOffers: 1688 product links or ids; the Actor uses each product's main photo to find other suppliers.
  • maxResultsPerImage: products per image (empty = 20, 0 = all 1688 shows, about 700). Price, province and sponsored filters also apply. Each image row adds searchImage, imageId, matchRank and similarityScore.

An empty input runs the example search "phone case" with 20 products.

Price

  • US$ 1.00 per 1,000 products (US$ 0.001 each), no fee per run.

  • US$ 1.00 per 1,000 full product pages on top, only for products that came back with the full page (includeDetails on, or product links and ids). A product whose page could not be loaded is delivered with the search data and this second event is not charged.

  • Store discounts on the product event: US$ 0.95 per 1,000 on Bronze, US$ 0.90 on Silver, US$ 0.85 on Gold and above. The full product page event is US$ 1.00 per 1,000 on every plan.

  • Never charged: error rows, duplicates, sponsored listings you excluded and products outside your price, MOQ, city or badge filters (including the product pages opened only to confirm an MOQ).

  • Search by image: US$ 0.004 per image that returns at least one product, with up to 60 products included. From the 61st product of the same image on, each product costs US$ 0.001. Images that could not be read or returned nothing are free.

Examples: 1,000 products from a keyword search = US$ 1.00. 1,000 products with the full page = US$ 2.00. 100 photos with 20 similar products each (2,000 products) = US$ 0.40.

  • Translation (translateTo): free during the launch; later charged once per product with translated fields.

You can set a maximum cost per run in Apify: the Actor stops when the limit is reached and keeps what it saved.

Errors you may see

Every error is a row with errorCode and is never charged:

errorCodeMeaning
INVALID_INPUTA field has a wrong value (the message says which).
INVALID_URLNot a 1688 product link or offer id, or an image link that does not start with http(s)://.
IMAGE_UNREADABLEThe image link did not return a JPG, PNG or WebP picture (or it is over 15 MB).
NOT_FOUNDThe product does not exist or was taken down.
NO_RESULTS1688 has no products for this keyword and filters.
BLOCKED1688 refused every attempt for this search or product (two rounds for product links); run again.
NOT_REACHEDThe run timeout arrived before this item.

Field reference

Every product row (search card):

FieldWhat it is
typeproduct, or error for an error row
offerId, url1688 product id and link
titleproduct title, in Chinese as the supplier wrote it
price, currency, unit, priceNoteprice on the card in CNY, the selling unit (个, 件, 米...) and 1688's price note
priceTiersquantity price tiers: minQuantity, maxQuantity, price
minOrderQuantityMOQ
soldCount, soldTextunits sold, as a number and as 1688 shows it (1万+)
repurchaseRatePercentshare of buyers who ordered again
imageUrl, imagesmain photo and photo list
province, citysupplier location
serviceTagsservice labels on the card (fast dispatch, free returns...)
isAdsponsored placement
searchKeyword, sourceKeyword, searchKeywordChinesethe keyword that found it, and the Chinese text searched
position, pagerank in the results
detailsLoaded, detailsErrorwhether the full product page was added, and why not
scrapedAt, errorCode, errortime of collection and error fields (null on good rows)
previousPrice, priceChange, priceChangePct, soldCountChange, stockAvailableChange, isNewProduct, firstSeenAt, previousSeenAtwith compareWithPreviousRun only: what changed since the previous run
titleTranslated, supplier.companyNameTranslated, translatedTo (plus ...Translated inside attributes, variants, variant options and descriptionTextTranslated with the full page)with translateTo only: machine translation next to the Chinese original

Supplier (supplier): companyName, memberId, shopUrl, businessType (生产加工 manufacturer or 经销批发 wholesaler), isFactory, superFactory, factoryInspected, badge (super_factory, verified_merchant, origin_flagship), trustPassYears and scores (overall, goods, consultation, logistics, disputes, returns, 0 to 5).

Added by the full product page (includeDetails, or product links):

FieldWhat it is
priceType, priceMin, priceMax, originalPriceTiershow the product is priced, the range across variants and the tiers before discounts
variants, variantOptionseach variant with its photo, and the variant axes (color, size, model)
attributesevery attribute the supplier filled in (material, size, brand...)
stockAvailable, wantToBuystock and how many buyers marked it
unitWeightKg, shippingFeeCny, shippingFeeNoteunit weight and 1688's shipping estimate
shipsFrom, deliveryDays, deliveryPromisewhere it ships from and the dispatch promise
buyerProtections, crossBorderbuyer guarantees and cross-border flag
categoryId, topCategoryId1688 category ids
videoUrlproduct video
descriptionUrl, descriptionImages, descriptionText, descriptionHtmlthe supplier's long description (HTML with includeDescriptionHtml)
descriptionMissingtrue when 1688 did not return the long description for that product (the rest of the page is there); many suppliers write the description only as images, so descriptionText can be empty while descriptionImages has the pictures

Added by a search by image: searchImage, imageId, matchRank and similarityScore.

Integrations, scheduling and AI agents

  • Schedule a run daily or weekly in Apify schedules to follow prices, MOQ, stock and sales over time.
  • Export the dataset as JSON, CSV, Excel or XML, or read it from the Apify API.
  • Connect it to Make, n8n, Zapier, Google Sheets or a webhook through Apify integrations.
  • AI agents: the Actor works as a tool through the Apify MCP server in Claude, ChatGPT, Cursor and other MCP clients. Ask in plain words, for example "find 50 verified 1688 suppliers of silicone phone cases under 10 yuan with MOQ up to 10", and the agent fills in the input. Server URL: https://mcp.apify.com/?actors=scrapewise/alibaba-1688-scraper.

Requests an agent can pass straight through:

  • "Find verified 1688 suppliers of silicone phone cases under 10 yuan with MOQ up to 10" -> {"keywords": ["silicone phone case"], "maxPrice": 10, "minOrderQuantity": 10, "merchantType": "verifiedMerchant", "maxItems": 50}
  • "Which other 1688 suppliers sell the same item as this product?" -> {"similarToOffers": ["https://detail.1688.com/offer/735353578254.html"], "maxResultsPerImage": 30}
  • "Check today's price tiers, MOQ and units sold of this 1688 product" -> {"offerUrls": ["735353578254"]}

Good to know

  • 1688 shows at most about 2,000 products per search. For more, use several related keywords.
  • Prices are in Chinese yuan (CNY) as 1688 shows them, before shipping and import costs. price is the price on the search card or product page; priceTiers are the quantity tiers; for products priced per variant (priceType: per_variant) there are no tiers and priceMin / priceMax give the range across variants.
  • Titles, attributes and variant names stay in Chinese, as the suppliers wrote them.
  • The Actor uses Apify's datacenter proxy and, when 1688 refuses it, a residential IP in China for that request. You pay only the per-product price above.
  • No personal data: suppliers come as companies (company name, an opaque memberId, shop link, scores). Account names, chat links, phone numbers and emails are never collected.

FAQ

Do I need a 1688 or Alibaba account? No. Everything comes from public pages, without login.

Can I search in English? Yes. 1688 translates English keywords; Chinese keywords are more precise. Keywords in other languages are translated to Chinese before the search.

Is this Alibaba.com? No. 1688.com is Alibaba's marketplace for the Chinese domestic wholesale market, with factory prices in yuan. Alibaba.com is the international site.

Can I compare with retail prices in China? Yes: Taobao Scraper returns Taobao and Tmall retail products for the same keywords, with shop and seller scores.

How much does a typical run cost? 1,000 products from a keyword search cost US$ 1.00; with the full product page, US$ 2.00. A search by image costs US$ 0.004 per photo. Error rows, duplicates and filtered-out products are free.

Can I download the data as Excel or CSV? Yes. Every dataset exports to Excel, CSV, JSON or XML from the run page or the API.

Why are titles in Chinese? 1688 is a domestic Chinese marketplace and suppliers write in Chinese. Keep the Chinese title for searching on 1688; translate it in your own pipeline if you need English.

Is it legal to scrape 1688? The Actor reads public product pages without logging in and does not collect personal data. You are responsible for how you use the data under the laws that apply to you.

Something broke or a field is missing? Open an issue on the Actor page. Issues are answered within a day.

Changelog

  • 20 Oct 2026: fixed an issue from 19 Oct that returned few or no products; product pages include the full description.
  • 20 Oct 2026: optional translation of titles and texts (translateTo).
  • 20 Oct 2026: compareWithPreviousRun adds the previous price, the price change and the units sold since the previous run to every product.
  • 19 Oct 2026: examples for AI agents (Apify MCP server).
  • 16 Oct 2026: excludeKeywords leaves out products whose title contains a word (matched in English and Chinese); field reference and more ready-to-paste jobs in this page.
  • 12 Oct 2026: first page waits and retries through another residential country during 1688's captcha waves.
  • 8 Oct 2026: MOQ and city filters, supplier badge, keywords in any language, more product page fields, second round for blocked links, field names of other 1688 actors accepted.
  • 28 Sep 2026: first version, with search by image.