1688 Wholesale Products Scraper avatar

1688 Wholesale Products Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
1688 Wholesale Products Scraper

1688 Wholesale Products Scraper

Scrape 1688.com wholesale products by English or Chinese keyword or link, no login or cookies. Get bulk price tiers, MOQ, units sold, supplier trust, SKUs and shipping in USD or other currencies. Filter factories. Clean JSON for sourcing and price tracking.

Pricing

from $2.50 / 1,000 results

Rating

0.0

(0)

Developer

Data WiKi

Data WiKi

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

4

Monthly active users

3 days ago

Last modified

Categories

Features

Limited permissions

Share

🚀 What is 1688 Wholesale Products Scraper?

1688 Wholesale Products Scraper is an Apify Actor that works as a 1688 scraper: it searches 1688.com, China's B2B wholesale marketplace, by English or Chinese keyword or product link. It returns one row per product with bulk price tiers, minimum order, units sold, supplier details and shipping, ready to export as JSON, CSV or Excel.

  • Search in English or Chinese: English keywords are translated for you, so you do not need to know Chinese.
  • Wholesale prices you can compare: prices stay in yuan and are also converted to one of 16 currencies you choose.
  • Supplier filters: keep only factories, wholesalers or agents, or only suppliers with a Super Factory, Verified Merchant or Source Flagship badge.
  • No login: the Actor reads public pages that any visitor can see, so you only need an Apify account.
  • Runs on Apify: as an Apify 1688 scraper it comes with schedules, webhooks, the API and integrations.

Click Try for free, enter a keyword and press Start.

📊 What data can you extract with this 1688 scraper?

The Actor works as a 1688 data scraper and saves one row per product. The dataset schema documents 61 fields, shown in ten ready-made tables (overview, pricing, sales and reviews, supplier, tags and services, images and video, product details, SKU variants, shipping, search details). You can export the 1688 product data as JSON, CSV, Excel, HTML or XML. Fields marked "details" are filled only when Full product page details is on or when you pass product links.

