API Sold comps API

Sold comps for your reseller app. One API, every marketplace.

Show your users what their items actually sold for. Real sold prices from eBay in 8 countries, Poshmark and Mercari, with the median worked out, so your crosslisting, inventory or pricing app can price every item.

100 free requests · No credit card required

POST /v1/batches
curl -X POST https://api.soldgraph.com/v1/batches \  -H "Authorization: Bearer $SOLDGRAPH_KEY" \  -H "Content-Type: application/json" \  -d '{    "searches": [      { "endpoint": "ebay/sold", "q": "nintendo switch oled", "count": 200 },      { "endpoint": "mercari/sold", "q": "pokemon 151 booster bundle" },      { "endpoint": "poshmark/sold", "q": "lululemon align leggings 25" }    ]  }'
items[0]Example data
{  "endpoint": "ebay/sold",  "q": "nintendo switch oled",  "status": "complete",  "rows": 200,  "summary": {    "currency": "USD",    "median": 199,    "p25": 169,    "p75": 250,    "best_offer_accepted_count": 26,    "median_excluding_best_offer": 198  }}
What you can build

Pricing your users trust, without scrapers to babysit.

Resellers price from sold listings, not asking prices. Soldgraph gives your app that number for each item, on each marketplace.

A price on every new listing

When a user lists an item, show the median sold price and the typical range before they pick a price.

Price a whole inventory

Send a user's items as one batch and get a summary per item, or every sold row as a CSV.

The best marketplace for each item

Compare eBay, Poshmark and Mercari sold prices for the same item, and see what sellers ask now on Depop, Whatnot, Vinted and OfferUp.

Comps users can check

Every sold row links to its listing, with the price, shipping, sold date and condition, so a user can see the sales behind the number.

Cards, too

TCGplayer market prices and recent sales sit beside eBay sold listings for graded and raw cards.

Errors your code can handle

Failed searches cost nothing, and every failure has a code your app can retry or explain.

Know before you build

Limits, stated up front.

Plan for these and nothing will surprise you in production.

Searches take a few seconds

A new search returns a job to poll. Repeats within 15 minutes come back at once from cache. Price at listing time or in the background, not on every page view.

60 calls a minute

A batch counts as one call however many searches it holds, so price in batches when you have more than a handful of items.

What each marketplace shows

About 90 days of eBay sales. Poshmark sold listings show the last price, not the accepted offer. See sold listings on every marketplace.

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.

Prompt for ChatGPT, Claude or Cursor
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.
Paste it in, add your key as SOLDGRAPH_KEY, and it writes working code.Open in ChatGPT Open in Claude
FAQ

Common questions

Something else? Email hello@soldgraph.com and a person will reply.

Yes. You can use the data inside your product, including showing comps and prices to your users. What needs our written permission is reselling raw access to the API or sharing your keys.

No. Soldgraph reads public listing pages, so nobody signs in to a marketplace. Every row links back to the original listing.

Send the items as one batch to POST /v1/batches. Each item is one search, and you get back a price summary per item, or every sold row as one CSV. A batch holds up to 100 searches on Business.

One search is one request, whether it returns 1 row or 200. Business is $149 a month for 100,000 requests. Searches repeated within 15 minutes are served from cache.

Need more than that, or a different shape? Email hello@soldgraph.com.

As far as each marketplace shows. On eBay that is about the last 90 days. Each result says when it was collected.

eBay shows only the asking price on a sale that went through by accepted offer. Soldgraph flags those rows, and median_excluding_best_offer gives the median of the sales whose price is the real sale price.

Add sold comps to your app this week.

Create a free account, make a key, and send your first request. Start with 100 free requests, no credit card required.