Card price checker. What it actually sold for.
See what a Pokémon or sports card really sold for: the median price, the range and the latest sales, graded or raw. Free, no sign-in.
Price from sales, not asking prices.
Listings show what sellers hope for. Sold listings show what buyers paid. That's the number to price your card from.
Graded or raw
Add PSA, BGS or CGC and the grade to your search to see that exact slab. Leave it out for raw copies.
Best Offer sales flagged
Sales that went through an accepted offer are marked, so you know which prices were probably lower.
The median, worked out
One odd sale barely moves the median, so it is closer to what your card will really sell for than an average.
Building a card app or pricing a collection? The Pokémon card price API returns eBay sold listings, TCGplayer market prices and Mercari sales as JSON. Fees for your sale are in the eBay fee calculator. Pokémon is a trademark of Nintendo, Creatures and GAME FREAK. Soldgraph is not affiliated with them, eBay or Mercari.
Building with ChatGPT? Paste this.
One prompt gives your assistant the endpoint, the sign-in header and how to wait for a result, so its first script works.
I'm building with the Soldgraph API. It returns sold and for-sale listings from eBay and other resale marketplaces. Read the docs first: https://soldgraph.com/llms.txt OpenAPI spec: https://soldgraph.com/openapi.json Rules for the code you write: - Base URL: https://api.soldgraph.com/v1 - Auth: send the header "Authorization: Bearer <key>". Read the key from the SOLDGRAPH_KEY environment variable. Never put it in browser code. - eBay sold prices: GET /ebay/sold?q=<search words>. Add count=200 for up to 200 rows. - A search often answers 202 with status "pending" and a poll_url. Request https://api.soldgraph.com plus poll_url with ?wait=20 and the same header, until status is "complete" or "failed". - Read result.summary for the median, low and high price. The rows are in result.data, each with title, displayed_price, sold_date and link. - Each completed search uses one request. A free account starts with 100 requests that do not refill, so save results while testing instead of repeating a search. Start with a short script that prints the median sold price for "nintendo switch oled". Then ask me what I want to build.
Search for the card the way a seller would list it: the player or Pokémon, the set, the year and the card number if you know it. You get the median sold price, the range and the latest sales, each linked to its listing.
Sold prices are what buyers paid, so they are a better guide than asking prices.
Put the grader and grade in the search, like charizard ex 199 psa 10. Raw and graded copies of the same card sell for very different prices, so keep them in separate searches.
The card sold through an accepted offer. eBay shows only the asking price on those sales, so the real price was usually lower. Give those rows less weight when you price your card.
Recent eBay, Mercari and Poshmark sales. Most cards sell on eBay and Mercari. Switch the tab above the search box. For TCGplayer market prices and recent sales, use the Soldgraph API.
Five a day without an account. A search someone already ran in the last 24 hours is free and doesn't count.
A free Soldgraph API key starts with 100 free searches, every sale instead of the first 12, and CSV export.
Yes, with the API. Send your list as one batch and get the median sold price for every card, or every sale as a CSV.
Get card sold listings in about two minutes.
Create a free account, make a key, and send your first request. Start with 100 free requests, no credit card required.