CompSniper
Batch 100 cards, 3-year history

Sports card comps from real eBay sales, graded or raw.

Use GET /v1/scrape to get up to 240 eBay sold comps for any sports card search with the median and range calculated, add bestOfferPrice=true for the real accepted price on Best Offer sales, price up to 100 cards per job with the Card Batch API, and go back up to 3 years with GET /v1/research/sold. One CompSniper key, 100 free requests a month.

Reviewed by Marc Andrew, owner of CompSniper. Updated October 14, 2026.

curl --fail-with-body \
  -H "Authorization: Bearer $COMPSNIPER_API_KEY" \
  "https://api.compsniper.com/v1/scrape?keyword=2023+topps+chrome+wembanyama+refractor+psa+10&count=240&bestOfferPrice=true"
Endpoint
GET /v1/scrape + POST /v1/cards/batch
Results per page
Up to 240 sales per search, 100 cards per batch
Coverage
eBay US, UK, DE, FR, IT, ES, CA, AU
What the API provides

Marketplace evidence without building another scraper

Card identity, not just keywords

Card Batch builds the search from year, set, player, card number, parallel, grader and grade, and cleanup keeps the right card, parallel and grade.

Real Best Offer prices

bestOfferPrice=true returns what the buyer actually paid on accepted Best Offer sales, so a median is not inflated by asking prices.

Recent comps and 3-year history

Price today from the latest sales, then check the trend over 3 years on the same key, on every plan.

Request filters

Start with a keyword, then narrow the page

Authentication uses the same CompSniper API key as every other endpoint. No eBay developer account or approval is required.

ParameterAccepted valuesDefault
keywordYear, set, player, number, parallel, grader and gradeRequired
count1 to 240240
bestOfferPricetrue for real accepted Best Offer pricesfalse
relevancefalse for eBay's results exactly as listedtrue (AI cleanup)
soldAfter / soldBeforeYYYY-MM-DDNone
Card Batch fieldsyear, set, player, cardNumber, parallel, grader, grade, keywordPer card
Response

Stable JSON with native fields

Every successful sold page includes a deterministic median, average, p25 to p75 range, and sample size calculated from the returned prices.

Response
{
  "keyword": "2023 topps chrome wembanyama refractor psa 10",
  "summary": { "count": "...", "currency": "USD", "median": "...", "p25": "...", "p75": "..." },
  "items": [
    { "itemId": "...", "title": "2023 Topps Chrome Victor Wembanyama #1 Refractor RC PSA 10",
      "soldPrice": "...", "soldCurrency": "USD", "shippingPrice": "...",
      "endedAt": "2026-10-...", "bestOfferAccepted": true,
      "acceptedOfferPrice": "...", "acceptedOfferPriceStatus": "found",
      "sellerUsername": "...", "url": "https://www.ebay.com/itm/..." }
  ]
}
Returned fields

The data needed for pricing workflows

  • Sold price, shipping and total for every sale
  • Accepted Best Offer price (acceptedOfferPrice)
  • Sale date, auction or fixed price, bid count
  • Seller, feedback and listing URL
  • Median, p25, p75, mean, min and max
  • Card Batch summaries per card reference
  • 3-year history rows on /v1/research/sold
  • CSV via Max Mode for deep pulls
Common workflows

Built for resale tools and repeatable research

Inventory and consignment

Price a full inventory overnight with Card Batch and flag cards whose comps moved.

Breakers and buyers

Check recent graded and raw comps before you buy a collection or price a break.

Collection trackers

Show collectors what each card actually sells for, with the trend over 3 years.

FAQ

Sports cards API questions

Is there an API for sports card prices?+

Yes. CompSniper's GET /v1/scrape returns up to 240 real eBay sold listings per request for any card search, with the median and price range calculated, and the Card Batch API prices up to 100 cards per job from player, year, set, card number, parallel, grader and grade. The free plan includes 100 requests a month.

How do I keep parallels and grades from mixing?+

Put the parallel, grader and grade in the search (or in Card Batch fields), and exclude what you do not want with minus words, for example -lot -reprint. The default AI cleanup also removes wrong parallels, grades and lots before the median; set relevance=false for eBay's results exactly as listed.

Do I get the real price on Best Offer sales?+

Yes. Many high-value cards sell by accepted Best Offer, where eBay shows the asking price. Add bestOfferPrice=true (or options.bestOfferPrice in Card Batch) to get acceptedOfferPrice, what the buyer actually paid, on US-dollar sales at no extra cost.

Can I see card prices older than 90 days?+

Yes. GET /v1/research/sold returns up to 3 years of eBay sold history on every plan, including free. Use singleUnitOnly=true for graded cards so each row is one sale.

Which marketplaces are covered?+

eBay US, UK, Germany, France, Italy, Spain, Canada and Australia, each in its own currency. Graded sports cards trade mostly on eBay.

Run your first Sports cards search

Create a free account, get an API key, and use the same quota from REST, the dashboard, or CompSniper MCP tools.