How we price a Pokémon card

Every number on a PokeInvest card page is a median of real completed sales at that exact grade and grading company, and you can click it to see the sales. This page is the whole method — including the parts we are still not happy with.

730,000+completed sales collected
7marketplaces
6grading companies priced separately
every nightrecomputed, then checked before it goes live

The problem with one price

A card does not have a price. A raw Gengar EX, a PSA 9, a PSA 10, a CGC Pristine 10 and a BGS Black Label are five different things that sell for five different amounts — on one card we track, $949, $8,700, $26,525, $2,454 and $37,000. Most price guides show you one number, or a formula: PSA 10 times 1.3 for a BGS 10, times 0.6 for a CGC 10. Those are guesses wearing decimals.

So we don't do that. We collect the actual sales, file each one to a card and a grade, and publish a separate median for every grade at every grading company that has enough of them.

Where the sales come from

The same eBay listing seen twice is stored once. And where eBay shows a best-offer sale at its asking price, we store what the buyer actually paid — on the first batch we corrected, the accepted price averaged 17% under the ask.

How a sale is filed

The grading company has to be named in the listing. "PSA 10 potential" and "gem mint candidate" are raw cards, and they count as raw. Tiers above 10 are their own thing: CGC Pristine 10 is not a CGC 10, and a BGS Black Label is not a BGS 10 — on one card the Black Label sold for $8,000 against $3,500 for the gold label. Auction-house wording ("PSA NM-MT 8", "PSA PR 1") is read too.

Sales are set aside, with the reason recorded, when they are not the card: another language's printing filed under the English card, a card number the title contradicts, a lot or playset sold as one listing, a proxy, or a raw card described as damaged. They are never deleted; they just don't count.

How the number is made

A price that makes no sense beside its own card

The last check reads no words at all. It asks whether a sale's price makes sense beside the other sales of the same card at the same grade — eight times their median, or an eighth of it, and the sale is held out for a person to read. It caught a $954,800 sale sitting on a card whose PSA 10s fetch a few thousand: not a market event, a 1st Edition card filed under the ordinary one, which no word in the title gave away.

It deliberately never compares one grade with another. A 1st Edition Heracross PSA 10 sold for 133 times its own PSA 9; read from the other end, that would make every ordinary PSA 9 on that card look broken. Nothing in a number says whether a gap is a record or a mistake, so we don't guess — missing a wrong sale costs less than hiding a real one. And a card whose own ladder is out of order, a lower grade out-selling a higher one, is not used to judge anything at all; it gets flagged for us instead. About three sales in a thousand are held, and a hold lifts by itself once enough real sales make the price ordinary.

Checked before it goes live

Every night the whole table is recomputed and compared with the last good run. A price that moved more than 60% on fewer than five sales, a price with too few sales, a price whose newest sale has fallen outside its window — any one of those stops the run, and nothing is published until a person has looked. This has happened three times; each time it was a correction working (a Japanese copy leaving an English bucket) and was accepted by hand.

The photo is checked against the card. Where a marketplace gives us the listing photo, it is compared with the catalogue picture of the card it was filed under and of every other card by that name — a Gold Star Charizard does not look like the plain one, whatever the title says. A sale whose photo is clearly another card is held out. Photos cannot separate printings that share art (1st Edition from Unlimited); those are read from the title.

Two readers read every listing title. Rules do the filing. A second, independent reader — a language model running on our own hardware — reads each title again and flags any it thinks was filed to the wrong card. Where the two disagree is where we look; its first pass found three rules we then fixed.

And we audit by hand. On 27 September 2026 we read 200 random sales behind published prices, one by one: the grade was right on all 200, the card on 197. The three misses were one pattern, now caught.

What we don't do yet

See it on any card

Open a card page and click any price in the table. You'll get every sale it was made from — date, amount, listing — and a link to buy the same grade now. If a number looks wrong to you, the sales are right there to argue with. That is the whole point.

Want the numbers in your own tools?

The Data API returns every grade at every grader for a card, with sale counts, windows and direction — the same table, as JSON.

Method as of 15 November 2026. When it changes, this page changes.