PCGS Public API

Documentation

Sign in or register for access to our API.

Overview

All PCGS Public API requests must be made over HTTPS, and can accessed from https://api.pcgs.com/publicapi/. View a list of available methods and test results here.

There is a daily limit of 1,000 API calls. If you would like to request a larger daily limit, please contact Business Development via email: [email protected].

Review the PCGS API End User Agreement


Authentication

We use your PCGS login credentials to generate an access token that can be then used to make calls to our REST API.

To get an access token you will need to sign in or register.

To use the token, you need to add an "Authorization" header with the value of "bearer <access token>" to your call replacing "<access token>" with your generated token. For example, here's sample code to call a method requesting CoinFacts data by PCGS number and grade:

var settings = {
        "async": true,
        "crossDomain": true,
        "url": "https://api.pcgs.com/publicapi/coindetail/GetCoinFactsByGrade?PCGSNo=98836&GradeNo=66&PlusGrade=false",
        "method": "GET",
        "headers": {
            "authorization": "bearer <access token>"
        }
    }
    $.ajax(settings).done(function (response) {
        console.log(response);
    });
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,"https://api.pcgs.com/publicapi/coindetail/GetCoinFactsByGrade?PCGSNo=98836&GradeNo=66&PlusGrade=false");
$authorization = "Authorization: bearer <access token>";
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json' , $authorization ));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($curl);
curl_close ($curl);

API Methods

Available Methods
We currently offer access to data from CoinFacts and Auction Prices Realized for single coin searches by cert number, a coin holder's barcode, or with a PCGS number and grade with results provided in JSON format.

Which Method Should I Use?
For a list of auctions and basic information about your coin, use one of the Auction Prices Realized methods. The CoinFacts methods will return similar data plus additional coin details such as mintage, price guide value, variety and images.

Method Details & Testing


Error Codes

We use conventional HTTP response codes to indicate the success or failure of API requests.

Usually, a response code of 500 will indicate invalid credentials, though it may also indicate an error on our servers.

A 4xx response typical indicates the request path is incorrect or invalid.

A response code of 204 indicates empty request data (ie. missing cert number).

A successful API call will return a 200 response code, but that does not coin data was returned.

  • If the request values were not in the expected format (such as a cert number containing non-numeric or too few characters), the response body will contain something similar to { "IsValidRequest": false, "ServerMessage": "Invalid CertNo" }.
  • If no coin is found, but the request values were formatted correctly, the response body will contain { "IsValidRequest": true, "ServerMessage": "No data found" }.
  • If a coin search is successful, look for "IsValidRequest": true, "ServerMessage": "Request successful" amongst the rest of the data in the response body.