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
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);
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.
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.
{ "IsValidRequest": false, "ServerMessage": "Invalid CertNo" }.{ "IsValidRequest": true, "ServerMessage": "No data found" }."IsValidRequest": true, "ServerMessage": "Request successful" amongst the rest of the data in the response body.