eBay Sold Listings Scraper 💰 sold & live price comps avatar

eBay Sold Listings Scraper 💰 sold & live price comps

Pricing

from $1.75 / 1,000 sold listings

Go to Apify Store
eBay Sold Listings Scraper 💰 sold & live price comps

eBay Sold Listings Scraper 💰 sold & live price comps

See what things really sell for on eBay: sold price, date, condition and seller, plus instant price comps (min, max, average, median). Sign in with your own eBay session to unlock real sold prices, or run without one for clearly-labeled live asking-price comps. No API key, platform usage included.

Pricing

from $1.75 / 1,000 sold listings

Rating

0.0

(0)

Developer

Tagada Data

Tagada Data

Maintained by Community

Actor stats

0

Bookmarked

19

Total users

11

Monthly active users

2 days ago

Last modified

Share

eBay Sold Listings Scraper with Price Comps

Find out what things really sell for on eBay. Give this actor a product keyword or an eBay search URL and it returns recent listings with clean price data, plus a ready-made price-comps summary per search: how many results, and the lowest, highest, average and median price. That summary is the number resellers, flippers and appraisers actually want — the one eBay keeps behind a paid Terapeak subscription.

Sold prices vs. asking prices — how it works now

In July 2026, eBay changed its policy: sold and completed results are now shown to signed-in visitors only. Every tool in this category was affected on the same day. This actor handles the change transparently, with two modes:

  • Connect your eBay session (recommended): paste your own signed-in eBay cookie into the eBay sign-in cookies input (a 30-second, one-time step — how-to below) and you get real sold prices again: sold price, sold date, condition, seller, and true sold-price comps. Rows are labeled priceType: "sold".
  • Run without a session: the actor returns the live market for the same search — current listings with their asking prices, and an asking-price comps summary. Every one of these rows is clearly labeled priceType: "asking" and never mixed up with sales, so you always know exactly what you're looking at. (You can turn this fallback off with fallbackToActiveListings: false if you want sold data or nothing.)

Either way it reads eBay's own search results over plain HTTP — fast, no browser, no API key — and the per-listing price is the whole bill: platform usage included.

Getting real sold prices back in 30 seconds

The easy way — a cookie extension (recommended):

  1. Sign in to ebay.com in your normal browser.
  2. Install the free Cookie-Editor extension (Chrome, Firefox, Edge or Safari).
  3. While on ebay.com, click the extension's icon, then Export → Export as JSON (it copies to your clipboard).
  4. Paste into this actor's eBay sign-in cookies input. Done.

No extension? Use your browser's developer tools:

  1. Sign in to ebay.com, press F12, open the Network tab, and reload the page.
  2. Click the first www.ebay.com request, find Request Headers → Cookie, and copy its whole value.
  3. Paste it into the eBay sign-in cookies input.

Both formats work — the actor understands the JSON export and the raw cookie header alike. The value is stored encrypted by Apify, never appears in logs, and is used only to run your searches on your own session. When eBay eventually expires the session (typically after a few weeks, or when you sign out), the run log will tell you plainly — just paste a fresh value.

What you get

One record per listing:

FieldDescription
priceType"sold" for a realized sale, "asking" for a live listing
price, priceLabel, currencyNumeric price, the label as shown ($195.00), and the currency
soldPrice, soldDate, soldDateRawSold rows only: the sale price and date (ISO + as eBay printed it)
itemId, title, urleBay item number, listing title and URL
conditionItem condition (Pre-Owned, Brand New, ...)
format, bidsBuying format (Buy It Now, Best Offer, Auction) and bid count on auctions
shipping, locationShipping line and item location
sellerName, sellerFeedbackPercent, sellerFeedbackCountThe seller and their feedback
imageUrlListing thumbnail
searchTerm, sourceUrl, scrapedAtThe search that found it, the page it came from, and the run timestamp

And one comps summary per search (recordType: "summary"):

FieldDescription
priceTypeWhether this roll-up is built from "sold" or "asking" prices
resultCountHow many listings are behind it (soldCount is also kept on sold roll-ups)
avgPrice, medianPriceAverage and median price
minPrice, maxPriceLowest and highest price
firstSoldDate, lastSoldDateSold roll-ups only: the date range the comps cover

Who uses it

  • Resellers and flippers pricing inventory before they buy or list, using real sold prices instead of hopeful asking prices.
  • eBay and Amazon sellers checking demand and price trend for a SKU before sourcing it.
  • Collectors and appraisers valuing cards, coins, watches, sneakers and game consoles from recent comparable sales.
  • Pricing and market-research pipelines that need eBay price data as clean JSON.

