Skip to main content
GET
/
v1
/
certs
/
{grader}
/
{cert}
Get a certificate
curl --request GET \
  --url https://api.gemrate.com/v1/certs/{grader}/{cert} \
  --header 'x-api-key: <api-key>'
{
  "data": {
    "grader": "psa",
    "cert": "<string>",
    "gemrate_id": "<string>",
    "universal_gemrate_id": "<string>",
    "spec_id": "<string>",
    "grade_label": "10",
    "description": "<string>",
    "set_url": "<string>",
    "autograph": {
      "graded": true,
      "grade": 5,
      "pop_context": {
        "grade_population": 123,
        "population_higher": 123,
        "total_population": 123
      }
    },
    "population": {
      "total": 123,
      "grades": {
        "9": 50741,
        "mint_plus": 0,
        "gem_mint": 14878,
        "pristine": null
      },
      "by_grader": {},
      "gem_total": 123,
      "gem_rate": 123,
      "last_population_change": "<string>"
    },
    "cross_grader": {
      "grade_population": 123,
      "grade_pct": 123,
      "population_higher": 123,
      "higher_pct": 123,
      "total_population": 123,
      "total_gems_or_greater": 123,
      "gem_rate": 123
    }
  },
  "meta": {
    "request_id": "req_abc123",
    "pagination": {
      "page": 1,
      "page_size": 100,
      "total": 1340,
      "total_pages": 14,
      "next_page": 2
    }
  }
}

Authorizations

x-api-key
string
header
required

Path Parameters

grader
enum<string>
required

The grading company. The grading company. Accepted values: psa, beckett, sgc, cgc. Common aliases are also accepted and normalized (e.g. bgs, bvg, bccgbeckett; csgcgc).

Available options:
psa,
beckett,
sgc,
cgc
Example:

"psa"

cert
string
required

The certificate number printed on the slab.

Example:

"12345678"

Query Parameters

include
string

Comma-separated list of optional data to add to the response. One or more of: source, parsed_description, population. population adds the full population block (same as GET /v1/cards/{id}) plus a cross_grader standing at this cert's grade.

Note: ?auto only takes effect when population is included — it splits that population block into PSA auto/non_auto. Without include=population there is no population block for it to act on, so ?auto is ignored.

Example:

"population"

dna
boolean

Set to true to look up the PSA/DNA (autograph authentication) variant.

auto
boolean

When true, adds the PSA-only auto/non_auto split to the population (under by_grader.psa). Must be true or false; any other value returns 400 invalid_parameter.

Response

The certificate.

data
object

A single graded copy (a "cert") — lean by design: only what's specific to this copy. Population is NOT duplicated here; fetch it via ?include=population (which adds the population block + cross_grader) or GET /v1/cards/{gemrate_id}.

meta
object

Metadata attached to every response.