Build a Reseller App: Scan a Barcode, Get the eBay Sold Price

A reseller scanning app turns a barcode into a sell price: look up the product name from the UPC, search recent eBay sold listings for that exact product and condition, drop lots and outliers, and show the median with the number of sales. Speed matters in a store, so cache popular items and show results in under two seconds. Use sold prices, not active listings, or the app will overestimate profit.
eBay-style search with the Sold items filter on, showing sold prices in green and a lot sale excluded

Resellers in a thrift store or at a pallet sale have one question per item: if I buy this, what will it sell for, and how fast? An app that answers in three seconds wins. One that answers in thirty, or answers wrong, gets deleted.

Here's how to build the pricing core.

The flow

  1. Scan the barcode (UPC/EAN), or take a photo for items without one.
  2. Identify the product: UPC → product title from a product database.
  3. Search sold listings for that title, in the condition the user picks.
  4. Clean: drop lots, for-parts sales and outliers.
  5. Show: median sold price, middle range, number of sales, and sales per week.

Step 3–4 in code

async function soldPrice(title, condition = "used") {
  const url = new URL("https://api.soldcomps.io/v1/sold");
  url.searchParams.set("q", title);
  url.searchParams.set("condition", condition);
  const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.SALEHISTORY_KEY}` } });
  if (res.status === 502) return { status: "retry" };     // eBay hiccup: never show $0
  const { count, stats } = await res.json();
  const sales = count - stats.excluded;
  return {
    median: stats.median,
    range: [stats.p25, stats.p75],
    sales,
    perWeek: +(sales / 13).toFixed(1),                    // 90 days ≈ 13 weeks
  };
}

Lots, for-parts sales and outliers are already left out of stats, so the median is usable as-is.

The matching problem

Product titles from a barcode database are often long or generic ("Kitchen Mixer 5qt Stand Mixer Silver"). Shorten them to brand + model before searching. Resellers complain that eBay search returns "results matching fewer words"; your app should be stricter than eBay, not looser. Model numbers are gold: "KSM150PS" beats "KitchenAid Artisan mixer."

Show speed, not just price

A $90 item that sells once a month is a worse buy than a $40 item that sells five times a week. Resellers calculate sell-through constantly ("one of the biggest time-wasters for me is figuring out sell-through rate when I'm out sourcing"). Give it to them:

  • Sales per week = clean 90-day sales ÷ 13
  • Optional: sell-through rate if you also count active listings. How STR works

Make it instant

Scans cluster on popular products. Cache each product's price for 12–24 hours and serve repeats from cache. New items take a few seconds; popular ones return instantly. And never show "$0" for a failed lookup. Show "couldn't load, retry" instead.

Profit, not just price

What the reseller really wants is a buy/no-buy answer:

Max buy price ≈ median sold × (1 − your fee rate) − shipping − your target profit

Let users set their fee rate and target, and show a green "buy under $X" next to every scan.

Try the pricing step without writing code in the sold comps lookup, then read the API docs.

Frequently asked questions

What is the best reseller app for checking prices?

The best ones show recent sold prices for the exact item and condition, with the number of sales and sell-through, not just asking prices. If you're building one, price from sold listings and show your sample size.

Can a reseller app scan barcodes to find eBay prices?

Yes. The barcode (UPC/EAN) identifies the product, a product database gives its name, and the name is used to search recent eBay sold listings. Items without barcodes need a photo or a typed search instead.

How fast does a reseller app need to be?

In a store, a few seconds at most. Cache popular items and refresh them in the background so most scans return instantly.

Sources

  1. r/Flipping: Sell-through rate while sourcing (Aug 2025) (accessed Oct 23, 2026)
  2. r/reselling: Looking up each item on eBay is too time consuming (May 2026) (accessed Oct 23, 2026)
  3. r/reselling: What pricing/comp tool do you actually use? (Aug 2026) (accessed Oct 23, 2026)

SaleHistory sells an eBay sold-listings API, so we have a commercial interest in this topic. We link primary sources so you can check our work. Spotted something out of date? Email hello@soldcomps.io.