eBay Sold Listings Search avatar

eBay Sold Listings Search

Pricing

from $4.00 / 1,000 results

Go to Apify Store
eBay Sold Listings Search

eBay Sold Listings Search

Get confirmed eBay sold prices — not asking prices. Search by keyword across 8 marketplaces, filter by date range, and export clean structured data for comps, resale pricing, and market research.

Pricing

from $4.00 / 1,000 results

Rating

4.9

(8)

Developer

Caffein Dev

Caffein Dev

Maintained by Community

Actor stats

30

Bookmarked

1.2K

Total users

332

Monthly active users

1.3 days

Issues response

3 days ago

Last modified

Share

eBay Sold Listings API (Real Sold Items Only)

Fetch real sold listings from eBay — actual completed sales with final prices. This Actor returns sold items only, not active listings and not completed-but-unsold items.

Built for price analysis, resale tools, market research, and pricing intelligence.


🔎 What This API Provides

This Apify Actor extracts eBay sold listings and returns structured, machine-readable data for each sale:

  • Final sold price
  • Currency
  • Sale end date
  • Listing title
  • Item URL
  • Item ID

Every result represents an item that actually sold ❌ No active listings ❌ No unsold “completed” listings ❌ No estimated or AI-generated prices


⚙️ Input

{
"keywords": ["rtx 4080", "rtx 4090"],
"categoryId": "58058", // Computers/Tablets & Networking
"subcategoryId": "", // optional, overrides categoryId when set
"daysToScrape": 30,
"count": 100,
"ebaySite": "ebay.com",
"sortOrder": "endedRecently",
"minPrice": 100,
"maxPrice": 500,
"itemLocation": "default",
"itemCondition": "any"
}
FieldTypeDefaultDescription
keywordsstring[]required1–6 search terms. Each runs as a separate search with the same filters. Results are tagged with keyword for easy filtering.
keywordstringDeprecated. Use keywords array instead. Accepted for backward compatibility.
searchstringDeprecated. Alias for keyword. Use keywords array instead. Accepted for backward compatibility with callers that send search. Backslash-escaped quotes (\") in the value are unescaped before the search runs.
daysToScrapenumber30Days back to scrape (1–90)
countnumber100Max results per keyword
categoryIdstring"0"Main category filter. Use "0" for All Categories.
subcategoryIdstring""Optional subcategory filter. If set, overrides categoryId (maps to _sacat). Displayed as Category -> Subcategory in the input UI.
ebaySitestringebay.comeBay marketplace (see supported sites)
sortOrderstringendedRecentlyendedRecently · timeNewlyListed · pricePlusPostageLowest · pricePlusPostageHighest · distanceNearest
minPricenumberMinimum sold price filter
maxPricenumberMaximum sold price filter
itemLocationstringdefaultdefault · domestic · worldwide
itemConditionstringanyany · new · used

Supported eBay Sites

ebay.com · ebay.co.uk · ebay.de · ebay.fr · ebay.it · ebay.es · ebay.ca · ebay.com.au


📤 Output

{
"itemId": "306671421088",
"url": "https://www.ebay.com/itm/306671421088",
"title": "Apple iPhone 13 Pro Max - 128GB - Unlocked - Cracked Back",
"condition": "Pre-Owned",
"conditionId": 3000,
"endedAt": "2025-12-22T05:00:00.000Z",
"soldPrice": "215",
"soldCurrency": "USD",
"shippingPrice": "6.20",
"shippingCurrency": "USD",
"shippingType": "paid",
"totalPrice": "221.20",
"sellerUsername": "example_seller",
"sellerPositivePercent": 99.2,
"sellerFeedbackScore": 1842,
"scrapedAt": "2026-01-19T21:53:17.613Z"
}
FieldDescription
itemIdeBay item ID
urlFull listing URL
titleListing title
conditionLocalized eBay condition label as shown on the search card (e.g. "Pre-Owned" on ebay.com, "Gebraucht" on ebay.de, "Neuf" on ebay.fr, "Nuovo" on ebay.it, "Usado" on ebay.es). null when eBay didn't display one. This is the authoritative field — what the buyer actually saw.
conditionIdBest-effort numeric eBay condition ID resolved from condition via a static lookup table. null when condition is null or the label isn't in the lookup table (eBay can introduce new or locale-specific labels at any time — always check condition first). Common IDs: 1000 New · 1500 Open box / New Other · 1750 New with defects · 20002030 Refurbished tiers (Certified / Excellent / Very Good / Good) · 2500 Seller Refurbished · 2750 Like New · 3000 Used / Pre-Owned · 7000 For parts. Full reference
categoryIdCategory id used for the search (_sacat)
categorySelected category label from the search page dropdown
endedAtSale completion timestamp (ISO 8601)
soldPriceFinal transaction price
soldCurrencyCurrency code (e.g. USD, GBP)
shippingPriceShipping cost (null if not disclosed)
shippingCurrencyCurrency of shipping price
shippingTypefree · paid · pickup · unknown
totalPricesoldPrice + shippingPrice when currencies match, otherwise equals soldPrice
sellerUsernameSeller username (best-effort)
sellerPositivePercentPositive feedback % (best-effort)
sellerFeedbackScoreFeedback count (best-effort)
scrapedAtScrape timestamp (ISO 8601)

👥 Who This API Is For

  • Developers building pricing APIs or resale tools
  • Data analysts and researchers
  • Professional resellers and flippers
  • SaaS founders validating secondary market prices

📞 Support & Feedback

For issues, questions, or feature requests, please contact the Actor author via Apify.


Category IDs & Subcategory IDs

Pass a category ID as categoryId (main categories) or subcategoryId (subcategories) in your input. When subcategoryId is set it overrides categoryId — the output always reflects the effective category used.

🔍 Browse & search all category IDs and subcategory IDs →