Supplier Price Finder: Wholesale & Landed Cost
Pricing
from $4.00 / 1,000 product summaries
Supplier Price Finder: Wholesale & Landed Cost
Wholesale and dropship cost for a product idea: unit prices, MOQ, price breaks and supplier ratings from Made-in-China, AliExpress and Alibaba search, plus DHgate and Alibaba offer pages you pick, with a landed-cost estimate where a page shows shipping. Only your Apify account needed.
Pricing
from $4.00 / 1,000 product summaries
Rating
0.0
(0)
Developer
CleanPull
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
Give it product ideas in a few words ("silicone baking mat", "dog harness") and get what it costs to source them: factory offers from Made-in-China.com with unit price, minimum order (MOQ), quantity price breaks, and the supplier's name, badge, audit, years and reviews. Add the DHgate and Alibaba offer pages you found to compare them in the same table: DHgate pages bring the shipping cost and delivery days to the US, so those offers get a landed cost per unit (labelled an estimate). AliExpress and Alibaba search join through CleanPull's marketplace data service when you add them to sources, with only your Apify account needed. Each idea gets one summary row: the spread of unit prices and MOQs, the cheapest, lowest-MOQ and cheapest-landed offers, and a landed-cost range where a page shows shipping. From $2 per 1,000 offers.
What you can do with it
- "What would this product cost me to source?" One product idea, ten Made-in-China offers: the summary gives the lowest, median and highest unit price and MOQ in one row.
- "What do these DHgate listings cost landed in the US?" Paste the DHgate offer pages you found: each gets its US shipping quote, delivery days, price breaks and a landed cost per unit, as an estimate.
- "What is the unit price at 1,000 units?" Set an order quantity: each offer's price comes from the price break that holds it.
- "Compare the Alibaba quotes I found with other suppliers." Paste Alibaba product pages next to a product idea: their price breaks, MOQ, supplier years and rating join the same summary.
- "Check margins for a product I want to sell." Feed the summary's unit and landed cost into a margin estimate (the CleanPull plugin's
/validatedoes this). - "Dropship from AliExpress." Add
aliexpresstosources: its prices per piece join the comparison, from its search for your product idea. - "What do Alibaba factories ask for it?" Alibaba search gives each offer's price or price range and the supplier; give an offer's page for its price breaks and MOQ.
Where the prices come from
| Source | How | What it adds |
|---|---|---|
| Made-in-China.com | Searched by product idea (30 offers per search), plus the top offers' own pages | Unit price or range, MOQ, price breaks, Diamond or Gold member badge, audit, province, business type, years, reviews |
| DHgate offer pages | The pages you give (dhgate.com/product/…/ | Price range, list price, price breaks, lot size, shipping cost and days to the US, store age, feedback, on-time delivery |
| Alibaba.com product pages | The pages you give (alibaba.com/product-detail/…) | Price breaks, MOQ, supplier name, years, rating, on-time delivery, verification, units sold |
| AliExpress search | aliexpress.us search, through CleanPull's marketplace data service | Sale price and list price per piece in USD, store name. No price breaks, no shipping cost |
| Alibaba.com search | alibaba.com search, through CleanPull's marketplace data service | Price or price range in USD (from the variants), supplier name and country. No price breaks, MOQ or shipping cost |
Pages this actor reads itself are read signed out, as any visitor sees it, and only at addresses the site's robots.txt allows. DHgate is not searched: its robots.txt disallows its search pages (/w/) and any address with a query string; its offer pages are read when you give them, as are Alibaba's. 1688.com needs a sign-in and is not read.
The marketplace data service is a third-party web data provider. CleanPull holds the account and its key, which never appears in your input, logs or results. A search there takes about a minute, whatever the depth, and all the product ideas of a run are searched together, so more ideas add little time. It is searched only when sources lists aliexpress or alibaba. Each result delivered as an offer row is a provider record on your bill; results the title filter or Offers per source leave out are not charged per record. Each search job (one source with the run's ideas) is one provider search, a flat fee that covers the results left out. Its offers carry no price breaks and no shipping cost, so they have no landed cost, and each offer row says so in notes. AliExpress sells single pieces (MOQ 1); Alibaba's minimum order is not on its search page (moq is null).
In tests from Apify's servers, every Made-in-China and DHgate page was read on the first try from Apify's own address, and every DHgate offer page given had a US shipping quote.
What makes the data right
- Landed cost only where a page shows shipping. It is the unit price plus the shipping the page shows for your country, spread over the units of that quote. It never guesses a freight rate, and it excludes import duties, taxes, payment fees and customs brokerage. Every landed figure is labelled as an estimate, with its basis. Today that means DHgate offer pages you give, quoted to the US.
- Prices only in US dollars. A price is taken only where the page marks it as US dollars (US$, Alibaba's dollar fields, DHgate's USD fields, AliExpress's currency code); anything else stays empty, with a note in the row. Nothing is silently read as dollars.
- Unit prices per piece. DHgate sells some products by the lot: the unit price is the lot price divided by the pieces per lot, and the row keeps the lot price and lot size.
- Only offers about your product. Search results get padded with unrelated "recommended" listings; an offer whose title does not name every word of the idea (plurals count) is left out and never charged. Turn off Every word in the title to keep them.
- Specs to compare like with like. Two "silicone baking mats" can differ in material, size or thickness. Each offer carries the source's own attribute table (
specs: Material, Size, Capacity, Model NO.… as the supplier filled them in), itscategoryand the options a buyer picks from (variantOptions: colours, sizes), wherever the page or search record already read shows them. They are passed through as written, never normalised or checked, and cost nothing extra: no further request is made for them. - Prices at your quantity. With an order quantity, the price break that holds it is used; below an offer's MOQ, the quantity is raised to the MOQ and the row says so.
- A block is never an empty result. Each source gets its own proxy ladder (Apify's own address, then datacenter, then residential for a source that blocks the others, one request per page there), at most 2 requests at a time. A source or page that cannot be read is named in the summary row and the run summary, with the reason; the others still deliver.
- A service problem stops only its sources. If the marketplace data service is unavailable, AliExpress and Alibaba are named in the summary row with the reason, and Made-in-China and your pages still deliver.
- Only delivered rows are billed, and the summary describes them. A failed source, a removed page, a filtered offer or an idea with no offers (its summary is free) costs nothing. Runs stop cleanly at your spending limit or at Max cost per run; the summary then covers only the offers delivered with it (
offersFoundsays how many were found).
Input
| Field | What it does |
|---|---|
products | Product ideas, a few words each (up to 50). keywords, queries and searchTerms are accepted too |
sources | Searched by idea: made-in-china (the default), aliexpress, alibaba |
dhgateUrls | DHgate offer pages to compare (shipping to the US); with one product idea they join its summary |
alibabaUrls | Alibaba product pages to compare; with one product idea they join its summary |
maxOffersPerSource | Offers kept per searched source and idea (10 by default, up to 100) |
offerPagesPerSource | Top Made-in-China offers whose own page is read: price breaks, supplier years (3 by default) |
quantity | Your order quantity: the price break that holds it |
shipToCountry | Country for shipping quotes (US by default) |
matchAllWords | Keep only offers whose title names every word of the idea (on by default) |
maxRunCostUsd | A product idea starts only when its worst case fits under this amount |
maxConcurrency, fields, proxyConfiguration | Pace, field selection, your own proxy |
Example inputs
One product idea on Made-in-China:
{ "products": ["silicone baking mat"] }
Landed cost to the US for DHgate listings you found, next to factory prices:
{"products": ["resistance bands"],"dhgateUrls": ["https://www.dhgate.com/product/heavy-duty-resistance-band-latex-elastic/1117083369.html","https://www.dhgate.com/product/resistance-bands-band-exercise-elastic-workout/908303873.html"]}
Unit price at 1,000 units on every searched source, with Alibaba pages you found for their price breaks:
{"products": ["cotton tote bag"],"sources": ["made-in-china", "aliexpress", "alibaba"],"quantity": 1000,"alibabaUrls": ["https://www.alibaba.com/product-detail/_1600786838410.html"]}
Output
First a summary row per product idea, then its offer rows (recordType says which). A real summary row (shortened):
{"recordType": "summary","product": "resistance bands","offers": 8,"offersFound": 8,"offersBySource": { "made-in-china": 5, "dhgate": 3 },"sources": {"made-in-china": { "status": "ok", "offers": 5 },"dhgate": { "status": "ok", "offers": 3 }},"currency": "USD","unitPriceMin": 0.5,"unitPriceMedian": 5.615,"unitPriceMax": 17.16,"moqMin": 1,"moqMedian": 300,"landedUnitCostMin": 17.02,"landedUnitCostMedian": 18.42,"landedUnitCostMax": 25.41,"offersWithShipping": 3,"shipTo": "US","landedCostIsEstimate": true,"cheapestOffer": {"title": "Wholesale Custom Printed Logo Yoga Stretch Band Rubber Exercise Resistance Bands","source": "made-in-china","unitPrice": 0.5,"moq": 500},"cheapestLandedOffer": {"title": "Resistance Bands Band Exercise Elastic Workout Ruber Loop Strength Pilates Fitness…","source": "dhgate","unitPrice": 9.03,"moq": 1,"landedUnitCostMin": 17.02},"notes": ["…","Landed cost: Estimate: unit price plus the shipping the source shows for the destination, spread over the units. Excludes import duties, taxes, payment fees and customs brokerage."]}
A real offer row (shortened):
{"recordType": "offer","product": "resistance bands","source": "dhgate","title": "Heavy Duty Resistance Band Latex Elastic Belt Pull Up Assist for Pilates Workout Fitness Home Gym Shape Body Exercise 260725","url": "https://www.dhgate.com/product/heavy-duty-resistance-band-latex-elastic/1117083369.html","unitPriceMin": 9.4,"unitPriceMax": 19.45,"listPriceMin": 22.93,"priceTiers": [{ "minQuantity": 1, "maxQuantity": 43, "unitPrice": 10.17 },{ "minQuantity": 44, "maxQuantity": null, "unitPrice": 9.41 }],"moq": 1,"quantity": 1,"unitPriceAtQuantity": 10.17,"shippingShown": true,"shippingCost": 8.25,"shippingTo": "US","shippingDaysMin": 10,"shippingDaysMax": 20,"landedUnitCostMin": 18.42,"landedUnitCostMax": 18.42,"landedCostIsEstimate": true,"supplierName": "fan06","supplierYears": 4,"supplierPositiveFeedbackPercent": 97.2,"supplierOnTimeDeliveryPercent": 90,"offerPageRead": true,"category": "Resistance Bands","specs": [{ "name": "Type", "value": "Resistance Bands" },{ "name": "Training Site", "value": "Waist,ARMS,Legs" }],"variantOptions": [{ "name": "Color", "values": ["Red", "Blue", "Black", "Green"] }]}
Also on offers: offerKey (SHA-256 of source and listing id, stable across runs), image, unit, lotSize and lotPriceMin (DHgate offers sold by the lot), shippingFree, shippingMethod, supplierUrl, supplierRating, supplierRatingCount, supplierType, supplierLevel (Diamond Member, Gold Supplier, Verified…), supplierVerified, supplierLocation, ordersCount, notes, and the spec clues: category, specs (name and value pairs, at most 40, values up to 200 characters) and variantOptions (name and values), null where the source shows none in what was read. Where they come from: Made-in-China offer pages (attribute table and category path; its search cards show only price and MOQ), DHgate offer pages (attributes, category, options), Alibaba offer pages (attribute table and options; the page names its category by id only), AliExpress search records (specifications and options) and Alibaba search records (category path and options). The Specs and options view lists them. On summaries: unitPriceP25, unitPriceP75, pricedOffers, moqMax, lowestMoqOffer, quantity.
Dataset views: Product summaries, Offers, Shipping and landed cost and Price breaks (one row per break). RUN_SUMMARY in the key-value store gives the outcome (COMPLETE, PARTIAL, EMPTY, FAILED), counts per source, charges, and every source or page that could not be read, with the reason.
Pricing
| Event | Free and Bronze | Silver | Gold and above |
|---|---|---|---|
| Product summary (one product idea priced; free when no offer is found) | $5.00 | $4.50 | $4.00 |
| Supplier offer (a delivered offer row) | $2.00 | $1.80 | $1.60 |
| Page through residential proxy (add-on, per delivered page, only for a site that blocks the rest) | $7.00 | $7.00 | $7.00 |
| Provider record (an AliExpress or Alibaba search result delivered as an offer row) | $3.00 | $2.70 | $2.40 |
| Provider search (one per source and run: all the run's product ideas on it) | $20.00 | $20.00 | $20.00 |
Per 1,000. Each run also has a $0.00005 start fee. One product idea with 10 Made-in-China offers costs about $0.025; each DHgate or Alibaba page you add is one more offer. The add-on is charged only for a page that came back through residential addresses and was delivered, with that page's row; each page gets at most one such request, capped at 450 KB transferred. In tests every source answered on Apify's own address, so the add-on did not apply. A provider record is billed with its offer row, and the provider search with the first product idea's summary that has offers; an idea with no offers is free. Five product ideas on AliExpress at 10 offers each are one provider search ($0.02) and 50 provider records ($0.15), plus the summaries and offers; results filtered out by title cost nothing per record. Max cost per run counts one provider search per idea and source, since an idea can be its own search.
Limits
- Landed cost needs a shipping quote. Made-in-China pages say "contact the supplier" for freight and Alibaba loads shipping for a signed-in buyer, so their offers have unit prices but no landed cost. DHgate offer pages show shipping, quoted to the US (the country of the actor's addresses); for another country, they have no landed cost either.
- DHgate is read only from the pages you give. Its search pages are disallowed by robots.txt.
- AliExpress and Alibaba search results come from the US sites, without price breaks, shipping or (on Alibaba) MOQ. Give Alibaba offer pages for their breaks and MOQ.
- Prices are list prices for a signed-out visitor, in US dollars. Negotiated, sample, coupon and member prices are not included; "Negotiable" offers and prices in other currencies have no price.
- DHgate price ranges cover all variants; its price breaks are for the default variant.
- One-off research. Each run is a fresh look; there is no watchlist or change tracking.
- robots.txt: only addresses each site's robots.txt allows are read: Made-in-China
/products-search/hot-china-products/and supplier offer pages, DHgate/product/…pages without a query string, Alibaba/product-detail/pages. Read at a pace and scale the sites' terms allow (2 requests at a time per source). - Nothing found: when nothing could be read because the pages do not exist (a removed Alibaba or DHgate offer page), the run still succeeds, with one free
recordType: "unreadable"row per page giving thereason; nothing is charged. A run near its time limit stops starting product ideas, delivers what it read and lists the rest with the reason.
Changelog
- 0.3.x, reliability (2026-10-24): runs that find nothing (removed offer pages, input naming nothing readable) end SUCCEEDED with a free
unreadablerow per item saying why, instead of FAILED; a run stops starting product ideas before its time limit and ends with what it read, never TIMED-OUT. A run where every source blocked us still fails. Ship to country is checked in the input form. Prices and events unchanged. - 0.3 (October 2026): spec clues on every offer row:
category,specs(the source's attribute table: material, size, capacity…) andvariantOptions, taken from the pages and search records already read; no new requests, events or prices. Only fields are added: saved inputs run as they did. - 0.2 (October 2026): AliExpress and Alibaba searched by product idea through CleanPull's marketplace data service; no AliExpress app key needed (inputs with the old key fields run as they are, the keys ignored). New events: provider record (a search result delivered as an offer row) and provider search ($0.02 per source per run). Default sources stay as 0.1 ran them: with no
sourcesin the input, only Made-in-China is searched, so a saved task withoutsourcescosts what it did. AliExpress and Alibaba are searched (and billed) only whensourceslists them; a saved task that listsaliexpressnow searches it through the service, without a key. - 0.1 (October 2026): Made-in-China search and offer pages, DHgate and Alibaba offer pages by URL, AliExpress affiliate API with your key; summary per product idea with unit price and MOQ spread and a landed-cost range where a page shows shipping; prices only in US dollars; DHgate lots priced per piece; title matching; order quantity; Max cost per run.