compsapi.com / blog

Why new can cost less than used

Filtering a sold search to new sometimes returns a lower price than used. It is not a glitch, it is what the word new matches on eBay.

Published 2 November 2026 by CompsAPI

Here is a result that looks wrong until you understand it. We searched completed eBay sales for a Nintendo Switch OLED console over the last year, once with no condition filter, once limited to new, once limited to used. Measured 2 November 2026.

SearchSalesMedian25th75th
nintendo switch oled console174$94.37$14.26$190.58
plus condition=new158$14.47$9.98$23.07
plus condition=used193$172.50$135.00$200.00

The new median is $14.47 and the used median is $172.50. The item filtered as new sells for a twelfth of the one filtered as used. A used console is worth more than a new one, which cannot be true for the same product.

What new actually matched

It is not matching consoles. It is matching things that are genuinely new and genuinely cheap: screen protectors, carry cases, replacement joy con straps, dock covers, boxes sold empty. All of them legitimately list as new, all of them mention Nintendo Switch OLED, and there are a lot of them. The few real new consoles are swamped.

The used filter does the opposite. Almost nobody lists a screen protector as used, so used strips the accessories out and leaves actual consoles, which is why its median lands where a console should and its quartiles are tight, $135.00 to $200.00.

It is not a Switch thing

The same inversion shows up anywhere a cheap accessory outnumbers the product. AirPods Pro, second generation, same one year window:

SearchSalesMedian
airpods pro 2nd generation plus condition=new159$9.99
airpods pro 2nd generation plus condition=used185$49.30

New returns $9.99, the price of replacement ear tips, cases and single counterfeit buds. Used returns $49.30, real secondhand units. Same shape, same cause.

The rule to take from it

A condition filter is not a reliable way to clean a search, because condition describes the listing, not the thing. If a median sits far below where you expect and the 25th percentile is a tiny fraction of it, the search is matching more than one kind of object and no amount of filtering on new will fix it. Narrow by words accessories do not carry, a category, or a min_price floor, and read the quartile spread to confirm you are now looking at one product.

This is the same failure we measured on trading cards and LEGO sets, where a loose query moves a median by tens of times. The direction is always the same: the cheap, plentiful thing drags the number down.

Do it in code

curl -G https://api.compsapi.com/v1/comps \
  -H "Authorization: Bearer YOUR_KEY" \
  --data-urlencode "q=nintendo switch oled console" \
  --data-urlencode "condition=used" \
  --data-urlencode "days=365"

Every response carries the per sale rows and a stats block with the median and quartiles, so you can check the spread on every item instead of trusting a single number. Full parameter reference.

Price from what things
actually sold for

100 free requests a month · every filter on · no card

Get a free key