DHgate Search Scraper
Pricing
from $20.00 / 1,000 results
DHgate Search Scraper
Search DHgate.com for any keyword and get wholesale product cards with price, minimum order, seller, ratings, and recent sales.
Pricing
from $20.00 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Search DHgate.com for any keyword and get clean wholesale product cards — product, price, minimum order, seller, ratings, reviews, and recent sales — as structured JSON.
Why use this actor
- Wholesale sourcing at scale — every result links the product to its detail page and the seller's store.
- Real wholesale pricing — captures the price (single value or range), the original pre-discount price, and the minimum order quantity for each product.
- Buyer trust signals — seller feedback percentage, review rating, review count, positive-review percentage, and recent sales count when shown.
- No account, no API key — works straight from public search pages.
- Automatic retries — transient hiccups are retried for you, so runs stay reliable.
- Stable JSON output — the same field names every run, ready for spreadsheets, databases, or pipelines.
How it works
- You provide one or more search keywords.
- The actor pulls the search results for each keyword across as many pages as you allow (about 48 products per page).
- Each product is saved as a
PRODUCTrecord with its price, minimum order, seller, ratings, and recent sales. - If a keyword returns nothing, the actor still writes one diagnostic record so a query is never silently dropped.
- Everything lands in your dataset, exportable as JSON, CSV, or Excel.
You don't need to manage any browsers or scrapers. For larger runs we recommend enabling a proxy.
Input
{"queries": ["mechanical watch","wireless earbuds"],"maxPagesPerQuery": 2,"maxConcurrency": 4,"maxRequestRetries": 5,"proxyConfiguration": { "useApifyProxy": true }}
Each keyword in queries is searched independently and produces its own set of PRODUCT records.
| Field | Type | Description |
|---|---|---|
queries | array | Required. Keywords to search (one per array entry). Each keyword yields its own product cards. |
maxPagesPerQuery | integer | Pages of results per query, ~48 products/page (1–20). Stops early when a page returns no more products. Default 2. |
maxConcurrency | integer | Number of parallel requests across all keywords (1–20). Default 4. |
maxRequestRetries | integer | Retries per page before giving up (1–15). Default 5. |
proxyConfiguration | object | Apify Proxy or a custom proxy list. Datacenter proxies work fine for this source. |
Output
Each product is one record (recordType: "PRODUCT"):
{"recordType": "PRODUCT","query": "mechanical watch","page": 1,"title": "St9 Jacob Watch Ceramic Bezel Black Sapphire Date Dial 41Mm Automatic Mechanical Stainless Steel Mens Men Jacobo Co Wristwatches 4Ca","productUrl": "https://www.dhgate.com/product/st9-jacob-watch-ceramic-bezel-black-sapphire/1106196355.html","itemCode": "1106196355","productId": "8aaafce29e15efcf019e2ab8ace940f4","priceText": "US $29.47 - 42.12","priceMin": 29.47,"priceMax": 42.12,"currency": "USD","originalPriceText": "US $36.38 - 52.00 / Piece","minOrder": "1 Piece","minOrderNum": 1,"unit": "Piece","image": "https://img4.dhresource.com/webp/m/300x300/f3/albu/bw/m/14/2ae1b0e0-7b90-4939-82c5-8c54fb7c59e3.jpg","sellerName": "luxury_jewelry_top1","storeUrl": "https://www.dhgate.com/store/top-selling/22273705.html","sellerId": "8aaafdb89a4881da019a58638dd314a4","feedbackPercent": "87.2%","rating": 5.0,"reviewCount": 2,"positiveReview": "100%","soldCount": 18,"freeShipping": false,"scrapedAt": "2026-06-10T19:24:27Z"}
If a keyword returns no products, the actor writes a single diagnostic record instead:
{"recordType": "PRODUCT","_input": "xyzzy no such product","error": "NO_RESULTS","scrapedAt": "2026-06-10T19:24:27Z"}
| Field | Type | Description |
|---|---|---|
recordType | string | Always "PRODUCT". |
query | string | The keyword that produced this record. |
page | integer | Result page the product was found on. |
title | string | Product title. |
productUrl | string | Full product detail URL. |
itemCode | string | DHgate product item code. |
productId | string | Internal product identifier. |
priceText | string | Price exactly as shown, e.g. US $29.47 - 42.12. |
priceMin / priceMax | number | Low / high end of the price (priceMax is null for a single price). |
currency | string | ISO currency of the price (e.g. USD). |
originalPriceText | string | Original pre-discount price when shown. |
minOrder | string | Minimum order quantity as shown, e.g. 1 Piece. |
minOrderNum | integer | Minimum order quantity as a number. |
unit | string | Order unit, e.g. Piece. |
image | string | Primary product image URL. |
sellerName | string | Seller store handle. |
storeUrl | string | Seller's store page URL. |
sellerId | string | Internal seller identifier. |
feedbackPercent | string | Seller positive-feedback percentage, e.g. 87.2%. |
rating | number | Product review rating when shown, e.g. 5.0. |
reviewCount | integer | Number of product reviews when shown. |
positiveReview | string | Positive-review percentage when shown, e.g. 100%. |
soldCount | integer | Recently sold count when shown. |
freeShipping | boolean | Whether the product is shown as free shipping. |
scrapedAt | string | ISO 8601 timestamp of collection. |
error | string | Only on diagnostic records: NO_RESULTS or BLOCKED_AFTER_RETRIES. |
Other DHgate / Wholesale Scrapers
| Actor | Description |
|---|---|
| DHgate Search Scraper | Keyword search → product cards with price, minimum order, seller, and ratings. |
| DHgate Product Scraper | Full product detail: specifications, variants, shipping, and seller profile. |
| DHgate Reviews Scraper | All buyer reviews for a product, with rating, text, and date. |