Pricing & Valuations

Get Fair Market Value (FMV) by GemRate ID

Get the Fair Market Value (FMV) for a card by GemRate ID.

The GemRate-ID analog of /v1/cards/fmv-by-cert. A GemRate ID identifies a card rather than a specific graded copy, so the grade must be supplied by the caller (same format as /v1/cards/card-fmv: 'PSA 10', 'BGS 9.5', 'Raw', '<Provider> Auth').

How it works

  1. Resolves the GemRate ID to a CardHedge card: direct lookup, then the persistent cert-resolution cache, then the GemRate population API (description + sibling IDs) with an AI card-match fallback.
  2. Requests the FMV for the resolved card at the requested grade.

Card resolution (card_source / match_confidence)

  • card_source: "gemrate_id" — direct GemRate ID → CardHedge lookup succeeded. match_confidence is null.
  • card_source: "card_match" — the card was matched from the GemRate description via the AI fallback. match_confidence (0-1) is the matcher's score; treat an FMV derived from a low-confidence match with care. Cards resolved this way have null category_group and set_type.

FMV (fmv)

The fmv object is identical to the /v1/cards/card-fmv response — see that endpoint for the full method cascade (direct, card_interpolation, cross_provider, anchor_multiplier, segment_fallback, no_data), _indexed variants, confidence grading, and movement-index metadata.

Status codes and nulls

  • 200 with card: null and fmv: null — GemRate knows the ID but no CardHedge card matched.
  • 404 — the ID is unknown to both CardHedge and GemRate.
  • 502 — an upstream API failed.
  • A found card with insufficient sale data returns a populated fmv with method: "no_data" and price: null.

Example curl:

curl -X POST -H "X-API-Key: your-api-key-here" \
     -H "Content-Type: application/json" \
     -d '{
       "gemrate_id": "25783324b9710f1366ca4d54f3dd4689c02b6885",
       "grade": "PSA 10"
     }' \
     "https://api.cardhedger.com/v1/cards/fmv-by-gemrate-id"
post/v1/cards/fmv-by-gemrate-id

Request

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

Request body

gemrate_idstring required

GemRate card identifier (grader-specific or universal)

gradestring required

Card grade label. Supported formats: '<Provider> <Grade>' (e.g., 'PSA 9', 'PSA 10', 'BGS 9.5', 'SGC 9', 'CGC 10'), 'Raw' for ungraded, or '<Provider> Auth' for authenticated-only.

Example request

{
  "gemrate_id": "25783324b9710f1366ca4d54f3dd4689c02b6885",
  "grade": "PSA 10"
}

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 an FMV derived from a low-confidence match with care.

Example response

{
  "fmv": {
    "confidence": 0.3499,
    "confidence_grade": "B",
    "fmv_sample_count": 3,
    "fmv_window_days": 7,
    "freshness_days": 1,
    "grade_label": "PSA 9",
    "grade_value": 9,
    "index_truncated": false,
    "method": "direct",
    "price": 416.25,
    "price_explanation": "Used 7d FMV ($416.25, Winsorized median of 3 daily prints) in place of latest_price $416.25. Fresh (1d) — no movement adjustment applied.",
    "price_high": 435.24,
    "price_low": 397.26,
    "provider": "PSA",
    "raw_price": 416.25,
    "support_grades": 1
  }
}

Changes

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