Skip to main content
Every grading company uses its own grade names and notation for what is often the same level of quality — and some issue grades others don’t (half-points, qualifiers, Pristine/Perfect tens). The GemRate API hides that by reporting all population and grade data on a single, grader-agnostic universal grade scale. You never have to translate between graders yourself: a card’s grades rollup and each by_grader entry are already expressed in the same universal keys, so a 9 means the same thing whether it came from PSA, Beckett, SGC, or CGC.

The scale

The universal scale has two axes:
  • The main ladderauth_altered, auth, 19 (whole + half steps), mint_plus (9.5), gem_mint (10), pristine, perfect. This is what almost everything is keyed by.
  • A PSA-only qualifier axisq1q9 plus q1_5. These are PSA grades that carry a qualifier (e.g. OC, ST, MK). No other grader issues them, so this axis is null/absent for Beckett, SGC, and CGC.
The three top tiers — gem_mint, pristine, and perfect — are the gem tiers: they’re what gem_total / gem_rate count.

How each grader maps onto it

Each grader’s native grade keys are folded onto the universal ladder. Most grades line up one-to-one, but the top of the scale is where graders genuinely differ:
Universal gradeLabelPSABeckettSGCCGC
perfectPerfect10 Pristine10 Perfect
pristinePristine10 Black10 Pristine10 Pristine
gem_mintGem Mint (10)109.51010
mint_plusMint+ (9.5)9.59.59.5
191 – 9 (whole + half)1 – 91 – 91 – 91 – 9
authAuthAuthAuthAuth
auth_alteredAuth AlteredAA
PSA qualifier axis (PSA only):
Universal gradePSA
q1, q1_5, q2q9Q1, Q1.5, Q2 … Q9

The quirks worth knowing

  • Beckett has no auth and no mint_plus (9.5). Beckett’s 9.5 maps directly to gem_mint (10); its straight tens — 10 Black and 10 Pristine — sit above everyone else’s 10 as pristine and perfect.
  • PSA and SGC have no perfect. PSA tops out at gem_mint (10) with mint_plus (9.5) just below, and has no pristine at all; SGC’s 10 Pristine is its pristine.
  • Qualifiers are PSA-only. Beckett, SGC, and CGC have no qualifier grades.
  • auth_altered is CGC-only.
A grader-specific grade that a company doesn’t issue is reported as null in that grader’s block (versus 0, which means “issues it, but none for this card”).

Download the full map

The complete map — every universal grade with each grader’s label and the PSA qualifier axis — is available to download as a spreadsheet, or to fetch live from the API.

CSV

One row per grade, a column per grader. Best for spreadsheets.

API · GET /v1/grades

The same map as structured JSON, with a version (content hash) that changes only when the map changes. Best for code and LLM context.

What it looks like in a response

Population is reported as a cross-grader grades rollup plus a by_grader map, both on the universal scale. Abridged from GET /v1/cards/{gemrate_id}:
{
  "population": {
    "total": 115031,
    "gem_total": 18333,
    "gem_rate": 0.1594,
    "grades": {
      "auth": 303, "1": 104, "...": "...",
      "9": 58720, "mint_plus": 926, "gem_mint": 18271,
      "pristine": 16, "perfect": 46
    },
    "by_grader": {
      "psa": {
        "total": 92643,
        "grades": {
          "9": 50741, "mint_plus": 0, "gem_mint": 14878,
          "pristine": null, "perfect": null
        },
        "qualifiers": { "q1": 0, "q1_5": 0, "...": "..." }
      },
      "beckett": { "...": "..." },
      "sgc": { "...": "..." },
      "cgc": { "...": "..." }
    }
  }
}
Note how psa.grades.pristine and psa.grades.perfect are null — PSA doesn’t issue those tiers — while the top-level grades rollup still carries pristine and perfect counts contributed by the graders that do. qualifiers appears only under psa.

Why a universal scale

Without it, you’d have to know that Beckett’s 9.5 is another grader’s 10, that PSA qualifiers exist at all, and which grader issues pristine vs perfect — and re-derive cross-grader totals by hand. The universal scale collapses all of that into one vocabulary, so combined population, gem rates, and “this grade or higher” comparisons work uniformly across every grader.