Monitoring Competitor Prices Across eBay, 1688, and Your Own Shopify Catalog
Key Takeaways
Why does sold price matter more than listed price for competitive intelligence? Listed price is an asking price — anyone can list an iPhone at any number. Sold price is what buyers actually paid, which makes it a far more honest signal of true market clearing price than scraping competitors' storefronts alone.
Can you monitor your supplier cost basis with the same kind of pipeline? Yes — 1688 (China's largest B2B wholesale marketplace) publishes tiered pricing by order quantity directly on listings, which is the actual cost curve behind a huge share of dropshipped and white-label inventory sold on Shopify and elsewhere.
Do you need a paid pricing-intelligence SaaS to run this? Not for a small-to-mid catalog — the three data sources below cover sold comps, supplier cost, and your own storefront without a subscription, though a SaaS tool still wins on repricing automation once you're managing thousands of SKUs.
Three Price Signals, Not One
Most "price monitoring" advice conflates three genuinely different signals into one number:
| Signal | Source | What it tells you |
|---|---|---|
| What buyers actually paid | eBay sold listings | True market clearing price, not asking price |
| What it costs you to source | 1688 wholesale tiers | Your real margin floor at a given order volume |
| What you're currently charging | Your own Shopify catalog | Whether your price still makes sense against the other two |
Tracking only the middle one (competitor listed prices) tells you what other sellers hope to get, not what the market actually pays or what your true margin looks like. All three together is a genuinely different, more honest picture.
Sold Price: What the Market Actually Paid
The eBay Sold Listings Scraper returns closed, completed sales — not active listings — across 8 marketplaces, filterable by keyword, condition, and a lookback window:
{
"title": "iPhone 15 Pro Max - 512 GB - Blue - Unlocked - 99% Batt Health",
"condition": "Pre-Owned",
"endedAt": "2026-06-20T05:00:00.000Z",
"soldPrice": "750",
"soldCurrency": "USD",
"listingType": "best_offer_accepted",
"sellerFeedbackScore": 51
}
listingType matters here: best_offer_accepted sales settled below the original ask, so if you're building a median sold price, weight or flag best-offer sales separately from fixed-price sales rather than treating every closed listing as equally representative of "the price."
Supplier Cost: What It Actually Costs to Source
The 1688 Products Wholesale Scraper returns tiered pricing directly from the listing — the price per unit drops as order quantity increases, which is the real cost curve behind a lot of dropshipped and private-label inventory:
{
"title": "跨境苹果17pm手机壳磁吸16pro肤感防摔iphone15promax磨砂保护套",
"price": { "min": 7.58, "max": 9.0, "currency": "CNY" },
"quantityPrices": [{ "quantityRange": "2~99个", "price": 9.0 }],
"minOrderQuantity": 2,
"supplier": { "companyName": "佛山市南海区三丰手机配件有限公司", "isSuperFactory": true }
}
Note the source language — 1688 is a Chinese-language marketplace, so keywords, province, and city input filters take Chinese-language values (e.g. 广东 for Guangdong), not English. If your product research starts in English, translate the search term before querying rather than expecting an English keyword to match.
isSuperFactory is worth filtering on directly: it flags suppliers 1688 has verified as an actual manufacturer rather than a reseller, which matters if margin depends on sourcing at true factory pricing rather than a middleman markup.
Your Own Price: The Third Point of the Triangle
The Shopify Products Scraper reads your own (or any) storefront's public product catalog directly — useful for tracking your own pricing history over time, or watching a specific competitor's Shopify store the same way:
{
"store": "deathwishcoffee.com", "title": "Maple Cinnamon Tee",
"vendor": "Planet Apparel", "priceMin": 15.0, "compareAtPrice": 30.0,
"onSale": true, "productType": "Apparel", "tags": ["Apparel", "Sale", "Unisex"]
}
If your competitive set sells through Turkey's Trendyol instead of Shopify, Trendyol Product Scraper covers the same ground for that marketplace, including its own review/rating signal per listing.
Combining the Three Into a Margin View
function marginCheck(productKeyword) {
const sold = getEbaySold(productKeyword); // what it actually sells for
const supplier = get1688Cost(productKeyword); // what it costs at your order volume
const listed = getMyShopifyPrice(productKeyword); // what you're charging now
const medianSold = median(sold.filter(s => s.listingType !== "best_offer_accepted").map(s => +s.soldPrice));
const unitCost = supplier.quantityPrices.find(t => matchesYourVolume(t.quantityRange))?.price;
const cnyToUsd = 0.14; // refresh periodically
return {
marketClearingPrice: medianSold,
yourCostUsd: unitCost * cnyToUsd,
yourCurrentPrice: listed.priceMin,
impliedMargin: listed.priceMin - unitCost * cnyToUsd,
headroom: medianSold - listed.priceMin, // room to raise price before exceeding market rate
};
}
headroom is the number worth watching weekly — it's the gap between what the market is actually paying (from sold data, not asking price) and what you currently charge. A shrinking or negative headroom is the earliest real signal that your price has drifted out of market, well before a competitor's listed-price change would show it.
FAQ
How often should this run? Weekly is usually enough for sold-price and supplier-cost tracking — both move slower than daily. Run it daily only around high-volatility periods (a new product launch, a supplier price change you've been notified of, or a seasonal demand spike).
Does this work for categories without much eBay sold volume? Less reliably — thin sold-listing volume makes the median noisy. For low-volume or highly differentiated products, weight the 1688 cost-floor and your own historical pricing more heavily than a sparse sold-price sample.
For a lead-generation pipeline built on the same Shopify data source, see Finding and Qualifying Shopify Stores Before You Cold-Email Them, or browse the full e-commerce actor list on ParseBird.