Prizm, Mosaic, Select and Optic priced from real sales, with grade filters and three seasons of history.
A Prizm base, a Silver, a Hyper and a numbered Gold share a player, a set and a card number, and sell for wildly different money. Searching the player alone averages all of them into a number that prices none of them. Search the way the card is printed, 2020 Panini Prizm Anthony Edwards 258, and keep the parallel in the query so the comp is the card you hold.
curl -G https://api.compsapi.com/v1/sold \
-H "Authorization: Bearer YOUR_KEY" \
--data-urlencode "q=charizard psa 10" \
--data-urlencode "days=1095" \
--data-urlencode "best_offer=1"
A rookie card climbs into the playoffs, spikes on a signature game and gives it back in the summer. One week of sales tells you nothing about any of that. Three years per search with days=1095 shows how the card priced across whole seasons, so a hype spike reads as a spike instead of as the market.
The gap between a PSA 9 and a PSA 10 is not fixed, and on modern cards with high populations it can halve between seasons. Filter by grader and grade and you can measure the premium on your own cards rather than taking a guide's word for it, which is the whole input to a grading ROI decision.
The expensive end of modern basketball trades on Best Offer. The public sold page shows asking prices there, so a naive comp overstates exactly the cards worth the most. best_offer=1 returns the accepted amount, flagged so you can split offer sales from fixed price in your own model.
100 requests a month free, every filter on, no card. Create a free account for a key, or see the API reference.
100 free requests a month · every filter on · no card
Get a free key