Every Pokémon card. Every printing. Linked.
The open dataset of the Pokémon TCG, and a scanner that names the exact print on your phone.
The corpus
Every set, card and copy, with every printing linked to every other, in three languages.
The scanner
Finds every card in the frame and names the exact print. On your phone, offline.
One card. Every printing. Every language.
Most card lists stop at the card. CardCorpus keeps going: from an anniversary stamp back to the original, through its print runs, out to every reprint and every language.
Spot the difference. Then filter on it.
Every copy says how to tell it apart, twice: in a sentence a collector can check against the card in their hand, and in fields a program can query.

“A 1st Edition symbol, and no shadow around the picture”
Nobody had this. So we built it.
CardCorpus isn't a copy of another list. It's what's left after pulling 13 sources together, settling every place they disagree, and checking the cards by hand.
Point. Shoot. Every card, named.
One card or a whole binder page in one photo. It names the exact print, not just the Pokémon, because it learned from every picture in CardCorpus. On your phone, offline, free.










1st Edition
Shadowless
Unlimited
4th printPennySleeve
The whole thing, made for collectors.
Browse every printing, scan your binders, keep your collection and check prices. The flagship app, built on everything above.
Open pennysleeve.app ↗

Every printingScan a binderYour collectionFree. No key. Take all of it.
Use it live
Every file at a stable URL. No key, no sign-up.
curl cardcorpus.com/v1/sets/international/base-set.jsonTake all of it
One export of every file, per release.
cardcorpus.com/downloads/cardcorpus-v1.tar.zstEvery picture
By id, at 240, 480 and 960 px, plus originals.
img.cardcorpus.com/s1/480/{id}.avifDaily prices
TCGplayer and Cardmarket, keyed by our ids.
prices.cardcorpus.com/international/base-set.jsonEvery shape
A JSON Schema for every file.
cardcorpus.com/v1/schema/set.schema.json