FieldDescriptionExample
offerId1688 product (offer) ID1044116406462
titleProduct title in Chinese, as listed on 1688无线蓝牙耳机
titleEnMachine-translated English title; empty when translation is offWireless Bluetooth headset
detailUrlLink to the product page on 1688https://detail.1688.com/offer/1044116406462.html
pricePrice in CNY (min, max, display, currency, priceType, promoLabel) plus converted min and max{ "min": 120.5, "max": 143 }
quantityPricesPrice per quantity range[{ "quantityMin": 1, "price": 120.5 }]
listPriceTiersPrice tiers before promotions (details)[]
minOrderQuantitySmallest quantity a buyer can order1
unitSelling unitPCS
minOrderCostCNYFirst tier price times minimum order quantity120.5
minOrderCostConvertedMinimum order cost in your chosen currency17.97
bulkDiscountPctPercent saved between the first and last price tier12
imagesProduct image URLs, full size["https://..."]
videoUrlProduct video (details)"https://..."
videoCoverUrlCover image of the product video (details)"https://..."
skuImagesOne image per colour or model variant (details)["https://..."]
provinceSupplier province in Chinese广东
citySupplier city in Chinese深圳市
orderCountOrder count shown on the listing2300
soldCountUnits sold as shown on the listing100000
soldCountIsLowerBoundTrue when the listing shows a "+" figure, so the real number is at least soldCounttrue
soldScope1688 for sales on 1688, allChannels for sales across all channels1688
soldDisplaySales text exactly as shown on 1688已售10万+件
totalSoldTotal units sold from the product page (details)150000
salesDisplaySales text and period from the product page (details)"..."
stockUnits in stock (details)5000
repurchaseRateShare of buyers who ordered again, 0 to 10.32
offerRepurchaseRateRepurchase rate of this product, 0 to 10.28
reviewsPositive rate, grade, review counts and impression tags (details){ ... }
isPromotedTrue when the listing is a paid placementfalse
blockListing block marker; NORMAL for ordinary resultsNORMAL
tagsListing tags in Chinese["包邮"]
tagsEnEnglish version of tags["Free shipping"]
serviceTagsService badges in Chinese["7天包换"]
serviceTagsEnEnglish version of serviceTags["7-day exchange"]
isFactoryDirectTrue when the supplier is a manufacturertrue
supplierTrustScore from 0 to 100 plus the list of signals that make it up{ "score": 27, "signals": [...] }
supplierCompany, IDs, type, TrustPass years, inspections, shop links and service scores{ "companyName": "..." }
specsProduct attribute table (details)[{ "name": "...", "value": "..." }]
variantOptionsOptions by axis such as colour and size (details)[...]
skuDetailsFull SKU variant matrix with price, stock, sales and weight (details)[...]
shippingDispatch location, logistics text, weight, postage and free-shipping threshold (details){ ... }
servicesService guarantees (details)[...]
productFlagsYes/no flags such as SKU offer, pre-sell, mix order (details){ ... }
brandBrand name (details)"..."
categoryIdLeaf category ID (details)"..."
categoryNameLeaf category name (details)"..."
topCategoryIdTop-level category ID (details)"..."
listedAtWhen the product was listed (details)2025-03-01T00:00:00Z
updatedAtWhen the product was last changed (details)2026-09-20T00:00:00Z
dropshipWhether one-piece dropshipping is supported, and the sales channels (details){ ... }
isPriceHiddenTrue when the supplier hides the price (details)false
descriptionUrlLink to the long-form description (details)"https://..."
couponsCoupons offered on the product (details)[...]
sameDesignUrlLink to look-alike products on 1688"https://..."
matchedFiltersSupplier filters that were applied by the search["superFactory"]
sourceKeywordThe keyword you typedwireless earbuds
searchKeywordThe Chinese keyword that was searched无线耳机
detailStatusok, blocked or error (details)ok
scrapedAtWhen the row was collected (ISO date)2026-10-26T08:30:00+00:00
errorWhy an input returned no product (only in no-result rows)no results

⚠️ The supplierTrust score is calculated by this Actor from signals on the listing, and the signals are listed in the same row. It is not a rating from 1688. Fields that 1688 does not publish for a product are absent or empty in its row.

💡 Use cases for 1688 data

  • 1688 product sourcing: search a keyword and compare price, quantityPrices and minOrderQuantity across many suppliers to shortlist what to order. It turns China product sourcing into a repeatable search instead of manual browsing.
  • Find suppliers on 1688: filter by supplierType and merchant badge, switch on One offer per supplier, and keep the saved rows as a supplier list. Rerun it for each product category.
  • China wholesale suppliers: the supplier object holds company, type, TrustPass years, inspections and shop links for each seller.
  • Verified suppliers: the Verified Merchant badge filter helps you find a 1688 verified supplier.
  • Super Factory suppliers: the Super Factory badge filter keeps sellers that carry the 1688 super factory badge.
  • Factory direct offers: the isFactoryDirect field marks manufacturers, which helps you look for 1688 factory direct offers instead of middlemen.
  • 1688 dropshipping research: switch on One-piece dropshipping or Ships within 48 hours, then read dropship and shipping with product page details.
  • Bulk price tiers: quantityPrices, bulkDiscountPct and minOrderCostConverted show how the price falls with quantity and what a minimum order costs in your currency.
  • Wholesale price tracking: schedule the same search and compare the price and scrapedAt values between runs to use the Actor as a 1688 price tracker.
  • Demand research: sort by best selling and read soldCount, orderCount and repurchaseRate for 1688 product research. The same fields support wholesale product research for a new niche.
  • Marketplace price checks: put 1688 wholesale data next to resale prices from resale price monitoring. That gives you a 1688 price comparison before you commit to a purchase.
  • Spreadsheets and agents: export 1688 to CSV or Excel for buyers and finance, or pass the JSON rows to an AI agent.