Input examples

Real sold comps for a single product (with your eBay session connected):

{
"search": ["nintendo switch oled"],
"maxResults": 200,
"ebaySignInCookies": "<paste the Cookie value from your signed-in eBay browser session>"
}

Several products at once:

{
"search": ["pokemon booster box", "charizard psa 10", "rolex submariner 124060"],
"maxResults": 500
}

Paste an eBay search URL for exact control over category, condition or price filters:

{
"search": ["https://www.ebay.com/sch/i.html?_nkw=air+jordan+1&_sacat=15709"],
"maxResults": 300
}

Sold data or nothing (no asking-price fallback):

{
"search": ["nintendo switch oled"],
"ebaySignInCookies": "<your eBay session cookie>",
"fallbackToActiveListings": false
}

How it works

A keyword is turned into an eBay sold-and-completed search sorted by most recently ended — the ordering that gives the freshest comps. The actor walks the result pages, dedupes by item id, and stops a search as soon as a page returns no new listings or when it reaches your maxResults. If sold results are unavailable for a search and the fallback is on, it re-runs the same search on live listings and labels everything "asking".

Output sample

{
"recordType": "listing",
"priceType": "sold",
"itemId": "287387424634",
"title": "Apple AirPods Pro 2nd Generation with MagSafe Case USB-C",
"url": "https://www.ebay.com/itm/287387424634",
"imageUrl": "https://i.ebayimg.com/images/g/8a1AAOSw/s-l500.jpg",
"price": 195,
"soldPrice": 195,
"priceLabel": "$195.00",
"currency": "USD",
"soldDate": "2026-07-09",
"soldDateRaw": "Sold Jul 9, 2026",
"condition": "Pre-Owned",
"subtitle": null,
"format": "Buy It Now",
"bids": null,
"shipping": "Free shipping",
"location": "Portland, Oregon, US",
"sellerName": "gadget_reseller_pdx",
"sellerFeedbackPercent": 99.4,
"sellerFeedbackCount": 2841,
"searchTerm": "airpods pro 2",
"sourceUrl": "https://www.ebay.com/sch/i.html?_nkw=airpods+pro+2&LH_Sold=1&LH_Complete=1",
"scrapedAt": "2026-08-05T09:14:22.317Z"
}

Pricing

You pay per listing returned — sold or asking, same flat rate — and that is the whole bill: platform usage is included in the price. The comps summary rows are free. No subscription.

EventPrice
Listing returned$2.50 per 1,000
Actor start$0.001 per run

The tiny start fee covers runs that return nothing; on any normal search it is noise next to the per-listing price.

FAQ

Where does the sold data come from? eBay's own sold and completed search — the same results you see when you tick "Sold items" in the eBay filter sidebar while signed in. eBay keeps sold history visible for roughly the last 90 days.

Why do I need to connect my eBay session for sold prices? Because since July 2026 eBay shows sold results to signed-in visitors only — that's an eBay policy change that hit every sold-data tool on the market at once. Connecting your own session is the reliable, above-board way to keep getting them: your searches run on your account, exactly as if you had ticked "Sold items" in your own browser.

Is my cookie safe? It's stored as an encrypted secret input by Apify, never printed to logs or datasets, and used only to fetch your search results during your runs. You can invalidate it at any time by signing out of eBay in your browser.

What do I get without a session? The current live market for your search: every listing with its asking price plus an asking-price comps summary. Useful for a quick market read — and always labeled priceType: "asking" so it can never be mistaken for sold data.

Do I need a proxy or an eBay API key? No key and no proxy setup. Platform usage is included in the price, so nothing extra appears on your bill.

Can I get comps for another eBay country? Yes. Paste that site's search URL (for example an ebay.co.uk search). Prices come back in that site's currency, captured in the currency field.

How far back does it go? As far as eBay's sold search shows, which is about 90 days. Sort is most-recently-ended, so you get the freshest sales first and can cap the volume with maxResults.


Something missing?

If you need an extra field, another eBay market, or a different output, open an issue on this Actor and describe it. I read every request and small additions usually ship within days. More ecommerce and lead generation Actors are on my profile.

eBay sold listings, eBay sold prices, eBay price comps, what did it sell for, eBay completed listings scraper, Terapeak alternative, eBay sold items API, resale price research, eBay market research, sold price history, eBay sold listings not showing, eBay sold items require sign in, eBay sold filter not working, check eBay sold prices without account.