DHgate Scraper avatar

DHgate Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
DHgate Scraper

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

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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, supplierId
  • title, categoryName, description, descriptionBullets[], specifications[] (name/value pairs)
  • priceMin, priceMax, priceRange, priceTiers[] (startQty/endQty/price), minOrderQty, measureUnit
  • variants[]attribute, name, imageUrl
  • images[] — gallery image URLs, imageUrl (listings)
  • stockCountries[], stockCountry, shipToCountry, shipToCountryCode
  • shippingCostUsd, shippingCurrency, shippingDays[], freeShipping, moneyBackDays, deliveryEstimate
  • saleNum / soldCount, dimensionsCm, grossWeightKg, lastModifiedDate
  • rating, reviewCount, transactionCount, reviewBreakdown (per-star counts)
  • sellerName, sellerStoreUrl, sellerRatingPercent, sellerLevel, sellerTier, yearEstablished, companyIntroduction
  • sourceUrl, productUrl, recordType: "product", scrapedAt

Output per shop

  • storeName, storeUrl, logoUrl, positiveFeedbackPercent, transactionCount, onTimeDeliveryRate, sellerLevel, sellerTier
  • sourceUrl, recordType: "shop", scrapedAt

Input

FieldTypeDefaultDescription
modestringsearchsearch / browseByCategory / shopProducts / byUrl
searchQuerystringsmart watchFree-text keyword (mode=search)
categorystringelectronicsOne of 21 top-level categories (mode=browseByCategory)
startUrlsarrayProduct / category / store URLs (mode=byUrl)
shopIdintSeller shop ID, e.g. 22268785 (mode=shopProducts)
minPrice / maxPricenumberPrice range filter in USD
minRatingnumberMin seller rating (0–5)
containsKeywordstringKeep only products whose title contains this text
countrystringKeep only products shippable to this country (25 options)
maxItemsint50Hard cap (1–1000)
proxyConfigurationobjectoffOptional 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 country filter 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/2226878522268785. 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.