API Finding API retired

findCompletedItems alternative. eBay sold items, still as JSON.

eBay retired findCompletedItems and the Finding API in February 2025. Soldgraph searches eBay sold listings by keyword and returns JSON, with a key you can get today.

100 free requests a month · No card · No eBay developer account

GET /v1/ebay/sold
curl -G https://api.soldgraph.com/v1/ebay/sold \  -H "Authorization: Bearer $SOLDGRAPH_KEY" \  --data-urlencode "q=sony wh-1000xm5"
result.summaryExample data
{  "priced_count": 40,  "currency": "USD",  "median": 189,  "low": 120,  "high": 260,  "earliest_sold_date": "2026-09-02",  "latest_sold_date": "2026-09-21"}
What changed

Same job, a few differences.

The search works the way findCompletedItems did. Sign-in, the response shape and price stats are different.

Finding APISoldgraph
Sold listingsfindCompletedItems (retired)GET /v1/ebay/sold
Active listingsfindItemsAdvanced (retired)GET /v1/ebay/listings
Sign-ineBay App IDAuthorization: Bearer <key>
ResponseXML or JSON, per callJSON search job you poll until done
Rows per callOne page40 by default, up to 200
Many keywordsOne call for eachOne batch call for the whole list
Price statsNoneMedian, lowest and highest on every page
SiteseBay siteseBay in 8 countries, plus seven more marketplaces
Migration

Move your code over in four steps.

Your old inputs map one to one. For before-and-after code in Python and Node, see the migration example on GitHub.

  1. Get a key. Create a free account and make a key. Free covers 100 requests a month.
  2. Rename your inputs. Send your old keywords value as q, and map the filters with the table here.
  3. Poll for the result. Request poll_url until status is complete.
  4. Read the rows. They are in result.data. Each has a link back to the eBay listing.
findCompletedItemsSoldgraph
keywordsq
GLOBAL-ID, like EBAY-GBcountry, like uk
LocatedIn or AvailableToitem_location
ListingTypebuying_format
sortOrdersort
categoryIdcategory_id
A minus sign before a wordThe same, inside q

Full detail, including what to plan for, is in the findCompletedItems replacement guide. Looking for the endpoint itself? See the eBay sold listings API.

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. The free plan has 100 a month, 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.

eBay did not replace it with anything open. The Finding API, including findCompletedItems, was decommissioned in February 2025. The Browse API returns active listings only, and Marketplace Insights isn't open to new users.

Soldgraph's GET /v1/ebay/sold is the closest working replacement: a keyword search over eBay sold listings that returns JSON.

No. The Browse API returns active listings only.

No. You use a Soldgraph key in an Authorization: Bearer header. There is no eBay sign-up or partner approval.

It is a JSON search job. The first call often answers 202 with a poll_url, and you poll it until status is complete. Rows are in result.data, and each has a link back to the eBay listing.

Every page also has a summary with the median, lowest and highest price, which the Finding API never had.

No. A search returns one page of results: 40 rows by default, or up to 200 with count=200. Page through results if you need more rows.

Free covers 100 requests a month, with no card. Paid plans start at $19 a month for 5,000 requests. One completed search costs one request.

Get eBay sold prices in about two minutes.

Create a free account, make a key, and send your first request. 100 requests a month, no card.