🛠️ How to scrape 1688 products

These steps give you product sourcing from China without opening product pages by hand.

  1. Create a free Apify account.
  2. Open 1688 Wholesale Products Scraper in the Apify Store.
  3. Enter Search keywords (English or Chinese, one per line) or paste Product links or IDs.
  4. Add filters if you need them, such as Maximum price (CNY), Max minimum-order quantity or Supplier type.
  5. Click Start and watch the log: each saved product shows its price, sales and minimum order.
  6. Open the Output tab or download the dataset as JSON, CSV, Excel, HTML or XML.

How to find suppliers on 1688 with a keyword

Enter the product in Search keywords, set Supplier type to factory or wholesaler, and switch on One offer per supplier. Each saved row then comes from a different supplier. The supplier object gives you a 1688 supplier scraper view of company, type and shop links.

How to compare bulk prices

Set Sort order to price low to high, set Max minimum-order quantity to the largest first order you can accept, and read quantityPrices and minOrderCostConverted in the pricing table.

💰 How much does it cost to scrape 1688?

1688 Wholesale Products Scraper uses pay per event pricing: you pay for each product row it saves, plus a tiny start fee per run. The prices below were read from the live Actor on 2026-10-26; see the Pricing tab for current rates.

EventEvent keyPrice
Results (primary event)main_resultper product row, by plan tier (table below)
Actor Startapify-actor-start$0.00005 per run (one event per GB of memory; the Actor is set to 1024 MB)
Result (dataset item)apify-default-dataset-item$0.00001 per saved result, a small platform charge on top of the product price, the same on every plan tier
Plan tierPer productPer 1,000 products
Free$0.004$4.00
Bronze$0.0035$3.50
Silver$0.003$3.00
Gold and above$0.0025$2.50

The tier table shows the main_result price only. The dataset-item charge adds $0.01 per 1,000 saved results on every tier.

Example: 500 products on a Bronze plan cost 500 x $0.0035 = $1.75, plus 500 x $0.00001 = $0.005 for the dataset-item charge, plus the $0.00005 start fee, which is $1.75505 in total. The same 500 products on a Silver plan cost 500 x $0.003 = $1.50, plus $0.005, plus $0.00005, which is $1.50505. Apify platform usage (compute) is billed on top of the events above.

You can set a maximum cost per run in the Apify run options. When that limit is reached, the Actor stops cleanly and keeps the rows already saved.

⬇️ Input

Nothing is strictly required, but this 1688 product scraper needs either Search keywords or Product links or IDs. When product links are filled, keywords and filters are ignored and every product page is read for full details. Max results per keyword applies to each keyword separately: the form default is 10, the schema maximum is 10,000, and 0 means everything the search can reach. See the Input tab for every option.

{
"keywords": ["wireless earbuds", "手机壳"],
"maxResults": 20,
"sortBy": "bestSelling",
"priceMax": 50,
"minOrderQuantity": 100,
"merchantType": "verifiedMerchant",
"province": ["Guangdong"],
"convertTo": "USD"
}

To read specific products, pass links or IDs instead:

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

Keyword mode runs a separate 1688 product search for each keyword and reads every result page. In this mode the Actor acts as a 1688 search scraper, and each listing becomes one row.

Link mode reads each pasted link or ID in full, so you can scrape 1688 product data for products you already know. Turn on Full product page details to use the Actor as a 1688 SKU scraper with colours, sizes, stock and weight. Each product is saved as soon as it is read.

Input tips

💡 Chinese keywords are searched as typed. English keywords are translated when English titles and tags is on; if you switch it off, English keywords are searched as typed and results are weaker.

💡 Enter the 1688 minimum order quantity you can accept in Max minimum-order quantity. It keeps suppliers whose minimum order is at most that number, so it suits small test orders, and products with no stated minimum are kept. Minimum price (CNY) and Maximum price (CNY) work in yuan, where 0 means no limit.

