# eBay Sold Listings API

> Retrieve recently sold eBay listings for any keyword with optional price-range, condition, category, sold-date, and sort filters, page by page (sold price, sale date, condition, seller, item details); ideal for pricing research.

Source: https://www.sandbase.ai/apis/ebay/sold-listings
API reference: https://www.sandbase.ai/apis/ebay/sold-listings#api

## Facts

- Provider: eBay
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/ebay/sold-listings`
- Price: From $0.003 per call
- Capabilities: api, ebay, ecommerce, product data
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/ebay/sold-listings` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `query` | string | yes |  |
| `page` | integer | no |  |
| `site` | string | no | ebay.com |
| `sort` | string | no | ended_recently, price_low, price_high |
| `limit` | integer | no |  |
| `seller` | string | no |  |
| `endDate` | string | no |  |
| `maxPrice` | number | no |  |
| `minPrice` | number | no |  |
| `condition` | string | no | any, new, used |
| `startDate` | string | no |  |
| `categoryId` | string | no |  |
| `listingType` | string | no | all, auction, buy_it_now |
| `freeShipping` | boolean | no |  |
| `returnsAccepted` | boolean | no |  |

## FAQ

### How do I use the eBay Sold Listings API?

Send a POST request to https://api.sandbase.ai/v1/api/ebay/sold-listings with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

### How much does the eBay Sold Listings API cost?

From $0.003 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.

### What parameters does the eBay Sold Listings API accept?

Required: query (string). Optional: page (integer), site (one of ebay.com), sort (one of ended_recently, price_low, price_high), limit (integer), seller (string) and endDate (string) and 8 more. The Parameters table and the Playground on this page list every field.

### What does the eBay Sold Listings API return?

A JSON response returned in the same HTTP request (synchronous).

### Do I need a eBay developer account or API key?

No. eBay Sold Listings runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for eBay API access separately.

## README

### eBay Sold Listings API

Retrieve recently sold eBay listings for any keyword with optional price-range, condition, category, sold-date, and sort filters, page by page (sold price, sale date, condition, seller, item details); ideal for pricing research.

#### Request

```bash
curl -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "ebay/sold-listings", "sort": "ended_recently", "limit": 10, "query": "iphone 13 pro"}'
```

The result is returned in `outputs[0].data`. Lookups that find nothing fail with a not-found error.

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `query` | string | Yes | Search keyword for sold items (e.g. iphone 13 pro). |
| `categoryId` | string | No | Optional numeric eBay category id to search within (e.g. 9355 for Cell Phones & Smartphones, 9394 for Cell Phone Accessories). |
| `condition` | string | No | Item condition filter (e.g. used). One of: `any`, `new`, `used`. Default `"any"`. |
| `endDate` | string | No | Only return listings sold on or before this date, inclusive, in YYYY-MM-DD format (e.g. 2026-09-15). This bound is applied to each page after it is fetched, so a page can hold fewer than limit listings, or none, while ha |
| `freeShipping` | boolean | No | Not supported by the current sources: only false (no filter) is accepted; true is refused without charge. |
| `limit` | integer | No | Maximum number of results to return (1-60, default 25). |
| `listingType` | string | No | Restrict to a listing format; omit or use all for both (e.g. auction for auction sales only). One of: `all`, `auction`, `buy_it_now`. |
| `maxPrice` | number | No | Optional maximum sold price in the site currency (e.g. 500). |
| `minPrice` | number | No | Optional minimum sold price in the site currency (e.g. 200). |
| `page` | integer | No | 1-based results page. Use with hasMore in the output to paginate, and keep query, filters, and limit the same while walking pages, because limit sets the page size. Default `1`. |
| `returnsAccepted` | boolean | No | Not supported by the current sources: only false (no filter) is accepted; true is refused without charge. |
| `seller` | string | No | Not supported by the current sources: a request that sets it is refused without charge. |
| `site` | string | No | eBay country site to search. Sold-listing coverage is currently US only. One of: `ebay.com`. Default `"ebay.com"`. |
| `sort` | string | No | Result sort order; omitted means ended_recently (e.g. price_high sorts by highest sold price plus shipping first). One of: `ended_recently`, `price_low`, `price_high`. |
| `startDate` | string | No | Only return listings sold on or after this date, inclusive, in YYYY-MM-DD format (e.g. 2026-09-01). |

#### Pricing

Billed at the actual cost of each call, about $0.003 per request. A call can cost more when the first data source fails and another one answers. Failed calls and lookups that find nothing are not charged.
