Get products with filtering
curl --request GET \
--url https://api.collectpure.com/products/get-products/v2 \
--header 'x-api-key: <api-key>'import requests
url = "https://api.collectpure.com/products/get-products/v2"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.collectpure.com/products/get-products/v2', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.collectpure.com/products/get-products/v2",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.collectpure.com/products/get-products/v2"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.collectpure.com/products/get-products/v2")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.collectpure.com/products/get-products/v2")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"purity": "<string>",
"weight": "<string>",
"weightGrams": 123,
"sku": "<string>",
"isCertified": true,
"isIra": true,
"material": "<string>",
"attributes": [
"<string>"
],
"images": [
"<string>"
],
"manufacturer": {
"title": "<string>",
"images": [
"<string>"
],
"isEsg": true
},
"category": {
"title": "<string>",
"isNumismatic": true
},
"subCategory": {
"title": "<string>",
"premiumCalculationType": "<string>"
},
"certificateProvider": {
"title": "<string>"
},
"variants": [
{
"title": "<string>",
"highestOffer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"price": 123,
"quantity": 123,
"spotPremium": 123,
"spotPremiumDollar": 123,
"expiresAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
},
"lowestListing": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"price": 123,
"quantity": 123,
"spotPremium": 123,
"spotPremiumDollar": 123,
"expiresAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
},
"images": [
"<string>"
]
}
]
}
],
"total": 123,
"limit": 123,
"offset": 123
}Products (Legacy)
Get products with filtering
Retrieve products filtered by material and attributes, with variants, offers, and listings. Returns paginated results.
Rate limit: 120 requests burst, 60 requests/minute sustained.
GET
/
products
/
get-products
/
v2
Get products with filtering
curl --request GET \
--url https://api.collectpure.com/products/get-products/v2 \
--header 'x-api-key: <api-key>'import requests
url = "https://api.collectpure.com/products/get-products/v2"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.collectpure.com/products/get-products/v2', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.collectpure.com/products/get-products/v2",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.collectpure.com/products/get-products/v2"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.collectpure.com/products/get-products/v2")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.collectpure.com/products/get-products/v2")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"purity": "<string>",
"weight": "<string>",
"weightGrams": 123,
"sku": "<string>",
"isCertified": true,
"isIra": true,
"material": "<string>",
"attributes": [
"<string>"
],
"images": [
"<string>"
],
"manufacturer": {
"title": "<string>",
"images": [
"<string>"
],
"isEsg": true
},
"category": {
"title": "<string>",
"isNumismatic": true
},
"subCategory": {
"title": "<string>",
"premiumCalculationType": "<string>"
},
"certificateProvider": {
"title": "<string>"
},
"variants": [
{
"title": "<string>",
"highestOffer": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"price": 123,
"quantity": 123,
"spotPremium": 123,
"spotPremiumDollar": 123,
"expiresAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
},
"lowestListing": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"price": 123,
"quantity": 123,
"spotPremium": 123,
"spotPremiumDollar": 123,
"expiresAt": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
},
"images": [
"<string>"
]
}
]
}
],
"total": 123,
"limit": 123,
"offset": 123
}Authorizations
API key for authentication
Query Parameters
Filter by material (Gold, Silver, Platinum, Palladium, Bitcoin)
Comma separated attribute IDs (AND semantics)
Maximum number of products to return (default 10, max 100)
Required range:
1 <= x <= 100Number of products to skip for pagination
Required range:
0 <= x <= 9007199254740991Was this page helpful?
⌘I