⚠️ One-piece dropshipping and Ships within 48 hours cannot be combined: dropshipping wins. If you give both cities and provinces, the cities are used for the search and the provinces are checked on every product. Paid ads are left out unless you switch on Include paid ads.

⬆️ Output

The scraped results are shown as a dataset in the Storage tab and in the Output tab as ten tables. The table view does not show all the fields. Export the dataset as JSON, CSV, Excel, HTML or XML, which is how you save 1688 products to JSON or a spreadsheet. A SUMMARY file in the key-value store holds the run counts. A keyword or link that returns nothing gets one extra row with the reason in error. Because every search result becomes one row, the Actor also serves as a 1688 listings scraper for a whole category. The pricing and sales tables work as a 1688 data extractor that needs no code.

The following example is illustrative: the values are made up to show the shape of a row, built from the dataset fields. Real rows have more fields, and the details fields are filled only with product page details.

{
"offerId": "1044116406462",
"title": "无线蓝牙耳机 长续航降噪",
"titleEn": "Wireless Bluetooth headset long battery noise reduction",
"detailUrl": "https://detail.1688.com/offer/1044116406462.html",
"price": { "min": 120.5, "max": 143, "currency": "CNY", "minConverted": 17.97, "maxConverted": 21.33, "convertedCurrency": "USD" },
"quantityPrices": [{ "quantityRange": "1-99", "quantityMin": 1, "quantityMax": 99, "price": 143 }, { "quantityRange": "100+", "quantityMin": 100, "quantityMax": null, "price": 120.5 }],
"minOrderQuantity": 1,
"unit": "PCS",
"minOrderCostCNY": 143,
"bulkDiscountPct": 15.7,
"province": "广东",
"city": "深圳市",
"soldCount": 100000,
"isPromoted": false,
"isFactoryDirect": true,
"supplierTrust": { "score": 27, "signals": ["+3 TrustPass 2 yrs", "+20 composite service score 5.0/5"] },
"sourceKeyword": "wireless earbuds",
"scrapedAt": "2026-10-26T08:30:00+00:00"
}

⚠️ Limitations and error handling

  • Search ceiling: 1688 lets one search reach about 2,000 rows. The Actor works past that where it can, and the log notes when a search topped out.
  • Product pages are best effort: 1688 refuses some product pages. The search data of that row is still saved, detailStatus says ok, blocked or error, and the run summary counts them. After repeated refusals the Actor stops reading product pages for the rest of the run.
  • Scope: the Actor covers 1688 wholesale China listings only. Other marketplaces are not supported.
  • Link mode needs the product page: link mode works as a 1688 product extractor, so a refused product page gives an error row instead of data.
  • Public data only: no login-only pages, no supplier phone numbers or emails, and no way to place orders or contact suppliers.
  • Prices: converted prices use the exchange rate at run time; if the live rate cannot be read, an approximate rate is used and a warning is logged.
  • Maximum results: the schema allows up to 10,000 per keyword. Run a small test to see how many products your filters leave.

Inputs that return nothing get a row with an error text. Typical values:

Error textWhat to do
no resultsTry another keyword or looser filters.
only paid ads were found (...)Switch on Include paid ads or change the keyword.
all N rows examined were rejected by: ...Loosen the filters named in the message.
1688 refused the search - try again later or use a proxyRetry later, or choose a proxy in the input.
the product page was refused for this connection ...Retry later; product links need the product page.
the product page could not be readCheck the link, then retry.

Input mistakes stop the run with a clear message, for example a minimum price above the maximum price, a negative Max results per keyword, or no keywords and no links. If 12 requests in a row cannot connect, the run stops and says so. Rows saved before a stop are kept.

🔌 Integrating 1688 Wholesale Products Scraper with other apps

