ebaysoldlistingsAPI
Comparison

eBay Marketplace Insights API alternative: sold data without approval

eBay's Marketplace Insights API is the only official source of sold items, and it is a limited release that is not accepting new developers. Here is what it returns, how to get the same sold data today with one API key, and a field-by-field mapping.

· 6 min read

Marketplace Insights (item_sales/search) returns eBay items sold in the last 90 days. It is listed by eBay as a Limited Release: access requires eBay's approval, and new applications are generally not accepted. The Browse API that is open to everyone returns active listings only, and the Finding API's findCompletedItems was decommissioned in February 2025.

Your options for eBay sold data

OptionSold items?Access
Marketplace Insights APIYes, last 90 daysLimited release, eBay approval
Browse APINo, active listings onlyOpen to all developers
Finding API findCompletedItemsNo longer worksDecommissioned February 2025
Terapeak (Seller Hub)Yes, in a browsereBay sellers, no API
eBay Sold Listings APIYes, up to 240 per callFree key in minutes, no approval

Get sold items in one request

curl "https://api.ebaysoldlistingsapi.com/scrape?keyword=nintendo+switch+oled&ebaySite=ebay.com&count=240" \
  -H "Authorization: Bearer YOUR_API_KEY"
import requests

r = requests.get(
    "https://api.ebaysoldlistingsapi.com/scrape",
    params={"keyword": "nintendo switch oled", "ebaySite": "ebay.com", "count": 240},
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    timeout=90,
)
r.raise_for_status()
for item in r.json()["results"]:
    print(item["endedAt"], item["soldPrice"], item["soldCurrency"], item["title"])

Marketplace Insights fields mapped

Marketplace InsightseBay Sold Listings API
itemSales[]results[]
itemIditemId
titletitle
lastSoldPrice.value / currencysoldPrice / soldCurrency
lastSoldDateendedAt
condition / conditionIdcondition / conditionId
itemWebUrlurl
image.imageUrlthumbnailUrl
seller.usernamesellerUsername
buyingOptionsbuyingFormat
categoriescategoryId (as a filter)
(not returned)shippingPrice, totalPrice, bestOfferAccepted, bidCount, itemLocation

Filters

  • q becomes keyword. Keep it short: brand plus model, or card name plus set and number.
  • category_ids becomes categoryId.
  • X-EBAY-C-MARKETPLACE-ID (EBAY_US, EBAY_GB, EBAY_DE...) becomes ebaySite (ebay.com, ebay.co.uk, ebay.de...).
  • Price and condition filters become minPrice, maxPrice, itemCondition or conditionId.
  • Date windows use soldAfter and soldBefore (YYYY-MM-DD).
  • Paging uses page with hasNextPage, up to 240 results per page.

What you gain

  • No approval process. A free key works in minutes, with 50 requests a month.
  • 8 eBay sites in their own currency.
  • Active listings from the same endpoint with sold=false.
  • CSV on any search, and batch jobs of up to 100 keywords.
  • A hosted MCP connector for Claude, Cursor and other AI tools.

Can I still get access to the Marketplace Insights API?

eBay lists Marketplace Insights as a limited release that requires approval, and new developers are generally not accepted. If you do not already have access, a sold-listings API is the practical route.

What is the best Marketplace Insights API alternative?

For most developers, a sold-listings API that works without approval. The eBay Sold Listings API returns up to 240 sold items per request as JSON or CSV across 8 eBay sites, with a free plan to start.

Does it cover the same 90 days?

It returns eBay's recent sold results, the same window eBay shows for sold searches, filtered by soldAfter and soldBefore if you need a narrower range.

Is the response format similar?

Close enough to migrate quickly: itemId, title, price, currency, sold date, condition, URL, image and seller all have direct equivalents, plus shipping, total price and a Best Offer flag.

Try it with real data

Get completed eBay sales as JSON. Fifty free requests a month, no card required.

Get your API key