Dhgate Scraper avatar

Dhgate Scraper

Pricing

from $6.80 / 1,000 results

Go to Apify Store
Dhgate Scraper

Dhgate Scraper

Source wholesale products from DHgate with real tiered pricing, MOQ, supplier feedback score, and active promo discounts - everything an importer needs to compare suppliers fast, in one search. 26 real fields per product, filters that actually work.

Pricing

from $6.80 / 1,000 results

Rating

0.0

(0)

Developer

Norm Data

Norm Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Norm Data

🛒 DHgate Scraper

Search DHgate wholesale listings with no login: real tiered pricing, minimum order quantity, free-shipping status, supplier store, feedback percent, recently-sold count, and active promotions, 26 fields per product from a single search.

🎯 Who uses it?

📦 Importers & dropshippers

Compare tiered wholesale pricing and minimum order quantity across suppliers for a product category before committing to an order.

📉 Price monitors

Track a product line's real price range and active promotions over time.

🔍 Supplier vetters

Use feedback percent, tier level, and recently-sold count as a first-pass signal before reaching out to a supplier directly.

✨ What it does

Reads DHgate's own real search results directly and normalizes them into clean, flat rows.

  • Search by one or more keywords, each getting its own fair share of the row cap.
  • Filter by price range and free shipping, and sort by price (low to high or high to low).
  • Every row carries real wholesale pricing (a genuine per-unit range, not a single display price), minimum order quantity, supplier signals (feedback percent, tier level, recently-sold count), and any currently active promotion with its real discount and date window.

Missing source values are returned as null, never invented.

Why this scraper

  • 26 real fields per product from one search, more than double a typical competitor's field count, with no separate paid detail call needed to get them.
  • A price filter that's actually correct, not just narrower. Every row is re-checked against its own real parsed price, so the price bounds mean what they say.
  • Sorting that actually sorts, verified to return results in the order requested rather than passed through blindly.
  • Fair multi-keyword budgeting. Search several keywords in one run and each gets its own real share of the row cap, so one fast keyword can't consume the whole budget and leave the others at zero.
  • Reaches further than a single flat search. A plain keyword search on DHgate tops out well short of its full catalog for that term; this Actor keeps going to reach well beyond that ceiling.
  • No API key, no login, no browser, no proxy needed.

How it compares

Checked directly against the closest real competitor on Apify (their own declared input and output); DHgate scrapers overall are fragmented across 13+ actors, none with more than 3 users:

CapabilityThis actorClosest competitor
Fields per product26~20
Supplier signals (feedback %, tier level, recently sold)yespartial
Active promotion detail (discount %, start/end date)yesno
Price filter that's verified correct, not just narroweryesnot verified
Working price sortyesnot verified
Fair budget split across multiple keywordsyesnot documented

📦 What data you get

EntityUseful fields
ProductItem code, title, URL, image, and the keyword that found it.
PricingReal tiered price range, currency, minimum order quantity and unit.
Shipping & promotionsFree-shipping flag, and any active promotion's discount and date window.
Supplier signalsFeedback percent, recently-sold count, review count, rating, and tier level. Not every field is populated on every listing, a real data gap in the source, not ours.
Supplier identitySupplier ID, domain, and store URL.
Listing flagsWhether the listing has video and whether it's sponsored.

💡 Use cases

{ "queries": ["bluetooth earbuds"] }

🚚 Multiple keywords, free shipping only, cheapest first

{ "queries": ["led strip light", "phone case"], "freeShippingOnly": true, "sortBy": "price_up" }

💵 Within a price range

{ "queries": ["watch"], "minPrice": 5, "maxPrice": 20 }

Apify Free plan: every run is limited to a fixed 10-row sample. Upgrade your Apify plan to run your own settings.

🛡️ Limits & responsible use

This Actor reads only DHgate's own public search results. It never signs in and never accesses anything gated behind an account.

feedback_percent, review_count, and rating aren't populated for every listing; that's a real gap in DHgate's own data, not something this Actor fills in. price_min can equal price_max when a listing has one flat price rather than a quantity-tiered range, both real and handled honestly. Full product-page detail (specs, variants, full review text) isn't offered; DHgate's own individual product pages sit behind stronger protection than the open search results this Actor reads. A single keyword's own inventory can genuinely be exhausted before reaching a very large requested count; splitting a broad keyword into more specific ones reaches a different, additional pool of results.

Read live from DHgate on every run. It is not cached.

Is this an official DHgate tool? No. Independent, not affiliated with DHgate. It reads only publicly available pages.

📧 Contact

Need a scraper for a different site, or found something wrong with this one? norm.data.scrapers@gmail.com

Local development

bun install
bun test # offline: parsing, normalization (real fixtures)
bun run src/main.ts # reads storage/key_value_stores/default/INPUT.json