Skip to content

Sports

Sports Card Scanner

Identify sports cards from a photo — 2,811,535 indexed today, led by football — and get an honest “not sure” instead of a wrong card when we can't corroborate a match.

Free tier, no credit card.

Sports cards indexed
2,811,535
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

Response

{
  "ok": true,
  "result": {
    "card": {
      "name": "Patrick Mahomes",
      "set": "2017 Panini Prizm",
      "number": "#269",
      "year": "2017",
      "rarity": "Rookie Card",
      "language": "en"
    },
    "confidence": 0.94,
    "needsReview": false
  }
}

One call. A sports card photo in, structured identity out.

Football-led, growing everywhere else

Our own visual index for sports is led by football, at 671,507 cards indexed. Baseball and other sports have far fewer cards in our own index today and lean more heavily on best-in-class vendor recognition behind the same response shape — so results still come back, just with more needsReview on the thinnest categories. We're not going to pretend baseball coverage matches football's; it doesn't yet.

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.

Sports card scanner FAQ

Which sports are covered?

Football, basketball, baseball, hockey, soccer, MMA, racing, and more sit behind the same endpoint. Football has the deepest coverage in our own index; other sports rely more on vendor recognition today, which we say plainly rather than imply even coverage.

How do I pick a sport when I identify a card?

Pass a category hint like football, basketball, or baseball on the identify call (see the scanner or the docs for the full list) — there's no single "sports" category value, since each sport is its own hint.

Is the sports card scanner free to try?

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

What happens when a sports card can't be confidently identified?

You get needsReview:true and card:null with likely alternates instead of a confidently wrong player, set, or year — this fires more often on thinner categories like baseball, by design.

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 Sports card scanner now.

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