Pricing & Valuations

Get Card Details by Certificate Numbers (Batch)

Changed on

Get card details for multiple certificate numbers in a single request.

This endpoint performs batch lookups without price history:

  1. Checks the persistent validated-certificate cache for each certificate; queries GemRate only for certificates not successfully retrieved before
  2. Fetches card details from CardHedge using GemRate IDs
  3. Fallback: if step 2 finds no card, matches the GemRate description against the AI card-match endpoint
  4. Returns certificate info and card details (or null if not found in either lookup)

card_source reports how each card was resolved -- gemrate_id for the direct GemRate ID lookup, or card_match for the description fallback. When the fallback is used, match_confidence carries the AI match score (0-1); treat low-confidence matches with care.

Example curl:

curl -X POST -H "X-API-Key: your-api-key-here" \
     -H "Content-Type: application/json" \
     -d '{
       "certs": ["76676185", "50000000", "12345678"],
       "grader": "PSA"
     }' \
     "https://api.cardhedger.com/v1/cards/details-by-certs"

Returns card details for each certificate. Cards not found in CardHedge will have null card field. Maximum 100 certificates per request. Each submitted certificate counts as one unit toward the customer's minute and day rate limits, including duplicate and cached certificates. A batch that exceeds the remaining allowance is rejected with HTTP 429 before any certificates are processed. GemRate HTTP 400 not-found results are cached by grader and certificate and reused on later requests.

Each account also has a daily budget of uncached certificate lookups (shared by every certificate endpoint and every API key of the account, resetting at 00:00 UTC). Only certificates that were never looked up before spend it. Once it is spent, cached certificates are still served and any other certificate comes back with error: "gemrate_daily_quota_exceeded"; if none of the batch could be served the request returns HTTP 429 with a Retry-After header.

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/details-by-certs

Request

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

Request body

certsstring[] required

List of certificate numbers to lookup (max 100); each entry counts toward minute and day rate limits

graderstring

Grading company (defaults to PSA)

Example request

{
  "certs": [
    "76676185",
    "50000000",
    "12345678"
  ],
  "grader": "PSA"
}

Response

Successful Response

total_requestedinteger required

Total number of certificates requested

total_foundinteger required

Number of cards found in database with pricing data

Example response

{
  "results": [
    {
      "cert_info": {
        "cert": "76676185",
        "description": "2000 Pokemon Japanese Neo Wooper 194",
        "gemrate_id": "9f4cd2db01a0a873ba5da0feb23428686fd556ac",
        "grade": "PSA 9",
        "grader": "psa",
        "universal_gemrate_id": "9f4cd2db01a0a873ba5da0feb23428686fd556ac"
      }
    },
    {
      "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"
      }
    }
  ],
  "total_found": 1,
  "total_requested": 2
}

Changes

    • info

      added the non-success response with the status

    • info

      added the optional property // to the response with the status