1688 Wholesale Product Scraper
Pricing
from $2.99 / 1,000 wholesale products
1688 Wholesale Product Scraper
Extract public 1688.com wholesale products with tier pricing, MOQ, supplier details, SKU attributes, and images.
Pricing
from $2.99 / 1,000 wholesale products
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
1688 Wholesale Product Scraper
Extracts rich public wholesale product data from 1688.com. The Actor supports keyword searches, multiple public sources, bounded pagination, global filters/sorting/deduplication, optional Apify Proxy routing, and fail-closed diagnostics.
The dataset is marketplace-focused. Product rows do not contain Actor-debugging wrappers such as recordId, recordType, status, success, ok, dataAvailable, found, fieldCoverage, dataQuality, extractionMethod, fallbackMode, or usedProxy. Operational counts remain in OUTPUT_SUMMARY.
The Actor only requests publicly exposed 1688 pages. It does not sign in, solve CAPTCHA or security challenges, rotate identities to evade controls, or call private APIs. If 1688 presents a login, challenge, denial, or rate limit, the run stops at that boundary and records a bounded diagnostic instead of inventing a product row. A successful run is therefore environment-dependent and cannot be guaranteed from every region or Cloud transport.
Extracted fields
Depending on public availability, a product row can include:
- identity and provenance:
url,productId,title,name,productUrl,source,sourceDomain,sourceUrl,pageNum,position,scrapedAt - pricing:
price,priceMin,priceMax,currency,priceFormatted,tierPricing - wholesale facts:
moq,moqUnit,salesVolume,transactionCount,reviewCount,rating,availability - supplier:
supplierName,supplierProfileUrl,supplierLocation,supplierYears,supplierResponseRate - media and catalog facts:
images,thumbnail,imageCount,attributes,categories,badges,description,shippingInfo,leadTime
Missing values are omitted rather than guessed. thumbnail is always images[0] when images are present. Product images are scoped to the product record and filtered for common logos, icons, placeholders, and loading assets.
Input
Default keyword search
{"keywords": "wireless earbuds","maxItems": 50,"maxPages": 3,"sortBy": "relevance"}
Filters and sorting
{"keywords": "cotton tote bag","minPrice": 1.5,"maxPrice": 12,"minMoq": 10,"minSalesVolume": 100,"minRating": 4,"minReviewCount": 20,"supplierLocation": "Shenzhen","requiredBadges": ["诚信通"],"sortBy": "sales_desc","maxItems": 25,"maxPages": 5,"deduplicate": true}
Multiple sources, developer controls, and proxy
{"startUrls": [{ "url": "https://s.1688.com/selloffer/offer_search.htm?keywords=packaging" },{ "url": "https://s.1688.com/selloffer/offer_search.htm?keywords=gift%20bags" },{ "url": "https://detail.1688.com/offer/123456789.html" }],"maxItems": 100,"maxPages": 4,"requestDelayMs": 1500,"maxConcurrency": 2,"maxRequestRetries": 3,"requestTimeoutSecs": 45,"includeImages": true,"includeAttributes": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
maxPages: 0 continues until a source returns no new products, with a hard 100-page cap. maxItems is global across all sources. Product/detail URLs are fetched once. A proxy only changes transport routing; it does not authorize access or bypass login, CAPTCHA, or security controls. includeDiagnostics: false suppresses diagnostic rows but the run summary still reports diagnosticsFound and retains the blocked/no-data status.
Supported sortBy values are relevance, price_asc, price_desc, sales_desc, rating_desc, reviews_desc, and supplier_years_desc.
Deterministic local QA
{"keywords": "cotton tote","fixtureFile": "fixtures/sample.html","maxItems": 10,"maxPages": 2,"requestDelayMs": 0,"includeDiagnostics": true}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Product output example
{"source": "1688.com","sourceDomain": "s.1688.com","sourceUrl": "https://s.1688.com/selloffer/offer_search.htm?keywords=cotton+tote","url": "https://detail.1688.com/offer/FIXED-1688-1.html","productId": "FIXED-1688-1","title": "Cotton Tote Wholesale","productUrl": "https://detail.1688.com/offer/FIXED-1688-1.html","price": 1.9,"priceMin": 1.9,"priceMax": 2.5,"currency": "CNY","priceFormatted": "¥1.9-2.5","tierPricing": [{ "minQuantity": 10, "price": 2.5, "currency": "CNY" },{ "minQuantity": 100, "price": 1.9, "currency": "CNY" }],"moq": 10,"moqUnit": "pieces","salesVolume": 1250,"transactionCount": 1250,"reviewCount": 120,"rating": 4.8,"supplierName": "Shenzhen Supply","supplierProfileUrl": "https://shop12345.1688.com/","supplierLocation": "Guangdong Shenzhen","supplierYears": 5,"supplierResponseRate": "96%","images": ["https://cbu01.alicdn.com/img/fixed-tote.jpg","https://cbu01.alicdn.com/img/fixed-tote-2.jpg"],"thumbnail": "https://cbu01.alicdn.com/img/fixed-tote.jpg","imageCount": 2,"attributes": { "Material": "Cotton canvas", "Style": "Tote" },"shippingInfo": "Ships within 48 hours","leadTime": "3-7 days","badges": ["诚信通", "实力商家"],"categories": ["Bags", "Canvas bags"],"availability": "InStock","pageNum": 1,"position": 1,"scrapedAt": "2026-09-05T00:00:00.000Z"}
Blocked or unavailable public pages produce a deliberately small diagnostic row:
{"url": "https://s.1688.com/selloffer/offer_search.htm?keywords=wireless+earbuds","error": "A public 1688 access barrier was visible; the Actor stopped without bypassing it.","errorCode": "ACCESS_BARRIER_LOGIN_REQUIRED","scrapedAt": "2026-09-08T07:17:41.304Z"}
Local validation
npm ci --omit=devnpm testapify validate-schemaapify run --purge --input-file .actor/input.jsonnpm run validate
The validator checks the strict marketplace schema, canonical URLs, product-scoped image URLs, thumbnail === images[0], and the absence of Actor-debugging fields. Live availability can vary by region, session, and access policy; the correct response to a blocked page is a diagnostic, not fabricated product data. The diagnostic itself is intentionally small: url, error, errorCode, and scrapedAt.