eBay Sold Listings Scraper - Sold Prices, Dates & Sellers
Pricing
from $0.99 / 1,000 sold listings
eBay Sold Listings Scraper - Sold Prices, Dates & Sellers
Scrape completed eBay sales by keyword, seller or item link: the price each buyer paid, title, item id, seller and sale period; add exact end time, bids, shipping, condition and item specifics. 13 eBay sites, monitor mode, price summary. $0.99 per 1,000 sales, no start fee, no eBay login.
Pricing
from $0.99 / 1,000 sold listings
Rating
0.0
(0)
Developer
Top Api
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
What does eBay Sold Listings Scraper do?
eBay Sold Listings Scraper returns completed eBay sales: what each buyer paid, the listing title and item number, the seller, and when it sold. Search by keyword, by seller, or paste item links. Resellers, pricing tools, collectibles dealers and market researchers use it for sold comps without opening eBay one listing at a time.
eBay sold prices - eBay completed listings - eBay sold comps - eBay price history
- Real sold prices: one row per completed order, with the price paid, currency, title, item number, seller and sale period
- Keyword, seller or item link: find who sells a keyword now and read their sales, read named sellers directly, or check what one listing sold for
- Exact end time and listing details: turn on Item details for the final price, end time, bids, shipping, condition, location, category and item specifics
- 13 eBay sites: US, UK, Germany, France, Italy, Spain, Canada, Australia, Austria, Switzerland, Ireland, Netherlands and Poland, in each site's currency
- Monitor mode: scheduled runs deliver only sales earlier runs did not, and re-read auctions they saw ending
- Price summary: count, median and percentiles per search in a free SUMMARY record
- No eBay account, cookies or API key
- Export anywhere: JSON, CSV, Excel; schedules, webhooks, Make, Zapier, n8n, Google Sheets; the Apify API and MCP server
What data can you get from eBay sold listings?
๐ฒ Sold price (soldPrice) | ๐ฑ Currency | ๐ข Units and unit price (quantity, unitPrice) |
๐
Sale period (soldPeriod) | โฑ๏ธ Exact end time (endedAt) | ๐ Title |
| ๐ Item number and link | ๐ค Seller | โญ Seller score and positive % |
| ๐จ Bids and how it sold (auction, Buy It Now, best offer) | ๐ Shipping price and type | ๐งพ Total (price + shipping) |
| ๐ท๏ธ Condition and condition id | ๐ Item location | ๐๏ธ Category and breadcrumbs |
| ๐ Item specifics (brand, model, storage ...) | ๐ผ๏ธ Images (500 and 1600 px) | ๐ฌ Buyer rating and comment |
On a 50-sale test run for "iphone 13", every row had the price, currency, title, item number, seller, seller score and sale period. On a 99-sale run with Item details on, 99% of rows also had condition, shipping, location, category and item specifics.
How eBay Sold Listings Scraper finds sold listings
eBay's own "Sold items" search page has asked every signed-out visitor to sign in since July 2026. This actor never uses it. eBay still shows each completed order in public: in the seller's feedback (what sold, the price paid, and when) and on the listing page itself once it has ended. So for a keyword, the actor:
- reads eBay's live search for the keyword to see which sellers list it now (most listings first, and sellers whose listings show "N sold" before the rest),
- reads each seller's feedback searched for your keyword: one row per completed order,
- with Item details on, opens each sold listing's page for the exact end time, bids, shipping and specifics.
What that means for your results:
- Coverage: sales by sellers who list your keyword today, plus any sellers you name. A one-off seller who is not listing it now is not found by keyword.
- Sale dates: feedback dates a sale as Past month, Past 6 months or Past year (
soldPeriod). The exact end time (endedAt) comes from the listing page of a single-quantity listing (Item details, item links, or tracked auctions). A multi-quantity listing that is still on sale has no exact date per sale. - Order totals: an order for several units shows the total. When the total is a whole multiple of the listing's unit price,
quantityandunitPriceare filled (on the "iphone 13" test, 22 of 50 rows; 6 of them were orders of 2-4 units). The price summary usesunitPricewhen it is known.
How to scrape eBay sold listings
- Create a free Apify account. It comes with $5 of monthly credit and needs no card.
- Open eBay Sold Listings Scraper and click Try for free.
- Type what was sold into Keywords (or add Sellers or Item links), pick the eBay site, and set Sold within (days) and Max sold listings.
- Click Start. Sales stream into the dataset as they are read.
- Open the Storage tab and Export as JSON, CSV or Excel, or schedule the run.
โฌ๏ธ Input
| Parameter | Type | Description |
|---|---|---|
| ๐ What to scrape | ||
keywords | List | What was sold, e.g. iphone 13, rtx 4080, lego 42115. One search per keyword. |
startUrls | List | eBay search URLs (keyword and filters are read from the URL, a "Sold items" URL works too), seller feedback or /usr/ links, item links. |
sellers | List | eBay usernames. With keywords: their sales of each keyword. Without: all their recent sales. |
itemUrls | List | Item links or numbers: an ended single-quantity listing gives its final price and end time; a multi-quantity listing gives each sale from the seller's feedback. |
ebaySite | Select | eBay site, default ebay.com. |
| ๐ฏ Filters (applied by eBay to the keyword search) | ||
categoryId, subcategoryId | Text | eBay category id, e.g. 9355 (Cell Phones & Smartphones). |
itemCondition, conditionId | Select / Integer | Any, new, used, open box, refurbished, for parts, or an exact condition id. |
buyingFormat | Select | All, auction, Buy It Now, accepts offers. |
itemLocation | Select | eBay default, this country only, worldwide. |
aspectFilter | JSON | Item specifics, e.g. {"Brand": "Apple"}. |
| โ๏ธ Refine results | ||
daysToScrape | Integer | Sold within N days: 30 = past month, 180 adds 6 months, 365 the year, 0 = everything (up to 5 years). Default 30. |
minPrice, maxPrice | Number | Sold price range (the unit price when known). |
titleMustMatchQuery | Boolean | Every word of the keyword in the title. Default true. |
excludeKeywords, excludeSellers | List | Drop titles with these words, or these sellers. |
dedupeItemIds | Boolean | Only the newest sale of each listing. Default false (one row per sale). |
includeAutomatedFeedback | Boolean | Keep sales where eBay left automated feedback. Default true. |
| โ Extra data | ||
includeItemDetails | Boolean | Each sold listing's page: end time, bids, format, shipping, condition, location, category, specifics, images. Charged as item-details, $0.0013 per row that gets it. |
includeDescription | Boolean | With item details: the seller's description text (first 5,000 characters). No extra charge. |
| ๐ Monitoring | ||
monitorMode | Boolean | Only sales earlier runs did not deliver, per search. Pairs with a schedule. |
monitorStoreName | Text | Named store that remembers delivered sales. Default ebay-sold-listings-monitor. |
trackEndingAuctions | Boolean | In monitor mode, remember auctions with bids that end within 24 hours and deliver their final price on the next run. Default true. |
resetMonitorState | Boolean | Forget what earlier runs delivered. |
| ๐ฆ Output | ||
maxItems | Integer | Most rows per run. Default 100; 0 = no limit. |
maxItemsPerSearch | Integer | Most rows per keyword, seller or item. |
maxSellersPerSearch | Integer | Sellers read per keyword. Default 20. |
maxRowsPerSeller | Integer | Most sales from one seller per search. Default 50. |
includeSummary | Boolean | SUMMARY record with price statistics. Default true. |
compact | Boolean | 18 core fields for AI agents and MCP. |
| โ๏ธ Advanced | ||
proxyConfiguration | Proxy | Default: Apify datacenter sessions first, residential in the site's country next. |
maxConcurrency | Integer | Seller pages read at once. Default 2. |
Input JSON
{"keywords": ["iphone 13", "iphone 13 pro"],"ebaySite": "ebay.com","daysToScrape": 30,"excludeKeywords": ["case", "screen", "for parts"],"maxItems": 200,"includeItemDetails": false}
Use the words a buyer would search
The keyword finds the sellers and filters their sales. Do: iphone 13 128gb. Don't: apple iphone 13 128gb unlocked good condition (titles that miss more than one word are dropped).
Exclude parts and accessories
Sellers of a phone often sell its cases and screens too. "Title must match" removes most of them; add excludeKeywords such as case, screen, battery for clean comps.
Paste a sold search you already use
A URL like https://www.ebay.com/sch/i.html?_nkw=iphone+13&_sacat=9355&LH_Sold=1 works in startUrls: the keyword, category and filters are taken from it.
โฌ๏ธ Output
Every completed order becomes one dataset item. The table view of a run for iphone 13:
A row from that run:
{"keyword": "iphone 13","itemId": "127948412895","url": "https://www.ebay.com/itm/127948412895","title": "Apple iPhone 13 256GB Unlocked Good Condition All Colors","soldPrice": 253.86,"soldCurrency": "USD","quantity": 1,"unitPrice": 253.86,"soldPeriod": "past_month","sellerUsername": "verizon","sellerFeedbackScore": 37351,"sellerPositivePercent": 99.5,"feedbackRating": "positive","verifiedPurchase": true,"source": "seller_feedback","marketplace": "ebay.com"}
An ended auction read from its own page (an item link):
{"itemId": "318800612903","title": "SEALED - Pokemon TCG Lucario VSTAR SWSH291 Black Star Promo Crown Zenith NM/M","soldPrice": 15.5,"soldCurrency": "USD","endedAt": "2026-09-05T22:30:01.000Z","listingType": "auction","bidCount": 6,"condition": "Ungraded - Near mint or better","shippingPrice": 1.87,"totalPrice": 17.37,"itemLocation": "Jersey City, New Jersey, United States","category": "Single Cards","source": "item_page"}
Fields
| Field | What it is | Filled on test runs |
|---|---|---|
soldPrice, soldCurrency | Price the buyer paid for the order (no shipping), currency | 100% |
quantity, unitPrice | Units in the order and price per unit, when the total shows it | 44% (22 of 50) |
soldPeriod | past_month, past_6_months, past_year, more_than_a_year | 100% of feedback rows |
endedAt | Exact end time of a single-quantity listing that sold | item links and tracked auctions; 2% of an iPhone run with item details (most iPhone sales are multi-quantity listings) |
itemId, itemNumber, url, title | The listing | 100% |
sellerUsername, sellerFeedbackScore, sellerPositivePercent | The seller | 100% |
feedbackId | eBay's id of the sale's feedback entry (unique per sale) | 100% of feedback rows |
feedbackRating, feedbackText, verifiedPurchase, automatedFeedback | What the buyer said (no buyer names) | 100% of feedback rows |
listingType, buyingFormat, bidCount | How it sold | 99% with item details |
shippingPrice, shippingType, totalPrice | Shipping and total | 99% with item details |
condition, conditionId, itemLocation | Item condition and location | 99% with item details |
categoryId, category, categoryPath, itemSpecifics, productDetails | Category and specifics | 99% with item details |
thumbnailUrl, fullResThumbnailUrl, images, quantitySold | Images; units sold on a multi-quantity listing | 99% / 97% with item details |
source | seller_feedback, item_page or ended_listing | 100% |
How can I use eBay sold listings data?
- ๐ฐ Resellers and flippers: price what you list from what the same item actually sold for
- ๐ Collectibles dealers: follow sold prices of cards, coins and sets, and catch auctions as they end
- ๐ Pricing tools and apps: feed comps by keyword or item number into your own product through the API
- ๐ช Sellers: watch what competing sellers sell, at what price, and how fast
- ๐ Market research: compare demand across conditions, models and eBay sites
- ๐ค AI agents: ask for comps through the MCP server and get compact rows back
How much does it cost to scrape eBay sold listings?
Pay per event, no start fee:
| Price | |
|---|---|
| Sold listing (each row) | $0.00099 ($0.99 per 1,000) |
| Item details (only with Item details on, per row that gets them) | $0.0013 |
| Run | Cost |
|---|---|
| 10 sold listings | $0.0099 |
| 100 sold listings | $0.099 |
| 1,000 sold listings | $0.99 |
| 100 sold listings with item details | $0.229 |
Sales a filter removes, private-listing sales and runs that find nothing are not charged. There is nothing else to pay: Apify platform usage is included in these prices. A 50-sale test run finished in 34-80 seconds; 991 sales from 26 sellers took 5 minutes 41 seconds.
Integrations, API, scheduling & MCP
- Schedules: run daily with Monitor mode on to receive only new sales.
- Webhooks: get a call when a run finishes.
- Make, Zapier, n8n, Google Sheets, Slack: connect from the actor's Integrations tab.
- API: call the actor from Python or JavaScript and read the dataset.
- MCP: use it from Claude, Cursor and other AI tools through the Apify MCP server.
More marketplace scrapers from TopApi
- Facebook Marketplace Scraper: local listings, prices and price drops
- SHEIN Product Scraper: prices, discounts and ratings
- 1688.com Wholesale Scraper: wholesale prices, MOQ and suppliers for sourcing
- Zillow Scraper: listings, sold homes and price history
- Trustpilot Reviews Scraper: store and brand reviews
See every actor on the TopApi profile.
Limits & empty runs
- Sellers who list it now: keyword runs read the sellers on eBay's live search (20 by default); raise
maxSellersPerSearchfor more. After 5 sellers in a row with no matching sale, the rest of that keyword's sellers are skipped. - eBay's human check: if eBay asks for a human check on a seller-feedback page, the run stops reading feedback, keeps what it delivered, and says so in its status message. The check is never answered. In our tests, a 991-sale run read 28 feedback pages before one appeared; a niche keyword once stopped after its first page.
- Private listings: eBay hides the title, item and price of private-listing sales; they are skipped (14% of the rows read on one iPhone run).
- Feedback timing: a sale shows up once the order completes and feedback (or eBay's automated feedback) is left.
- Proof-of-work sites: for ebay.co.uk, .ca, .ie, .at and .ch, sellers are found through ebay.com's search filtered to items located in that country, and their sales are read on the local site.
- Never charged: filtered sales, private-listing sales, and runs that deliver nothing.
FAQ
How much does eBay Sold Listings Scraper cost?
$0.00099 per sold listing ($0.99 per 1,000) and $0.0013 per row with item details. There is no start fee, and a run that finds nothing costs nothing for results.
How many sold listings can eBay Sold Listings Scraper return?
As many as the sellers of your keyword have sold in your date window: 991 sales came from 26 sellers of "iphone 13" in one run. Niche keywords return fewer, since fewer sellers list them.
Does eBay Sold Listings Scraper give the exact sold date?
For a single-quantity listing, yes: turn on Item details, paste the item link, or use Monitor mode to track ending auctions (endedAt). For sales from a seller's feedback, eBay shows only the period: past month, past 6 months or past year.
Can eBay Sold Listings Scraper run on a schedule?
Yes. Turn on Monitor mode and add a daily schedule: each run delivers only sales the earlier runs did not. A poll with nothing new cost $0.00028 of platform usage in our test, and you pay nothing for it.
Can I use eBay Sold Listings Scraper with the Apify API?
Yes, from any language through the Apify API, with ready clients for Python and JavaScript.
Can AI agents use eBay Sold Listings Scraper through MCP?
Yes. Add it to the Apify MCP server and set compact for 18-field rows.
Do I need an eBay account, cookies or an API key?
No. The actor reads only pages eBay shows to any signed-out visitor.
Why did eBay Sold Listings Scraper return fewer sales than I asked for?
The sellers of the keyword sold fewer in your window, your filters removed some, or eBay showed its human check on feedback pages (the status message says which). Widen daysToScrape, add sellers, or try a broader keyword.
Does eBay Sold Listings Scraper show what a listing with many units sold for?
Yes: paste the item link. The actor reads the seller's feedback for that item number and returns each sale (19 sales of one iPhone listing in our test).
Your feedback
Found a bug or need a field? Open an issue on the Issues tab. We read every one.
Unofficial tool, not affiliated with or endorsed by eBay Inc. It reads pages eBay shows to any signed-out visitor.

