DHgate API Scraper
Pricing
from $1.00 / 1,000 search result rows
DHgate API Scraper
Scrapes DHgate product search results and product detail pages via DHgate's mobile-app API.
Pricing
from $1.00 / 1,000 search result rows
Rating
0.0
(0)
Developer
R.L.
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
2
Monthly active users
3 hours ago
Last modified
Categories
Share
What does DHgate API Scraper do?
DHgate API Scraper extracts product data from DHgate by calling the same internal API the official Android app uses, instead of rendering and parsing HTML pages. Give it search keywords and it returns structured product listings (title, price, images, seller, rating); give it product itemcodes and it returns full product detail (SKUs, price tiers, supplier info, coupons). Run it on the Apify platform to get scheduling, API access, dataset export, and proxy support on top.
Why use DHgate API Scraper?
- Fast and cheap — calls a JSON API directly, no browser rendering needed.
- Structured data on demand — feed keywords in, get clean dataset rows out, ready for spreadsheets, BI tools, or price-monitoring pipelines.
- Full product detail — optionally pull SKU/price-tier/supplier data for every listing found, or for a specific list of product itemcodes.
How to use DHgate API Scraper
- Click Try for free (or Run) on the Actor page.
- Enter one or more Search keywords (e.g.
led strip light), or paste a list of Product itemcodes to fetch detail directly. - Adjust Max pages per keyword and Max items per keyword to control how much you scrape.
- Optionally enable Fetch product detail (PDP) to merge full product-detail data into each search result row.
- Click Start and download results from the Output tab in JSON, CSV, Excel, or other formats.
Input
The Actor accepts:
- keywords — search terms to look up on DHgate.
- itemcodes — product itemcodes to fetch detail for directly, skipping search.
- maxPages — search-result pages to fetch per keyword (20 products/page).
- maxItemsPerKeyword — cap on products collected per keyword.
- fetchProductDetails — also fetch full product detail for every search result.
- shipToCountry, dispCurrency, language — localization for prices/content.
- maxConcurrency — concurrent requests to DHgate.
See the Input tab for the full schema with defaults.
Output
Each dataset item is a product row. Example for a search result with detail fetching enabled:
{"source": "search","keyword": "led strip light","productId": 1059815893,"itemcode": "1059815893","title": "Custom LED Strip Light 12V/24V 240LEDs SMD 2835","price": "1.23","lowPrice": "1.10","highPrice": "1.50","imageurl": "https://img.dhresource.com/...","url": "https://www.dhgate.com/product/...","sellername": "example-store","feedBackPercent": "98.5%","detail": {"productName": "Custom LED Strip Light 12V/24V 240LEDs SMD 2835 ...","minPrice": 2.51,"maxPrice": 2.77,"minOrder": 50,"measureName": "Meter","category": "Lights & Lighting > Holiday Lighting > LED Strips","specification": { "Color": "White", "Certification": "CE UKCA FCC LVD RoHS" },"images": ["https://img4.dhresource.com/..."],"shipping": { "cost": 25.06, "timeMinDays": 7, "timeMaxDays": 28 },"seller": { "name": "magicled", "businessType": "Manufacturer", "country": "CN" }}}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data table
| Field | Description |
|---|---|
source | search or itemcode_input |
keyword | Search keyword that produced this row (search rows only) |
productId / itemcode | DHgate product identifiers |
title | Product title |
price / lowPrice / highPrice | Listed price range |
imageurl | Main product image |
url | Canonical product page URL |
sellername | Seller/store name |
feedBackPercent | Seller feedback score |
detail | Curated product-detail payload: price/order/shipping/seller/spec fields (only when detail fetching is used) |
Pricing / Cost estimation
This Actor uses pay-per-event billing — you're charged per row it delivers.
| You pay | Per | Equivalent |
|---|---|---|
| $0.001 | search result row | $1.00 / 1,000 |
| $0.001 | product detail row | $1.00 / 1,000 |
A search-only run of 1,000 listings therefore costs 1,000 × $0.001 = $1.00. With Fetch product detail (PDP) on, each of those rows also carries the detail charge, so the same run costs $2.00.
Apify platform usage (compute units, proxy, data transfer) is included — you pay the per-event prices and nothing else. Measured: a run uses about $0.019 of platform resource per 1,000 rows and needs no residential proxy, so there is nothing worth passing on.
Prices change on 2026-11-01
| event | now | from 2026-11-01 |
|---|---|---|
| search result row | $1.00 / 1,000 | $3.00 / 1,000 |
| product detail row | $1.00 / 1,000 | $5.00 / 1,000 |
Those are the Bronze-plan figures; Free pays a third more and Silver/Gold less. The detail row moves further because it costs an extra request per product and carries about 36 more columns — it had been priced the same as a listing row that rides along on a page fetch shared with 20 others. Both prices sit at or below the nearest comparable marketplace scraper on the Store.
Output shape changed in 0.1.12
Product detail used to arrive as a nested detail object. It is now flat, prefixed columns
(detail.seller.name is now detailSellerName), so detail fields appear in the Console table
and export cleanly to CSV. Rows also gained currency, lowPriceValue, highPriceValue and
feedBackPercentValue — DHgate publishes prices only as localised display strings
(13,89 €, US $15.37), so these are the same figures as sortable numbers.
Inputs validated before the first request
dispCurrency outside the 52 DHgate actually prices in — including the real codes CNY and
VND — returns US dollars with no error upstream, so the run now stops and lists the valid
ones. language outside ar de en es fr it nl pl pt ru tr returns an empty product list
upstream, so it is refused too. shipToCountry: GB is rewritten to UK, which is the code
DHgate uses.
Tips or Advanced options
- Leave Fetch product detail (PDP) off if you only need listing-level data — it roughly doubles request volume.
- Use Max items per keyword instead of a large Max pages per keyword if you only need a sample rather than exhaustive coverage.
- Provide itemcodes directly when you already know which products you want detail for — this skips search entirely.
FAQ, disclaimers, and support
This Actor is intended for legitimate data collection (price monitoring, market research, catalog aggregation). You are responsible for complying with DHgate's Terms of Service and applicable law in your jurisdiction. The API endpoints and signing scheme used here were reverse-engineered from DHgate's public Android app and may change without notice, which can break this Actor until updated.
Found a bug or have a feature request? Use the Issues tab on this Actor's page. Custom scraping solutions are also available on request.
Global marketplace toolkit
Part of the Global marketplace toolkit — product and pricing data across international B2B/B2C marketplaces and classifieds sites:
- Shopify API Scraper — Get product data from almost any Shopify store's public API.
- Made-in-China.com API Scraper — Scrapes product search results and details from Made-in-China.com's mobile app API.
- Back Market API Scraper — Scrape refurbished-device listings and full product detail from Back Market's API.
- Senukai.lt API Scraper — Scrape Senukai.lt product listings and full detail — prices, discounts, EAN/GTIN, images.
- Kleinanzeigen API Scraper — Scrape Kleinanzeigen (Germany) classified-ad listings and full details via mobile API.
- Algolia API Scraper — Generalised scraper for any Algolia-powered search index — scrape hits or discover facets.
Did you find this useful?
Rate this actor on Apify! Your feedback helps other users find it and helps us keep improving it.