eBay Sold listings API
Retrieve recently sold eBay listings for any keyword with optional price-range, condition, and sort filters (sold price, sale date, condition, seller, item details); ideal for pricing research.
Call it
Make your first request
import os, requests res = requests.post( "https://api.getanyapi.com/v1/run/ebay.sold_listings", headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"}, json={ "query": "" }, ) print(res.json())
{
"data": {
"items": [
{
"bidCount": 12500,
"condition": "example",
"epid": "a1b2c3d4",
"image": "https://example.com/image.jpg",
"images": [
"https://example.com/image.jpg"
],
"itemId": "a1b2c3d4",
"listingType": "general",
"sellerFeedbackCount": 12500,
"sellerFeedbackPercent": 12.5,
"sellerUsername": "alex_rivera",
"shippingCost": "19.99",
"soldCurrency": "USD",
"soldPrice": 19.99,
"soldUtc": 12.5,
"title": "Example title",
"url": "https://example.com/page"
}
]
},
"found": true
}interface EbaySoldListingsResponse {
data: {
items: {
bidCount?: number;
condition?: string;
epid?: string;
image?: string;
images?: string[];
itemId: string;
listingType?: string;
sellerFeedbackCount?: number;
sellerFeedbackPercent?: number;
sellerUsername?: string;
shippingCost?: string;
soldCurrency?: string;
soldPrice?: number;
soldUtc?: number;
title: string;
url: string;
}[];
} | null;
found: boolean;
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
Request, response, and price
Last verified 2026-09-16 · uptime and latency measured over 30dcurl -X POST https://api.getanyapi.com/v1/run/ebay.sold_listings \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"limit":10,"query":"iphone 13 pro","sort":"ended_recently"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| query | string | "iphone 13 pro"Search keyword for sold items (e.g. iphone 13 pro). |
| condition | enum | Item condition filter (e.g. used). |
| freeShipping | boolean | Only include listings that sold with free shipping. |
| limit | integer | 10Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less. |
| listingType | enum | Restrict to a listing format; omit or use all for both (e.g. auction for auction sales only). |
| maxPrice | number | Optional maximum sold price in the site currency (e.g. 500). |
| minPrice | number | Optional minimum sold price in the site currency (e.g. 200). |
| returnsAccepted | boolean | Only include listings from sellers who accept returns. |
| seller | string | Restrict to sold listings from one seller username (e.g. rainierconsignment). |
| site | enum | eBay country site to search. Sold-listing coverage is currently US only. |
| sort | enum | "ended_recently"Result sort order; omit for eBay's default best-match order (e.g. price_high sorts by highest sold price first). |
| Response | ||
| data | object | |
| data.items | object[] | Sold listing records: title, sold price, sale date, condition, seller, and item URL. Populated whenever the provider has data for the entity. |
| data.items[].bidCount | integer | Number of bids the listing received, for auction sales. |
| data.items[].condition | string | Item condition as listed (e.g. Pre-Owned). |
| data.items[].epid | string | eBay catalog product identifier (ePID), when the listing is matched to a catalog product. |
| data.items[].image | string | Primary listing image URL. Populated whenever the provider has data for the entity. |
| data.items[].images | string[] | All listing image URLs, primary first. |
| data.items[].itemId | string | eBay item identifier. Populated whenever the provider has data for the entity. |
| data.items[].listingType | string | Sale format (e.g. Fixed price, Auction). |
| data.items[].sellerFeedbackCount | integer | Seller's lifetime feedback count, when available. |
| data.items[].sellerFeedbackPercent | number | Seller's positive-feedback percentage, when available. |
| data.items[].sellerUsername | string | Seller's eBay username, when available. |
| data.items[].shippingCost | string | Shipping cost as displayed on the listing (e.g. "Free delivery", "$5.55 delivery"). |
| data.items[].soldCurrency | string | ISO currency code of the sold price (e.g. USD). |
| data.items[].soldPrice | number | Final sold price in the site currency. |
| data.items[].soldUtc | number | UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. |
| data.items[].title | string | Listing title as it appeared on eBay. Populated whenever the provider has data for the entity. |
| data.items[].url | string | Canonical listing URL. Populated whenever the provider has data for the entity. |
| found | boolean | |
| Price | ||
| Price per request (ceiling) | USD | $0.088 |
| Price /1k results | USD | $3.52 |
FAQ
About the eBay Sold listings API
The AnyAPI eBay Sold listings API returns eBay sold listings data as normalized JSON from one POST call to /v1/run/ebay.sold_listings. Retrieve recently sold eBay listings for any keyword with optional price-range, condition, and sort filters (sold price, sale date, condition, seller, item details); ideal for pricing research. AnyAPI returns one normalized schema whichever source serves it. It costs $3.52 per 1,000 results, and never more than $0.088 for a single request, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 91.7% of eBay sold listings calls through AnyAPI succeeded, with a median response time of 11.4 seconds across 108 measured calls.