DHgate Scraper
Pricing
from $3.00 / 1,000 results
DHgate Scraper
Scrape DHgate - China's wholesale & B2C marketplace. Search products, browse categories and seller shops, or fetch product pages with full details: prices, MOQ, seller ratings, sales counts, specs, images, variants and shipping info.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Scrape DHgate — one of the world's largest wholesale marketplaces with 30+ million products from Chinese and global suppliers. Search products by keyword, browse the 21 top-level categories, walk a seller shop's entire catalog, or fetch individual product pages with full detail: price tiers, stock countries, shipping costs, seller reputation and more. No login required.
What this actor does
- Four modes:
search(keyword),browseByCategory(21 top-level categories),shopProducts(full seller catalog by shop ID),byUrl(product / category / store URLs) - Full product detail: price min/max and range, wholesale price tiers, variants (color/size with images), stock countries, shipping cost & delivery estimate, free-shipping flag, money-back days
- Seller intelligence: seller name, store URL, rating (0–5), positive-feedback percentage, seller level/tier, year established, company introduction
- Commerce signals: sold count, min order qty, measure unit, dimensions, gross weight, description with bullets and specs
- Filters: price range (USD), min seller rating, keyword on title, shipping country
- Anti-bot: browser-impersonated TLS (curl_cffi) with backoff retries, automatic Playwright escalation on repeated WAF blocks, and an optional lazy proxy (free Apify AUTO group) for blocked regions
- Empty fields are omitted
Output per product
id(item code),productId,skuId,seoName,supplierIdtitle,categoryName,description,descriptionBullets[],specifications[](name/value pairs)priceMin,priceMax,priceRange,priceTiers[](startQty/endQty/price),minOrderQty,measureUnitvariants[]—attribute,name,imageUrlimages[]— gallery image URLs,imageUrl(listings)stockCountries[],stockCountry,shipToCountry,shipToCountryCodeshippingCostUsd,shippingCurrency,shippingDays[],freeShipping,moneyBackDays,deliveryEstimatesaleNum/soldCount,dimensionsCm,grossWeightKg,lastModifiedDaterating,reviewCount,transactionCount,reviewBreakdown(per-star counts)sellerName,sellerStoreUrl,sellerRatingPercent,sellerLevel,sellerTier,yearEstablished,companyIntroductionsourceUrl,productUrl,recordType: "product",scrapedAt
Output per shop
storeName,storeUrl,logoUrl,positiveFeedbackPercent,transactionCount,onTimeDeliveryRate,sellerLevel,sellerTiersourceUrl,recordType: "shop",scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | search / browseByCategory / shopProducts / byUrl |
searchQuery | string | smart watch | Free-text keyword (mode=search) |
category | string | electronics | One of 21 top-level categories (mode=browseByCategory) |
startUrls | array | – | Product / category / store URLs (mode=byUrl) |
shopId | int | – | Seller shop ID, e.g. 22268785 (mode=shopProducts) |
minPrice / maxPrice | number | – | Price range filter in USD |
minRating | number | – | Min seller rating (0–5) |
containsKeyword | string | – | Keep only products whose title contains this text |
country | string | – | Keep only products shippable to this country (25 options) |
maxItems | int | 50 | Hard cap (1–1000) |
proxyConfiguration | object | off | Optional proxy, used lazily only when DHgate's WAF blocks direct access |
Example: search products
{"mode": "search","searchQuery": "smart watch","maxItems": 50}
Example: browse a category with filters
{"mode": "browseByCategory","category": "jewelry","minPrice": 20,"maxPrice": 100,"minRating": 4.5,"maxItems": 100}
Example: a seller's whole catalog
{"mode": "shopProducts","shopId": 22268785,"maxItems": 200}
Example: fetch specific products
{"mode": "byUrl","startUrls": ["https://www.dhgate.com/product/10a-premium-original-luxury-handbags-designer/1086662889.html"]}
Data Source
DHgate's public storefront pages (dhgate.com/wholesale/…, /product/…, /store/…) — the same SSR pages any shopper sees. Product detail records are built from the page's embedded React server-component (RSC) stream, which mirrors the live product data the website renders. This actor is a third-party tool and is not affiliated with, endorsed by, or sponsored by DHgate.
Limitations
- Fuzzy search fallback: like the website itself, a search that matches nothing returns DHgate's "popular products" fallback listing instead of an empty page. Records are always real products with working source URLs.
- Captcha / WAF blocks: DHgate's Akamai WAF intermittently challenges datacenter IPs. The actor retries with backoff, escalates to a real browser automatically, and honors an optional proxy configuration for persistently blocked regions. Some runs may still fail during an active block — rerun later or enable the proxy.
- Ship-to country: the
countryfilter is best-effort — shipping availability is read per-product from the ship-to country the page was rendered for. - Unicode queries: DHgate's search handles non-Latin keywords, but result titles may fall back to transliterated or popular-product suggestions.
- curl HEAD checks on source URLs return 403 from a plain HTTP client — the pages are served to real browsers and to this actor's impersonated client.
Use cases
- Wholesale sourcing — find suppliers, price tiers and minimum order quantities for resale
- Competitor price monitoring — track price ranges and discounts per category
- Supplier due diligence — seller ratings, feedback percentages and store history
- Product research — variants, specs, shipping times and stock countries for market analysis
- Marketplace analytics — sold counts and review distributions as demand signals
FAQ
Is a DHgate account required? No. All data comes from public storefront pages.
Does the actor buy anything or place orders? No — it only reads public pages.
What is priceTiers? DHgate's wholesale pricing: the unit price per quantity band (e.g. 1–3 pieces at $300, 4+ pieces at $286.02).
What does the country filter do? It keeps products the page reports as shippable to the chosen country and passes the country to DHgate's search so shipping quotes are rendered for that market.
How do I find a shop ID? Shop IDs are in store URLs: dhgate.com/store/22268785 → 22268785. Product pages also carry sellerStoreUrl.
Why do product pages sometimes take longer? Each product page is fetched with the impersonated client and retried on blocks; the page HTML is large (RSC payload), which is also why detail records are rich.
How fresh is the data? Live — every run reads the current storefront pages at run time.