How Cardspread works

Cardspread answers one question for any Pokémon card: is it cheaper to buy right now than the card's usual going rate? We do that by putting the cheapest current eBay listing next to the card's market price, so you can spot an underpriced card before you buy. Here's exactly how each number is produced — including where we can get it wrong.

The benchmark: TCGplayer market price

Every card is measured against its TCGplayer market price — the price the wider market has actually been paying. We source it from pokemontcg.io, and for brand-new sets that pokemontcg.io hasn't priced yet, we fall back to TCGplayer's own daily price data (via TCGcsv) so even fresh releases have a benchmark. We pick the price for the card's standard finish (e.g. holofoil) and use the market price where available, falling back to the mid/low estimate when it isn't.

The live price: cheapest eBay listing, shipping included

For the “buy” side we query eBay's Browse API for current listings and take the cheapest total to your door — item price plus shipping, so a “cheap” card with $8 shipping isn't mistaken for a deal. We only consider fixed-price listings (auction prices are misleading until they close), and we filter out listings that aren't comparable to a raw single card:

The deal signal

We then compare the all-in eBay total to the TCGplayer benchmark:

The percentage you see (e.g. “▼12%”) is how far below the benchmark the cheapest listing sits.

How fresh the data is

A background job refreshes prices continuously (roughly hourly) rather than at the moment you load a page, which keeps us inside the data providers' rate limits. We also record one price point per card per day, so card pages can show a price trend over time. Practically: the numbers are recent, but can lag the live marketplace by a little — always treat the eBay listing itself as the source of truth.

Where we can be wrong

This is automated matching across third-party data, so it isn't perfect. We can occasionally surface the wrong variant, condition, or a listing whose title fooled our filters; benchmark prices can be stale or missing for obscure cards. None of this is financial or purchasing advice. Before you buy, open the actual eBay listing and verify the price, condition, and authenticity yourself. More detail is on our legal & disclosures page.

Why we built it

Pricing a Pokémon card means juggling a market price in one tab and a dozen eBay listings in another. Cardspread collapses that into a single answer — cheapest live listing vs. market — for any card, so you spend less time comparing and more time collecting. Questions about how any of this works? About Cardspread →