querystringrequired
Search keyword for sold items (e.g. iphone 13 pro).
https://api.sandbase.ai/v1/api/ebay/sold-listingsRetrieve 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.
Your output will appear here
Complete the inputs, then click Run.
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.
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.
| 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). |
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.
Start building
Platform API endpoint with unified authentication and usage tracking.
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
-X POST "https://api.sandbase.ai/v1/api/ebay/sold-listings" \
-H "Authorization: Bearer $SANDBASE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'SANDBASE_JSON'
{
"page": 1,
"site": "ebay.com",
"sort": "ended_recently",
"limit": 10,
"query": "iphone 13 pro",
"condition": "any"
}
SANDBASE_JSON
)
printf '%s\n' "$result"Set your SandBase API key in your server environment. Requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep your key on the server. Do not expose it in browser code.
querystringrequiredSearch keyword for sold items (e.g. iphone 13 pro).
pageinteger1-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
sitestringeBay country site to search. Sold-listing coverage is currently US only.
Default: "ebay.com"
Possible values: ebay.com
sortstringResult sort order; omitted means ended_recently (e.g. price_high sorts by highest sold price plus shipping first).
Possible values: ended_recently, price_low, price_high
limitintegerMaximum number of results to return (1-60, default 25).
Default: 25
sellerstringNot supported by the current sources: a request that sets it is refused without charge.
endDatestringOnly 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 hasMore is still true: keep requesting the next page until hasMore is false.
maxPricenumberOptional maximum sold price in the site currency (e.g. 500).
minPricenumberOptional minimum sold price in the site currency (e.g. 200).
conditionstringItem condition filter (e.g. used).
Default: "any"
Possible values: any, new, used
startDatestringOnly return listings sold on or after this date, inclusive, in YYYY-MM-DD format (e.g. 2026-09-01).
categoryIdstringOptional numeric eBay category id to search within (e.g. 9355 for Cell Phones & Smartphones, 9394 for Cell Phone Accessories).
listingTypestringRestrict to a listing format; omit or use all for both (e.g. auction for auction sales only).
Possible values: all, auction, buy_it_now
freeShippingbooleanNot supported by the current sources: only false (no filter) is accepted; true is refused without charge.
returnsAcceptedbooleanNot supported by the current sources: only false (no filter) is accepted; true is refused without charge.
Saved example response for this API; no live request is made when viewing it.
No saved response has been published. Run the API in Playground to inspect its response.
Explore more
| API | Price | Response |
|---|---|---|
eBay Sold ListingsThis API eBay | From $0.003 per call | JSON |
eBay | $0.015 per call | Async JSON |
eBay | $0.015 per call | Async JSON |
Questions
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.
From $0.003 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.
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.
A JSON response returned in the same HTTP request (synchronous).
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.