compsapi.com / use-cases basketball-card-comps

Basketball card comps by set and number

Prizm, Mosaic, Select and Optic priced from real sales, with grade filters and three seasons of history.

Parallels are different cards at the same name

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"

Rookies move with the season, not the week

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.

Grade premiums are a moving number

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.

Offers close the big cards

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.

Start free

100 requests a month free, every filter on, no card. Create a free account for a key, or see the API reference.

Price from what things
actually sold for

100 free requests a month · every filter on · no card

Get a free key