Image Search

Get Price History by Graded Card Image

Extract grader and certificate number from a graded card image, then look up pricing.

This endpoint uses AI vision to read the grading label from a card image, extracts the grading company (PSA, BGS, CGC, etc.) and certificate number, then performs the same lookup as /prices-by-cert.

Provide either image_url (public URL) or image_base64 (base64-encoded image).

Daily limit

This endpoint is capped at 2000 requests per day per API key.

The allowance is shared with /v1/cards/details-by-cert-ocr — calls to either endpoint draw from the same daily pool. It resets at 00:00 UTC and applies on every subscription tier, because each request runs an AI vision model over your image.

Once the cap is reached the endpoint returns 429 until reset. The 429 response carries the quota state in its headers:

HeaderMeaning
X-RateLimit-LimitYour daily allowance
X-RateLimit-RemainingCalls left today (0 on a 429)
X-RateLimit-ResetUnix epoch seconds when the quota resets
Retry-AfterSeconds until the quota resets

Successful responses do not currently carry these headers, so track your own call count if you need to throttle before hitting the cap.

Contact sales if you need more capacity — support@cardhedger.com. Higher daily allowances are available for this endpoint.

Example curl:

curl -X POST -H "X-API-Key: your-api-key-here" \
     -H "Content-Type: application/json" \
     -d '{
       "image_url": "https://example.com/graded-card.jpg"
     }' \
     "https://api.cardhedger.com/v1/cards/prices-by-cert-ocr"

Returns certificate info, card details, and price history (same as prices-by-cert).

Daily allowance of uncached lookups. The first time a certificate is looked up it needs a live call to our grading-data provider and draws on your account's daily allowance of such lookups; repeat lookups are served from cache and do not. See Rate limits in the API overview for your tier's allowance.

post/v1/cards/prices-by-cert-ocr

Request

  • Base URL
    https://api.cardhedger.com
  • Auth
    API key in header X-API-Key

Request body

image_urlstring nullable

Public URL of the graded card image

image_base64string nullable

Base64-encoded image of the graded card (with or without data URI prefix)

daysinteger

Number of days of price history to retrieve (1-365, defaults to 180)

Example request

{
  "days": 180,
  "image_url": "https://example.com/graded-card.jpg"
}

Response

Successful Response

card_sourcestring nullable

How the card was resolved: 'gemrate_id' for a direct GemRate ID -> CardHedge lookup, or 'card_match' when that lookup found nothing and the card was matched from the GemRate description via the AI card-match fallback. Null when no card was resolved. Cards resolved via 'card_match' have null 'category_group' and 'set_type' -- the matcher does not return those two fields.

match_confidencenumber nullable

AI match confidence (0-1) when 'card_source' is 'card_match'; null otherwise. Treat results derived from a low-confidence match with care.

Example response

{
  "card": {
    "card_id": "1699670576265x928796749151534600",
    "category": "Baseball",
    "category_group": "Sports Cards",
    "description": "C.C. Sabathia 1999 Bowman Chrome Baseball",
    "image": "https://942284f33c575895b4be9de571ca6e40.cdn.bubble.io/d112/f1699670857725x475053799924132860/resized_20231111_024737.jpeg",
    "number": "344",
    "player": "C.C. Sabathia",
    "set": "1999 Bowman Chrome Baseball",
    "set_type": "Bowman Chrome Baseball",
    "variant": "Base"
  },
  "cert_info": {
    "cert": "50000000",
    "description": "1999 Bowman Chrome C.C. Sabathia 344",
    "gemrate_id": "25783324b9710f1366ca4d54f3dd4689c02b6885",
    "grade": "PSA 10",
    "grader": "psa",
    "universal_gemrate_id": "25783324b9710f1366ca4d54f3dd4689c02b6885"
  },
  "prices": [
    {
      "Grade": "PSA 10",
      "card_id": "1699670576265x928796749151534600",
      "closing_date": "2025-10-26T23:59:00.000Z",
      "price": "125.50"
    },
    {
      "Grade": "PSA 10",
      "card_id": "1699670576265x928796749151534600",
      "closing_date": "2025-10-25T23:59:00.000Z",
      "price": "122.00"
    }
  ]
}

Changes

No recorded changes to this operation across all 14 revisions of this API.