Pricing that scales with you
Flat monthly plans, transparent overage, honest misses billed like any other call. Cancel anytime.
Prices in USD. An 'identify request' is one call to /api/v1/identify, hit or honest miss.
Bigger free tier
1,000 free identifies a month — 10x Ximilar's ~100 and more than CardSight's 750.
Cheaper at scale
$0.0018/request overage on Scale, below CardSight's $0.0020 and Ximilar's $0.0055.
No forced guesses
The only one of the three that returns an honest needsReview instead of a confident wrong card.
Published, not gated
Every tier's price and overage rate is on this page — no 'contact sales' wall to find out what an identify costs.
How we compare
| CardVault Identify | CardSight AI | Ximilar | |
|---|---|---|---|
| Free tier | 1,000 identifies/mo | 750 calls/mo | ~100 identifies/mo |
| Top published tier | $225/mo — 150,000 calls | $199.95/mo — 100,000 calls | $549/mo — ~100,000 identifies |
| Overage rate | $0.0018/request | $0.0020/call | $0.0055/request |
| TCG coverage | 12+ TCGs + sports & entertainment | Pokémon + Magic (2 TCGs) | — |
| Honest “not sure” vs. a forced guess | Yes | No | No |
Ximilar charges 10 credits per trading-card identify — their $549/mo plan buys ~100,000 identifies at $0.0055/request; our Scale plan is $225/mo for 150,000 at $0.0015/request. Their free tier is ~100 identifies/mo; ours is 1,000. CardSight AI's top published tier is $199.95/mo for 100,000 calls with a $0.0020 overage rate — ours is $225/mo for 150,000 with a $0.0018 overage rate, and every paid tier can also buy credit packs priced below even that overage rate for one-off spikes. We cover 12+ TCGs plus sports and entertainment versus CardSight's Pokémon + Magic, and we're the only one that returns an honest 'not sure' instead of a forced guess.
Frequently asked questions
How accurate is it, really?
For indexed TCG games, matches are driven by a visual fingerprint against our own catalog and are calibrated to real P(correct). But the number that matters is our catastrophic-error rate — how often we return the wrong card confidently — and we drive that toward zero by refusing to answer when we can't corroborate. When confidence is below our floor or our adjudicator dissents, you get needsReview:true instead of a wrong ID.
What does needsReview mean, and how should I handle it?
needsReview:true with card:null means we couldn't confidently identify the card. It's still an HTTP 200. Best guesses appear in the alternates array with per-candidate confidence, ideal for a 'Is this your card?' picker. Treat it as 'ask the user to confirm,' not as an error.
Which games and categories are supported?
TCG: Pokémon (EN + JP), Magic: The Gathering, Yu-Gi-Oh, Lorcana, One Piece, Dragon Ball, Digimon, Weiß Schwarz (JP + EN), Flesh and Blood, Cardfight!! Vanguard, and dozens more. Plus sports (baseball, basketball, football, hockey, soccer, MMA, racing, and more) and entertainment sets. 400,000+ cards are indexed today and the catalog grows daily via automated ingest.
How fast is a response?
Typically about 2–3 seconds per identify — fast enough to run inline in a scan flow. Identical re-submissions of the same image return near-instantly from an exact-image cache.
What are the rate limits?
5 req/s on Free, 25 req/s on Pro, and 100 req/s on Scale, with burst headroom. Need more? Scale and Enterprise raise the ceiling — just ask.
How do you handle my images and data?
You call our gateway; images are used to fulfill your identify request and to power the accuracy flywheel in aggregate. We never expose upstream provider keys to your client, and we don't sell your images. Corrections you send are used to improve match quality.
Can I send an image URL instead of uploading a file?
Yes. Pass frontImageUrl (and optionally backImageUrl) pointing at a public image and we fetch it server-side — no upload needed. File upload via multipart/form-data works too.
How does billing work for a miss?
An honest miss is a normal identify request and counts against your monthly allotment like any successful match — because doing the work to responsibly say 'not sure' is the product. There are no separate charges for review results.
Does the API get better over time?
Yes. Confident matches and your corrections (POST /api/v1/feedback) feed a flywheel that re-indexes nightly, expanding coverage and sharpening accuracy — especially on the long-tail and Japanese-language cards that trip up everyone else.