eBay Card Comps: PSA, BGS, CGC Sold Prices avatar

eBay Card Comps: PSA, BGS, CGC Sold Prices

Pricing

from $2.25 / 1,000 results

Go to Apify Store
eBay Card Comps: PSA, BGS, CGC Sold Prices

eBay Card Comps: PSA, BGS, CGC Sold Prices

Sold prices for graded and raw trading cards from eBay, up to 3 years back. Filter by grader, grade, language and print run; the card number, grade and grader come parsed out of the title. Pokemon, sports cards, Magic, Yu-Gi-Oh.

Pricing

from $2.25 / 1,000 results

Rating

0.0

(0)

Developer

Sam Smith

Sam Smith

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Security

Limited permissions

Share

eBay Card Comps: Graded and Raw Trading Card Sold Prices

Real eBay sold prices for trading cards, filtered to the exact slab you are pricing. Pick the grader and the grade, and every sale comes back with the grader, grade, card number, year and language parsed out of the title, plus a median, quartiles and sale count per card. Up to 3 years of sold history. Pokemon, sports cards, Magic: The Gathering, Yu-Gi-Oh, One Piece and any other card sold on eBay.

Why a plain eBay search gives you the wrong comp

eBay matches words, not cards. We measured it on one search, charizard base set psa 10, over 3 years:

What you price fromMedian
Every single unit sale the keyword search returns (239 listings)$14.73
The same search with lots, accessories, replicas and keyword stuffed titles removed (60 sales)$545.00

That is a 37x difference on the same words, same window. eBay matches words in any arrangement, so the search also returns a sleeve "fits PSA 10 Charizard Base Set", bulk lots advertised with the card's name, raw "PSA 10 contender" cards and fan art proxies. None of them is the card, and all of them are cheap. A median over that is the median of a junk drawer.

This Actor does the filtering for you: junk listings are dropped before you pay for them, the grade is read from the title, and only sales matching your grader and grade come back.

⚠ Even clean comps spread wide on a nominally identical card, because titles are written by sellers. Always look at the quartiles and the sale count, not only the median.

What you get per sale

{
"search": "charizard base set",
"item_id": "900031309870",
"title": "1999 POKEMON BASE SET UNLIMITED #4 CHARIZARD-HOLO PSA 9",
"last_sold": "2026-10-30T01:21:00Z",
"price": 3252,
"format": "AUCTION",
"bids": 77,
"shipping_cost": null,
"url": "https://www.ebay.com/itm/900031309870",
"image": "https://i.ebayimg.com/...",
"us_sale": true,
"graded": true,
"grader": "PSA",
"grade": "9",
"card_number": "4",
"card_year": 1999,
"language": null,
"first_edition": false,
"card_flags": []
}

A SUMMARY record in the run's key value store holds one line per card: count, median, p25, p75, min, max and how many sales were scanned to find them.

Input

FieldDescription
cardsOne card per line, the player or character plus the set: charizard base set, lebron james topps chrome. Keep it short and pin the rest with the filters below.
gradedgraded (default) for slabs only, raw for raw only, any for both.
gradersOptional. PSA, BGS, CGC, SGC, TAG, ACE and others.
gradesOptional. 10, 9.5, 9. Several lines keep any of them.
days1 to 1095 days back. Default 365.
maxResultsMax matching sales per card. Default 100.
maxPagesEach page scans 240 sales. A narrow filter keeps a few per page, so raise this for rare grades. Default 5.
languageen, ja, zh, ko and more, read from the title. Japanese Pokemon is ja.
printRun25 keeps only /25 parallels. numbered keeps any serial numbered card.
matchAllWordsOn by default: every word of your search must be in the title. eBay otherwise pads a short result with other cards.
mustIncludeExtra words every title must contain, for example red refractor or 1999.
keepJunkOff by default. Turn on to see every raw match.

Tips that change the answer

  • Do not pile words into the search. Adding the card number moved the Charizard median to $555.50 but left sales from $4 to $35,000 in the set: eBay widens a long query rather than narrowing it. Keep the search short and pin the rest with graders, grades and mustInclude.
  • Watch reissues that share a number. 4/102 is both the 1999 Base Set card and a later anniversary reprint. Use the card_year field to tell them apart, or put the year in mustInclude.
  • Rare grades need more pages. If a PSA 10 of your card sells twice a month, most scanned rows will be other grades. Raise maxPages.

Who uses it

Card shops pricing buylists, breakers and flippers checking comps before a purchase, collection trackers and portfolio apps, and anyone building a card price guide from real sales instead of asking prices.

FAQ

Is this eBay's data? Yes, real completed eBay sales. No eBay login or developer account is needed on your side.

How far back does it go? Up to 3 years (1095 days). eBay's own sold search stops at 90 days.

Are Best Offer sales at the right price? Yes. When a sale went through as an accepted Best Offer, price is what the buyer paid, and best_offer is true.

Can I call this from my own code? Yes, through the Apify API, or as a REST API at compsapi.com with a free tier.

Measured details behind the numbers above: why your card comps are wrong.

Useful? A rating on this page helps other collectors find it.