
Why Developers Choose CardSight AI
Building card identification from scratch means training machine learning models, licensing card databases, building price scrapers, and handling countless edge cases. CardSight handles all the heavy lifting—99.5% accurate recognition, a 14M+ trading card catalog, market pricing, and production-grade infrastructure—so you can focus on building features your users love.
// What used to take months:
// ❌ Training ML models
// ❌ Licensing card data
// ❌ Building price scrapers
// ❌ Handling edge cases
// Now takes minutes:
import { CardSightAI } from 'cardsightai';
const client = new CardSightAI({ apiKey: 'your_api_key_here' });
const result = await client.identify.card(imageFile);
// Returns everything you need — every card in the photo:
{
"success": true,
"detections": [{
"confidence": "High",
"card": {
"name": "Ken Griffey Jr. #1 RC",
"year": "1989",
"release": { "name": "Upper Deck" },
"cardNumber": "1"
}
}, {
"confidence": "High",
"card": {
"name": "Charizard ex",
"release": { "name": "Pitch Black" },
"cardNumber": "054",
// Japanese print — detected, not guessed
"fields": [{ "key": "CARD_LANGUAGE", "value": "ja" }]
}
}]
}Complete Feature Set
Visual Identification API
- 99.5% mAP accuracy
- < 300ms response time
- Multi-card detection
- Handles graded slabs
Comprehensive Catalog
- 14M+ trading cards across baseball, football, basketball, hockey, MMA, Pokemon TCG, Magic: The Gathering & One Piece TCG
- 1933 to present day
- Every parallel & variation
- Complete metadata
Market Data
- Market pricing
- Multiple marketplaces
- Historical trends
Developer Experience
- RESTful API design
- OpenAPI 3.0 spec
- Comprehensive documentation
- 99.9% uptime SLA
Native SDKs - Pick Your Language
# Node.js
import { CardSightAI } from 'cardsightai';
// Initialize the client
const client = new CardSightAI({ apiKey: 'your_api_key_here' });
// Identify a card from an image
const imageFile = // File, Blob, Buffer, or ArrayBuffer
const result = await client.identify.card(imageFile);
// Access identification results
if (result.data?.success) {
const detection = result.data.detections?.[0];
if (detection?.card) {
console.log(`Card: ${detection.card.name}`);
console.log(`Confidence: ${detection.confidence}`);
}
}# Swift
import UIKit
import CardSightAI
// Initialize the client
let client = try CardSightAI(apiKey: "your_api_key")
// Image from camera or photo library
let image: UIImage = // ... from UIImagePickerController
let result = try await client.identify.card(image)
// Process results
switch result {
case .ok(let response):
switch response.body {
case .json(let identification):
if let detection = identification.detections?.first {
print("Card: \(detection.card?.name ?? "Unknown")")
print("Confidence: \(detection.confidence)")
}
}
}# Python
from cardsightai import CardSightAI
# Initialize the client
client = CardSightAI(api_key='your_api_key_here')
# Identify a card from an image
result = client.identify.identify('path/to/card.jpg')
# Access identification results
if result and result.detections:
detection = result.detections[0]
if detection.card:
print(f"Card: {detection.card.name}")
print(f"Confidence: {detection.confidence}")# Java
import ai.cardsight.CardSightAI;
import java.io.File;
// Initialize the client
CardSightAI client = new CardSightAI("your_api_key_here");
// Identify a card from an image
var response = client.cardIdentification().identifyCard(new File("card.jpg"));
// Process identification results
if (Boolean.TRUE.equals(response.getSuccess())) {
var detection = response.getDetections().get(0);
System.out.println("Card: " + detection.getCard().getName());
System.out.println("Confidence: " + detection.getConfidence());
}# .NET
using CardSightAI;
// Initialize the client
using var client = new CardSightAIClient("your_api_key_here");
// Identify a card from an image
using var stream = File.OpenRead("card.jpg");
var image = new FileParameter(stream, "card.jpg", "image/jpeg");
var result = await client.Api.IdentifyCardAsync(image);
// Access identification results
if (result.Success && result.Detections.Count > 0)
{
var detection = result.Detections[0];
Console.WriteLine($"Card: {detection.Card.Name}");
Console.WriteLine($"Confidence: {detection.Confidence}");
}Built for Developer Experience
CardSight is designed with modern development workflows in mind. Clean APIs, comprehensive documentation, and production-ready infrastructure mean you spend less time debugging and more time shipping.
Pricing Built for Builders
Most Popular