Identification that refuses to be confidently wrong.
One REST call scans a card photo and returns name, set, number, year, and language across Pokémon, Magic, Yu-Gi-Oh, Lorcana, One Piece, sports, and more. When we can't be sure, we say so — you get an honest needsReview instead of a wrong card.
- Cards indexed
- 3,411,597+
- Cards indexed
- Per identify
- ~2–3s
- Per identify
- TCGs & sports
- 12+
- TCGs & sports
Free tier, no credit card.
Or try the free card scanner →Request
curl -X POST https://aicardvault.io/api/v1/identify \
-H "Authorization: Bearer $YOUR_API_KEY" \
-F front=@card.jpg \
-F category=pokemonResponse
{
"ok": true,
"result": {
"card": {
"name": "Charizard ex",
"set": "Obsidian Flames",
"number": "125/197",
"year": "2023",
"rarity": "Double Rare",
"language": "en"
},
"confidence": 0.94,
"needsReview": false
}
}One call. Front image in, structured identity out.
Built for developers at
- Marketplaces
- Grading services
- Collection & portfolio apps
- Deckbuilders
- Scanning & inventory tools
- Local game store software
Card identification that refuses to be confidently wrong.
The only card-ID API built around honest uncertainty. When it can't corroborate a match, it returns needsReview and card:null so your users never see a confidently wrong answer.
Live catalog
What's actually in our index
Not a promise — a live, own-built visual index of 3,411,597+ cards across 44 games and sports, growing every day via automated ingest.
Trading card games
- Pokémon128,120
- Magic: The Gathering112,303
- Weiß Schwarz95,357
- Flesh and Blood30,585
- Cardfight!! Vanguard25,025
- Battle Spirits15,501
- Yu-Gi-Oh!14,617
- Duel Masters12,013
- Star Wars: Unlimited9,110
- WIXOSS8,385
- Dragon Ball Super Card Game (Classic)7,841
- Digimon Card Game7,735
- Future Card Buddyfight7,397
- Shadowverse Evolve7,366
- Dragon Ball Super: Fusion World7,140
- Union Arena5,968
- Grand Archive TCG4,940
- Final Fantasy TCG4,253
- Disney Lorcana3,192
- One Piece Card Game3,048
- Kayou3,008
- Star Wars: Destiny2,977
- Legend of the Five Rings1,878
- Dragon Ball Super Card Game1,845
- Gundam Card Game1,816
- Marvel Champions LCG1,721
- Hololive Official Card Game1,623
- Riftbound1,189
- MetaZoo721
- Other Tcg3
Sports
- Soccer697,882
- Football672,480
- Hockey362,195
- Baseball350,999
- Basketball235,294
- Wrestling206,677
- Racing174,196
- Ufc149,920
- Tennis19,640
- Golf12,585
- Boxing2,769
- Other Sport272
- Cricket6
- Olympics5
From photo to identity in three steps
No pipeline to build. Point a card image at one endpoint.
Send a card image
POST the front (and optionally the back) to /api/v1/identify as a file upload or a public image URL, with an optional game or category hint. Authenticate with your API key.
We identify — or honestly flag it
The card is cropped, fingerprinted, and matched against our own visual index and vendor recognizers. Calibrated confidence decides whether we return a match or an honest needsReview with alternates.
Get structured JSON back
You receive name, set, number, year, rarity, language, a confidence score, and the needsReview flag — ready to render, store, or route to your own review UI.
Why developers trust the result
Calibrated confidence, not a vibe
confidence reflects real P(correct) with a tunable floor. You can set your own threshold on top of ours.
It never 500s on a hard card
Any provider or pipeline fault degrades to an honest 200 miss, so your integration behaves predictably under load.
Server-side and private by design
You call our gateway; we never expose upstream keys, and images are used to answer your request — not sold or resold.
Transparent, published pricing
Flat monthly tiers with clear overage rates. No 'contact sales' wall to find out what an identify costs.
CardVault Identify is a trading card scanner and identification API for developers: send a photo of a Pokémon, Magic: The Gathering, Yu-Gi-Oh, Lorcana, One Piece, or sports card and get back its name, set, number, year, and rarity in one REST call. Unlike identification APIs that force a confident guess on every card, ours returns an honest needsReview when it can't corroborate a match — so the trading card scanner, marketplace listing tool, or collection app you build on it never shows your users a confidently wrong card ID. One API, no SDK, no per-game integration work.
Stop shipping confidently wrong card IDs.
Get an API key, send your first card, and see an honest answer come back in seconds.
Free tier, no credit card. Upgrade only when you scale.