Get card prices
curl --request GET \
--url https://api.cromos.so/v1/cards/{id}/prices \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cromos.so/v1/cards/{id}/prices"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cromos.so/v1/cards/{id}/prices', 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.cromos.so/v1/cards/{id}/prices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.cromos.so/v1/cards/{id}/prices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.cromos.so/v1/cards/{id}/prices")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cromos.so/v1/cards/{id}/prices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"from": "2026-05-06",
"to": "2026-08-04",
"variants": [
{
"variant": {
"type": "holo",
"subtype": null,
"size": "standard",
"stamps": [],
"foil": null
},
"tcgplayer": [
{
"condition": "HP",
"currency": "USD",
"history": [
{
"observed_on": "2026-07-22",
"market": 26815,
"low": 19999,
"high": 37450
},
{
"observed_on": "2026-08-02",
"market": 26815,
"low": 19999,
"high": 37450
}
]
},
{
"condition": "LP",
"currency": "USD",
"history": [
{
"observed_on": "2026-07-22",
"market": 34933,
"low": 26499,
"high": 39089
},
{
"observed_on": "2026-07-27",
"market": 34618,
"low": 26499,
"high": 39089
},
{
"observed_on": "2026-07-31",
"market": 34638,
"low": 26499,
"high": 39089
},
{
"observed_on": "2026-08-02",
"market": 34486,
"low": 26499,
"high": 39089
}
]
},
{
"condition": "DMG",
"currency": "USD",
"history": [
{
"observed_on": "2026-07-22",
"market": 26266,
"low": 12497,
"high": 35000
},
{
"observed_on": "2026-07-27",
"market": 26450,
"low": 12497,
"high": 35000
},
{
"observed_on": "2026-07-28",
"market": 26580,
"low": 12497,
"high": 35000
},
{
"observed_on": "2026-07-29",
"market": 26731,
"low": 12497,
"high": 35000
},
{
"observed_on": "2026-08-02",
"market": 27844,
"low": 20123,
"high": 35000
}
]
},
{
"condition": "MP",
"currency": "USD",
"history": [
{
"observed_on": "2026-07-22",
"market": 31782,
"low": 23274,
"high": 36500
},
{
"observed_on": "2026-08-02",
"market": 31782,
"low": 23274,
"high": 36500
}
]
},
{
"condition": "NM",
"currency": "USD",
"history": [
{
"observed_on": "2026-07-22",
"market": 38916,
"low": 37869,
"high": 40150
},
{
"observed_on": "2026-07-27",
"market": 38416,
"low": 28000,
"high": 40150
},
{
"observed_on": "2026-07-28",
"market": 38272,
"low": 28000,
"high": 40150
},
{
"observed_on": "2026-07-29",
"market": 38169,
"low": 28000,
"high": 40150
},
{
"observed_on": "2026-07-31",
"market": 37683,
"low": 28000,
"high": 39407
},
{
"observed_on": "2026-08-02",
"market": 36640,
"low": 26307,
"high": 38399
}
]
}
],
"cardmarket": {
"currency": "EUR",
"price_kind": "plain",
"history": [
{
"observed_on": "2026-07-26",
"avg": 41647,
"low": 21000,
"trend": 38462,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-07-27",
"avg": 41647,
"low": 20000,
"trend": 37145,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-07-29",
"avg": 41647,
"low": 23000,
"trend": 37110,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-07-31",
"avg": 41647,
"low": 24000,
"trend": 36266,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-08-01",
"avg": 39305,
"low": 25000,
"trend": 34881,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-08-02",
"avg": 39305,
"low": 23000,
"trend": 33599,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-08-03",
"avg": 39305,
"low": 20000,
"trend": 32655,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
}
]
}
}
]
},
"error": null
}{
"data": {},
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"data": {},
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"data": {},
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"data": {},
"error": {
"code": "<string>",
"message": "<string>"
}
}Cards
Get card prices
Daily price history for every printing of a card.
GET
/
v1
/
cards
/
{id}
/
prices
Get card prices
curl --request GET \
--url https://api.cromos.so/v1/cards/{id}/prices \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.cromos.so/v1/cards/{id}/prices"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.cromos.so/v1/cards/{id}/prices', 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.cromos.so/v1/cards/{id}/prices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.cromos.so/v1/cards/{id}/prices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.cromos.so/v1/cards/{id}/prices")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cromos.so/v1/cards/{id}/prices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"from": "2026-05-06",
"to": "2026-08-04",
"variants": [
{
"variant": {
"type": "holo",
"subtype": null,
"size": "standard",
"stamps": [],
"foil": null
},
"tcgplayer": [
{
"condition": "HP",
"currency": "USD",
"history": [
{
"observed_on": "2026-07-22",
"market": 26815,
"low": 19999,
"high": 37450
},
{
"observed_on": "2026-08-02",
"market": 26815,
"low": 19999,
"high": 37450
}
]
},
{
"condition": "LP",
"currency": "USD",
"history": [
{
"observed_on": "2026-07-22",
"market": 34933,
"low": 26499,
"high": 39089
},
{
"observed_on": "2026-07-27",
"market": 34618,
"low": 26499,
"high": 39089
},
{
"observed_on": "2026-07-31",
"market": 34638,
"low": 26499,
"high": 39089
},
{
"observed_on": "2026-08-02",
"market": 34486,
"low": 26499,
"high": 39089
}
]
},
{
"condition": "DMG",
"currency": "USD",
"history": [
{
"observed_on": "2026-07-22",
"market": 26266,
"low": 12497,
"high": 35000
},
{
"observed_on": "2026-07-27",
"market": 26450,
"low": 12497,
"high": 35000
},
{
"observed_on": "2026-07-28",
"market": 26580,
"low": 12497,
"high": 35000
},
{
"observed_on": "2026-07-29",
"market": 26731,
"low": 12497,
"high": 35000
},
{
"observed_on": "2026-08-02",
"market": 27844,
"low": 20123,
"high": 35000
}
]
},
{
"condition": "MP",
"currency": "USD",
"history": [
{
"observed_on": "2026-07-22",
"market": 31782,
"low": 23274,
"high": 36500
},
{
"observed_on": "2026-08-02",
"market": 31782,
"low": 23274,
"high": 36500
}
]
},
{
"condition": "NM",
"currency": "USD",
"history": [
{
"observed_on": "2026-07-22",
"market": 38916,
"low": 37869,
"high": 40150
},
{
"observed_on": "2026-07-27",
"market": 38416,
"low": 28000,
"high": 40150
},
{
"observed_on": "2026-07-28",
"market": 38272,
"low": 28000,
"high": 40150
},
{
"observed_on": "2026-07-29",
"market": 38169,
"low": 28000,
"high": 40150
},
{
"observed_on": "2026-07-31",
"market": 37683,
"low": 28000,
"high": 39407
},
{
"observed_on": "2026-08-02",
"market": 36640,
"low": 26307,
"high": 38399
}
]
}
],
"cardmarket": {
"currency": "EUR",
"price_kind": "plain",
"history": [
{
"observed_on": "2026-07-26",
"avg": 41647,
"low": 21000,
"trend": 38462,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-07-27",
"avg": 41647,
"low": 20000,
"trend": 37145,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-07-29",
"avg": 41647,
"low": 23000,
"trend": 37110,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-07-31",
"avg": 41647,
"low": 24000,
"trend": 36266,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-08-01",
"avg": 39305,
"low": 25000,
"trend": 34881,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-08-02",
"avg": 39305,
"low": 23000,
"trend": 33599,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
},
{
"observed_on": "2026-08-03",
"avg": 39305,
"low": 20000,
"trend": 32655,
"avg_holo": null,
"low_holo": null,
"trend_holo": 0
}
]
}
}
]
},
"error": null
}{
"data": {},
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"data": {},
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"data": {},
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"data": {},
"error": {
"code": "<string>",
"message": "<string>"
}
}Every printing gets its own price history. On the cardmarket side that is one EUR history per
printing; on the tcgplayer side it is one USD history per condition — a holo Charizard
priced in
NM, LP, MP, HP and DMG returns five tcgplayer histories for that one
printing, not one. See the card object for what separates a printing from a
condition.
The window defaults to the last 90 days. Pass from and to as YYYY-MM-DD for a different
one, up to 366 days wide — a range that is malformed, inverted, or wider than that is a 400,
not an empty result. The full history stays reachable one bounded window at a time.
Days with no observation are absent from the history rather than present as null, so a chart
should plot against observed_on rather than assume one point per day.⌘I