1688.com 阿里巴巴 Wholesale Scraper - MOQ Prices & Suppliers
Pricing
from $3.75 / 1,000 results
1688.com 阿里巴巴 Wholesale Scraper - MOQ Prices & Suppliers
Search 1688.com (阿里巴巴) wholesale products by keyword, Chinese or English. Get price, MOQ tier prices, order and sales counts, supplier name, service scores, repurchase rate, factory verification and location for sourcing and dropshipping. No login or cookies needed. Export to JSON, CSV or Excel.
Pricing
from $3.75 / 1,000 results
Rating
0.0
(0)
Developer
Silkline
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
This Actor searches 1688.com (阿里巴巴) wholesale products by keyword and returns one clean, flat JSON record per product. Each record has the wholesale price with quantity (MOQ) tiers, order and sales counts, the supplier's name, shop link and service scores, repurchase rates, factory and business verification, supplier province and city, and images. It is made for sourcing teams, resellers, cross-border and dropshipping sellers, and market researchers. No 1688 account, API keys, proxies or cookies are needed.
What is 1688?
1688.com is a Chinese business-to-business (B2B) wholesale marketplace from Alibaba (阿里巴巴). Factories and wholesalers list their products there, usually with prices that go down as the order quantity goes up. Listings are written in Chinese and prices are shown in Chinese yuan (CNY).
What data can you get?
Every item in the dataset is one product (offer) from a 1688 search result page. The most useful fields for sourcing come first.
| Field | What it means |
|---|---|
price | Price in CNY for the smallest order quantity |
tierPrices | Wholesale price tiers as a list of {quantity, price}. The quantity keeps 1688's own wording, for example 1~299个 or ≥3000个 |
orderCount | Recent orders (成交笔数) as counted by 1688 |
salesText | Units sold as 1688 words it, for example 已售100+件; empty for many offers |
salesCount | Lower bound of salesText as a number (已售1.7万+件 becomes 17000) |
supplierName | Supplier (company) name |
supplierId | Supplier member ID |
shopUrl | Supplier's shop link on 1688.com |
businessType | Business type, for example 生产加工 (manufacturing) or 经销批发 (wholesale); empty for many |
isFactoryVerified | Supplier passed the factory inspection (验厂) |
isBusinessVerified | Supplier passed the business inspection (实力商家) |
repurchaseRateBadge | The 回头率 (repeat-buyer rate) badge shown on the listing, in percent; present for most offers |
offerRepurchaseRate | Repeat-buyer rate 1688 gives for this offer itself, in percent; empty for about 20% of offers and not the same number as repurchaseRateBadge |
compositeScore | Supplier's overall service score (out of 5) |
goodsScore | Supplier score: goods as described |
logisticsScore | Supplier score: logistics |
consultationScore | Supplier score: pre-sale consultation |
disputeScore | Supplier score: dispute handling |
returnScore | Supplier score: returns |
province | Supplier province; empty for about 10% of offers |
city | Supplier city; empty for about 10% of offers |
offerId | 1688 offer ID |
url | Link to the offer page on 1688.com |
title | Offer title (Chinese), search highlighting removed |
searchKeyword | The search keyword this offer was found with |
imageUrl | First (main) image URL |
imageUrls | All image URLs of the offer |
isAd | true for paid ad placements in the search results (flagged by 1688 or recognisable by their ad link) |
type | Record type, always product |
In the Apify Console the dataset also has a ready-made Products table view with title, price, orderCount, supplierName, province, city, repurchaseRateBadge and url.
How the data is cleaned
- Search highlighting is removed from titles.
- Links are short and stable.
- Paid ad placements are kept and flagged with
isAdinstead of being hidden, so you can filter them out yourself. - Tier prices, recent orders, supplier scores, repurchase rates and the factory and business verification flags are all in one record, so you do not need to join tables.
How to use 1688 Scraper
- Open 1688 Scraper in Apify Console.
- In Keywords, enter one or more search terms in Chinese or English, for example
手机壳orphone case. - Set Max results to the total number of products you want for the whole run.
- Click Start and wait for the run to finish.
- Open the dataset and download it as JSON, CSV, Excel or another format, or read it through the Apify API.
The Actor has one mode: keyword search. An empty input {} searches 手机壳 (phone cases), which makes a quick test run.
Input
| Field | Type | Required | What it does | Default |
|---|---|---|---|---|
keywords | array of strings | Optional | Search keywords, Chinese or English. They are searched one after the other. Each keyword returns roughly 60 to 150 products. | Falls back to 手机壳 when empty |
maxResults | integer (1 to 5000) | Optional | Maximum number of products to return in total for the whole run. The run stops as soon as it is reached. You are charged per product returned. | 20 |
One keyword, small test:
{"keywords": ["手机壳"],"maxResults": 20}
Several keywords, Chinese and English:
{"keywords": ["手机壳", "phone case"],"maxResults": 100}
Related keywords to collect more products for one product type:
{"keywords": ["保温杯", "不锈钢保温杯", "儿童保温杯"],"maxResults": 300}
Output example
The values below are illustrative sample values.
{"type": "product","offerId": "700000000001","url": "https://detail.1688.com/offer/700000000001.html","searchKeyword": "手机壳","title": "适用iPhone手机壳磁吸全包镜头保护套","price": 11.0,"tierPrices": [{"quantity": "1~299个", "price": 11.0},{"quantity": "300~2999个", "price": 10.5},{"quantity": "≥3000个", "price": 9.5}],"orderCount": 23,"salesText": "已售30+件","salesCount": 30,"supplierName": "深圳示例电子科技有限公司","supplierId": "b2b-0000000000example","shopUrl": "http://shopexample.1688.com","businessType": "生产加工","compositeScore": 4.0,"goodsScore": 3.67,"logisticsScore": 3.14,"consultationScore": 3.5,"disputeScore": 4.0,"returnScore": 4.0,"repurchaseRateBadge": 57,"offerRepurchaseRate": null,"isFactoryVerified": false,"isBusinessVerified": true,"province": "广东","city": "深圳市","imageUrl": "https://cbu01.alicdn.com/img/ibank/example-main.jpg","imageUrls": ["https://cbu01.alicdn.com/img/ibank/example-main.jpg"],"isAd": false}
How much does it cost?
The Actor uses pay-per-event pricing. You pay for two events:
| Event | Price (USD) | When it is charged |
|---|---|---|
run-start | $0.015 | Charged when the first request to the data source succeeds, even if that request returns nothing. It is not charged when the data source fails from the start, or when your spending limit cannot cover it. Each further keyword that is actually searched pays one more start fee: it is charged before that keyword's first request and kept even if that keyword then returns nothing. A further keyword is only searched if the run still needs results to reach maxResults. |
result | $0.005 | For each product returned |
Worked examples:
- 100 products, one keyword: $0.015 + 100 × $0.005 = $0.515.
- 100 products, two keywords, when the first keyword gives fewer than 100 products: 2 × $0.015 + 100 × $0.005 = $0.53. If the first keyword already gives 100 products, the second keyword is never searched and the run costs $0.515.
- 20 products, one keyword: $0.015 + 20 × $0.005 = $0.115.
On the free Apify plan, a run returns at most 20 results in total, and only the first keyword is searched; the run then stops with the message "Free plan limit reached". Any paid Apify plan removes the limit. On the free Apify plan each account can run this Actor up to 3 times per 24 hours and 10 times per 7 days, within a small lifetime free allowance shared across all our Actors, and all free accounts share a daily free budget. When any of these limits is reached, the run stops before fetching anything and nothing is charged.
You never pay for more than maxResults items, and you are never charged for items that were not delivered. The run also stops by itself if your spending limit is reached.
Use cases
- Sourcing and supplier shortlists: compare prices, minimum order quantities and supplier quality for one product in a single table.
- Price research for resellers, cross-border and dropshipping sellers: see wholesale price levels per keyword and per quantity tier with
tierPrices. - Supplier vetting: filter by
isFactoryVerified,isBusinessVerified,businessType,compositeScoreandrepurchaseRateBadgebefore you contact anyone. - Market and trend research: see which products sell (
orderCount,salesCount) and in which provinces and cities the suppliers are. - Ad monitoring: use
isAdto see which products are pushed with paid placements for a keyword. - AI and data projects: clean B2B product records for catalogs and price models.
Integrations and API
You can start runs through the Apify API, schedule them in Apify Console (for example a daily price check for the same keywords), and connect the results to integrations such as webhooks, Google Sheets, Make or Zapier. Results are stored in an Apify dataset that you can read through the API in JSON, CSV, Excel and other formats.
Example with the Python apify-client package:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("clover_folktale/1688-scraper").call(run_input={"keywords": ["手机壳", "phone case"],"maxResults": 100,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Tips and limits
- How many products per keyword. 1688 does not page its search results. Each request returns about 60 products, and a repeated request returns a slightly different ranking. The Actor repeats the request for a keyword, drops products it already has, and stops when a request adds fewer than 10 new products or after 5 requests. Expect roughly 60 to 150 products per keyword. For more, add related keywords.
- Paid ads. 1688 mixes paid placements into the results. They are kept and marked
isAd: true, so you can filter them out. - Two repurchase rates.
repurchaseRateBadgeis the 回头率 percentage on the listing;offerRepurchaseRateis a separate figure 1688 gives per offer. The two differ (for example 55% and 5%), so both are returned as they are. - Tier prices.
tierPriceskeep 1688's own wording for the quantity range (for example1~299个,≥3000个);priceis the price for the smallest order. - Sales numbers.
salesCountis the lower bound ofsalesText:已售1.7万+件becomes 17000.orderCountis the number of recent orders 1688 counts. - Currency and freshness. Prices are in Chinese yuan (CNY) and are what 1688 shows at the time of the run.
- Titles are in Chinese. The
titlefield is returned as 1688 shows it, without translation. English keywords work for searching. - Empty fields.
provinceandcityare empty for about 10% of the products.businessTypeandsalesTextare empty for many,offerRepurchaseRateis empty for about 20%, and the supplier scores are missing for suppliers with too few orders. - Errors. The Actor retries transient errors on its own and stops cleanly instead of failing half-way. If too many keywords return nothing, the run stops to protect your budget.
- Free plan. On the free Apify plan a run returns at most 20 results in total, and only the first keyword is searched. The run then stops with the message "Free plan limit reached".
- Feedback. Missing a field? Open an issue from the Actor page and it will be looked at.
FAQ
Do I need a 1688 account or cookies?
No. You do not need a 1688 account, API keys, proxies or cookies.
Is it legal to scrape 1688?
The Actor returns only public listing data: what anyone sees on a 1688 search page, such as the supplier's company name, shop link and scores. It returns no buyer data and no private data such as phone numbers or messages. You are responsible for how you use the data and for following the laws that apply to you.
How fresh is the data?
Every run fetches the search results live, so prices and counts are what 1688 shows at the time of the run.
Why are some fields empty?
1688 does not show every value for every offer. province and city are missing for about 10% of products, offerRepurchaseRate for about 20%, businessType and salesText for many, and supplier scores are missing when the supplier has too few orders. Missing values are null; empty lists (tierPrices, imageUrls) are [], and the yes/no flags (isFactoryVerified, isBusinessVerified, isAd) are false.
How many results can I get?
Roughly 60 to 150 products per keyword, and up to 5000 per run through maxResults. On the free Apify plan a run returns at most 20 products and only the first keyword is searched. Add related keywords to get more.
Can I search by offer ID, shop or image?
No. The Actor searches by keyword only, in Chinese or English.
Can I schedule runs and export the data?
Yes. You can schedule runs in Apify Console, start them through the API, and download the dataset as JSON, CSV, Excel and other formats.