Skip to content

Pokémon

Pokémon Card Scanner

Identify any of the 126,123 Pokémon cards we've indexed — English and Japanese — and get an honest “not sure” instead of a wrong card when we can't corroborate a match.

Free tier, no credit card.

Pokémon cards indexed
126,123
Cards indexed
Per identify
~2–3s
Per identify
Uncertain matches
Honest
needsReview when unsure
identify.sh

Request

curl -X POST https://aicardvault.io/api/v1/identify \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -F front=@card.jpg \
  -F category=pokemon

Response

{
  "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. A Pokémon card photo in, structured identity out.

What's actually indexed

126,123 Pokémon cards are indexed today, spanning modern English sets back through classic reprints, plus Japanese-language cards. New sets are added within days of release via nightly ingest — see the changelog for dated proof.

See what's actually shipped

Fast enough to sit inline

A self-hosted visual fingerprint plus nearest-neighbor search returns a structured identity in about 2–3 seconds — quick enough for a live scan flow.

One endpoint, every game

The same /v1/identify call that powers this page also handles Pokémon, Magic, Yu-Gi-Oh, Lorcana, One Piece, and sports — no per-game integration work.

Pokémon card scanner FAQ

Does it work on Japanese Pokémon cards, not just English?

Yes. The index covers English and Japanese Pokémon sets — send a photo of either and the identify call handles both the same way.

How fast is a Pokémon card scan?

About 2–3 seconds per identify, whether you upload a file or point us at a public image URL.

Is the Pokémon scanner really free to try?

Yes — 1,000 identify requests a month on the free tier, no credit card required, using the exact same endpoint every paid plan calls.

What happens on a card we can't confidently place?

You get needsReview:true and card:null instead of a guessed name and set — with likely alternates listed by confidence, so your app can ask the user to confirm rather than show a wrong ID.

Scan a different game

Same endpoint, same honest needsReview, every game and sport.

Want every category's live count in one place? Browse the full card database.

Try the Pokémon card scanner now.

Free tier, no credit card — 1,000 identify requests a month on the same API every paid plan uses.