1688 Wholesale Products Scraper runs on the Apify platform, so you can start it from code, put it on a schedule, and trigger a webhook or workflow when a run finishes.

  • Use the Apify API (the API tab has ready-made JavaScript, Python and CLI snippets) as a 1688 scraper API for your own tools. You send the input as JSON and receive the rows as JSON.
  • This is not the official 1688 API; it is a way to run searches and read 1688 data from your own code.
  • Connect results to Make, Zapier, Google Sheets, Slack or Airbyte through the Apify integrations.
  • Schedule the same keywords weekly and compare datasets to watch wholesale prices over time.
  • AI agents can find and run the Actor through the Apify MCP server at https://mcp.apify.com.

🔗 Other scrapers by data_wiki

This 1688 wholesale scraper is one of several Actors by the same developer.

ActorWhat it extractsWhen to use it
Facebook Marketplace scraperPrices, photos and locations from public Marketplace listingsCheck resale prices of products you plan to source
Douyin search scraperDouyin videos, authors, hashtags and engagement by keywordSpot Chinese short-video product trends before sourcing
Douyin profile scraperFollowers, posts and hashtags of public Douyin creatorsResearch creators who promote products in China
Airbnb price research scraperAirbnb listings, prices and reviewsA different topic, for rental price research
AI model price comparison dataPrices per million tokens, context size and provider speed of OpenRouter modelsYou also compare prices of AI models, not wholesale goods
Pinterest pins and boardsProduct ideas and creators from Pinterest searchesYou look for product ideas on Pinterest before checking supplier prices
TikTok Shop sales and price scraperRetail prices, units sold, SKUs and reviews from TikTok Shop by keywordWhen you want the retail side to compare with 1688 wholesale prices
Shopee retail price scraperShopee products with price, discount, rating, seller and location by keyword, category, shop or linkYou want to see retail prices on Shopee for a product you source wholesale

1688 Wholesale Products Scraper only extracts data that any visitor can see on 1688 and does not extract private data such as supplier emails or phone numbers. Results may still contain personal data, so collect it only with a legitimate reason and consider GDPR (Regulation (EU) 2016/679) and the site's terms. Consult a lawyer if you are unsure. Read Apify's posts on the legality of web scraping and ethical web scraping.

❓ FAQ

Does this 1688 scraper need a login or account on 1688?

No. It is a 1688 scraper no login required: the Actor reads public pages only, so you need just an Apify account.

How much does it cost to run?

You pay per saved product row, from $0.0025 to $0.004 depending on your plan tier. A $0.00001 charge per saved result and a $0.00005 start fee are added. See the pricing section above and the Pricing tab.

How many products can I scrape?

Max results per keyword defaults to 10 and the schema allows up to 10,000; 0 means everything a search can reach, which is about 2,000 rows per search. Duplicates across keywords are saved once.

Can I search 1688 in English?

Yes. English keywords are translated to Chinese before searching, and titles and tags are added in English next to the Chinese originals. Prices stay in yuan and are also converted to the currency you pick in Also show prices in.

Can I scrape private data or contact suppliers?

No. The Actor reads public product and supplier data only. It does not log in, place orders, send messages or collect contact details.

Do I need proxies?

No. The Actor starts without a proxy and switches to another connection by itself when a request is refused. You can also choose a proxy in the input.

Can I use it through an MCP server?

Yes. The hosted Apify MCP server at https://mcp.apify.com lets AI agents search for the Actor, read its details and run it, then receive structured rows.

Why do I get fewer results than expected?

Your filters may remove many rows, for example a low minimum order, a province or a minimum units sold. The log lists how many products were left out and why. Paid ads are left out unless you switch on Include paid ads.

Why does a row say detailStatus blocked?

1688 refused that product page. The search data of the row is still saved. Try again later or read fewer products at once.

💬 Your feedback

Found a bug or need another field? Open an issue in the Issues tab of the Actor. Need a custom solution? Contact hello.datawiki@gmail.com.