compsapi.com / lego comps

LEGO comps by set number, sealed or used

The set number is necessary and nowhere near sufficient, because most of what matches it is parts, instructions and single minifigures.

Start with the number, then keep going

Searching by name is hopeless, because LEGO reuses them. There have been Millennium Falcons at thirty dollars and Millennium Falcons at nine hundred. Measured 17 October 2026, three year window:

QuerySalesMedian25th75th
lego millennium falcon187$48.00$22.68$127.83
lego 75192178$475.63$39.99$731.85
lego 75192 plus condition=new181$600.00$33.22$755.77

The name gives you a $48 median spread across more than ten different Falcon sets, plus minifigures, stickers and instruction booklets. The set number pulls the right product into view and the median jumps to $475.63. Adding condition=new moves it another 26% to $600.00, because sealed and used are two separate markets for the same box.

Look at the 25th percentile on that middle row though. $39.99 for a set that retailed at $849. That is not a bargain, it is the long tail of listings that mention 75192 while selling something else: a replacement part, a minifigure, the instructions, an empty box.

The retired set trap

This is where naive pricing goes badly wrong. Set 10179 is the 2007 Ultimate Collector's Millennium Falcon, one of the most valuable sets LEGO ever made. The bare query returns:

QuerySalesMedianMax
lego 10179160$10.00$696.60

A ten dollar median on a set that trades in the thousands. The reason is simple once you see it: the complete set almost never sells, so three years of matches are dominated by instruction manuals, sticker sheets, single minifigures and replacement parts listed for 10179. The rarer the set, the worse this gets, because scarcity removes exactly the listings you wanted and leaves the accessories behind.

The fix is a price floor and a condition. min_price drops the parts, condition=new isolates sealed, and the spread tells you whether what is left is one product or several.

A clean one for contrast

Not every set is a fight. lego 21309, the NASA Apollo Saturn V, returned 182 sales, median $185.30, quartiles $52.05 to $240.15, with no outliers removed. A retired set with real volume and a number nothing else uses behaves well on a bare query. Knowing which kind of set you are holding is most of the skill.

curl -G https://api.compsapi.com/v1/comps \
  -H "Authorization: Bearer YOUR_KEY" \
  --data-urlencode "q=lego 75192" \
  --data-urlencode "condition=new" \
  --data-urlencode "days=1095"

What this is for

Valuing a collection set by set, deciding whether to open or hold a sealed box, pricing a bulk buy, and watching what retirement actually did to a set rather than what a forum says it did. One request returns up to 240 completed sales, so a parts list or a whole inventory walks without a browser.

A LEGO specific price guide is still the right tool for retail prices, piece counts and retirement dates. What it cannot give you is the raw sales behind a number, or a filter you chose yourself. That is the gap this fills.

Offers and depth

Big sets sell through Best Offer constantly, so eBay's public sold page tends to show the asking price rather than what was paid. Our study of 5,859 matched sales put the median gap at 14.9%. We return the settled amount per row. And because a retired set may sell a few times a month, ninety days of history is often too thin to read, which is what the full 1,095 days is for.

Price from what things
actually sold for

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

Get a free key