Identify from image
Send a card photo as a data URL. OCR suggests a query and returns ranked matches when enough text is readable.
/v1/identify-imagePNG, JPEG, and WebP data URLs up to 6 MB are accepted. OCR is best effort; image bytes are not retained by this service.
curl --request POST \ --url 'https://pokepos-market-api.vercel.app/v1/identify-image' \ --header 'Authorization: Bearer YOUR_API_KEY' \ --header 'Content-Type: application/json' \ --data '{"imageDataUrl":"data:image/png;base64,<BASE64_IMAGE>","setHint":"30th Celebration"}'{ "ocr": { "text": "Mew ex 066/128", "confidence": 0.86, "suggested": { "name": "Mew ex", "cardNumber": "066/128", "query": "Mew ex 066/128" } }, "identification": { "query": "Mew ex 066/128", "candidates": [ { "productId": 716465, "name": "Mew ex - 066/128", "matchScore": 440 } ] }}JSON body
Send this object with Content-Type: application/json.
imageDataUrlstringrequiredComplete data:image/...;base64,... URL, not raw base64.
setHintstringValue returned by the market data source.
Response object
OCR text, editable suggestion, and optional catalog matches. The root schema is ImageIdentifyResult.
ocrobjectText and confidence extracted from the card photo.
identificationIdentifyResult | nullCandidate lookup from the suggested query, if available.
Related objects
Expand a type to inspect its fields.
IdentifyResult8 fields
sourcestringName of the market data source.
querystringOriginal or normalized search text.
parsedobjectName, number, and set hint parsed from the card query.
matchedSetSet | nullSet matched from the optional hint, if any.
searchedCountintegerNumber of products inspected while ranking matches.
totalSearchResultsintegerTotal catalog search hits before candidate ranking.
truncatedbooleanWhether candidate inspection stopped at its search cap.
candidatesProductSummary & object[]Ranked exact-printing candidates.
Set3 fields
namestringDisplay name from the source catalog.
slugstringURL-safe identifier for a category or set.
countintegerNumber of catalog products in the set.
ProductSummary11 fields
productIdintegerNumeric ID for the exact catalog product.
namestringDisplay name from the source catalog.
categorystring | nullProduct line or category for this result.
setNamestring | nullValue returned by the market data source.
setIdinteger | nullValue returned by the market data source.
cardNumberstring | nullCollector number printed on the card.
raritystring | nullRarity label reported by the catalog.
sealedbooleanWhether the product is sealed rather than a single card.
marketPricenumber | nullUS dollars. Null means no observation is available.
lowestPricenumber | nullUS dollars. Null means no observation is available.
listingCountinteger | nullNumber of current listings, when reported.
Status codes
OCR text, editable suggestion, and optional catalog matches.
Invalid parameter or request body.
An upstream market source is unavailable.
Errors use the error.code and error.message shape. Keep the x-request-id response header for support and tracing.