Skip to main content
POST
Scan a card
POST /v1/scan identifies a trading card from a photo of it. Send a cropped, roughly straight-on photo of a single card; the response lists the closest catalog matches with a confidence score each.

Send a file

Send multipart/form-data with the photo in an image field (max 10 MB):

Send a URL

Send application/json with a publicly reachable https URL (max 10 MB, no redirects):

The response

  • score is a similarity from 0 to 1; higher is better. Matches are best-first.
  • A confident scan returns a single match. A close race returns up to five — show them and let the user pick.
  • Empty matches (with "game": null) is a valid 200, not an error: nothing in the catalog cleared the confidence floor. Prompt for a retake — closer, straighter, less glare.
  • Photos are processed in memory and never stored.

Errors

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

image
file
required

Response

Identification result. Empty matches with a null game is a valid outcome: nothing cleared the confidence floor.

data
object
required
error
object | null
required