eBay Sold Price Checker: Real Sold Listings & Comps avatar

eBay Sold Price Checker: Real Sold Listings & Comps

Pricing

from $5.00 / 1,000 sold comps

Go to Apify Store
eBay Sold Price Checker: Real Sold Listings & Comps

eBay Sold Price Checker: Real Sold Listings & Comps

What did it actually sell for on eBay? Verified mode runs eBay's own sold search on managed accounts: exact sale dates, final prices, shipping, auction or Buy It Now. Standard mode needs no account and reads sellers' public feedback. Recommended price, range, demand and a pricing report.

Pricing

from $5.00 / 1,000 sold comps

Rating

4.1

(5)

Developer

Marielise

Marielise

Maintained by Community

Actor stats

3

Bookmarked

373

Total users

10

Monthly active users

4 days ago

Last modified

Share

What did it actually sell for? Type an item, get the eBay sold listings behind its price: final price, sale date, shipping, auction or Buy It Now, plus a recommended listing price, a price range and a demand read.

eBay put its Sold Items filter behind a login in August 2026. This actor gives you two ways around it, and you never need an eBay account of your own.

VerifiedStandard
SourceeBay's own sold search, run on our managed eBay accountsPublic feedback of sellers listing your item
Sale dateExact dayBand: past month, 6 months or year
Auction vs Buy It Now, bidsYesNo
Shipping paidYesNo
Your eBay accountNot neededNot needed
Price$0.35 per search + $0.004 per comp$0.15 per search + $0.005 per comp

Pick with dataSource. If a Verified run cannot get a logged-in account (all busy, or eBay is challenging them), it falls back to Standard on its own and is charged the Standard price. meta.dataSource and meta.fallbackReason on the summary tell you which one ran.

Quick start

{
"dataSource": "verified",
"query": "iPhone 13 Pro 128GB",
"soldWithinDays": 90,
"maxItems": 100
}

Typical run: 15 to 60 seconds.

How each source works

Verified. The actor sends your query to our sold-search service. The service runs eBay's real sold search (Sold Items + Completed Items, newest first) on one of a small pool of logged-in eBay accounts, each with its own fixed browser and its own residential IP, at a person's pace. Only the parsed results come back to your run; no account, cookie or password ever enters it. Comps whose title does not match your query, in another currency, or priced like an accessory or a bundle are dropped.

Standard. No account anywhere:

  1. The actor searches eBay's live listings for your keywords and reads price, condition, seller, watchers and the "N sold" badge on multi-quantity listings.
  2. It reads the public feedback profiles of the sellers listing your item, ranked by how many listings they have for it and how big their store is. Feedback shows what each buyer paid and roughly when.
  3. Matching sales become comps. Multi-quantity listings with a sold badge add one comp each at their current price.

What you get

Sold comps, one dataset item each:

FieldDescription
titleListing title as sold
soldPriceWhat the buyer paid (cents, display, currency)
shippingPrice, totalPriceShipping paid and price plus shipping (Verified)
soldDateExact sale day (Verified), null for Standard
soldPeriodpast_month, past_6_months or past_year
listingType, bidCountauction, buy_it_now or best_offer, and bids (Verified)
sourcesold_search (Verified), seller_feedback or active_sold_badge (Standard)
condition.conditionnew, open_box, certified_refurbished, like_new, very_good, good, acceptable, for_parts, or null
seller.username, seller.feedbackScore, seller.feedbackPctWho sold it
buyerRating, buyerCommentFeedback the buyer left (Standard)
unitsSoldUnits on a sold badge (Standard)
urlItem page

Summary, the last dataset item and the Overview tab:

  • recommendedPrice (median), priceRange (10th to 90th percentile)
  • demandLevel, quickTake, confidence, confidenceReason
  • analytics: price statistics, breakdown by condition and listing type, trend
  • meta.dataSource, meta.fallbackReason, meta.dataFreshness

Key-value store: sold_items.csv, REPORT.md (pricing report), OUTPUT.json (everything), RUN_DIAGNOSTICS.json.

Input

ParameterDefaultDescription
dataSourcestandardverified or standard. The Console form starts on verified.
queryItem keywords. Be as specific as a buyer would: model, capacity, edition.
ebayUrlAn eBay listing URL; the query is taken from its title when query is empty.
ebaySiteebay.comebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.ca, ebay.com.au. Verified currently covers ebay.com; other sites fall back to Standard.
soldWithinDays180How far back to look, 30 to 365. Verified uses exact dates; Standard rounds to 30, 180 or 365.
conditionallKeep only these conditions
priceMin, priceMaxKeep only comps in this price range, in the site's currency
maxItems50Maximum comps to return, 10 to 200. Billed per comp actually returned.
maxSellers20Standard only: sellers' feedback to read, 5 to 60
includeAnalyticstrueAdd the analytics block and REPORT.md
outputFormatfullfull, summary_only or items_only for OUTPUT.json
proxyresidentialStandard only. Verified uses our own proxies.

Pricing

Pay per event.

EventPriceWhen
Verified search$0.35Once per Verified run, when the logged-in search completes, even if nothing matches
Verified sold comp$0.004Per comp written to the dataset
Standard search$0.15Once per Standard run, only when at least one comp is found
Standard sold comp$0.005Per comp written to the dataset
RunVerifiedStandard
20 comps$0.43$0.25
50 comps$0.55$0.40
200 comps$1.15$1.15

A Verified run that falls back is charged as Standard. A Standard run that finds nothing, or is blocked, costs nothing. The actor respects the run's Max total charge by lowering maxItems to what the budget covers.

What to expect from the data

Verified is eBay's own record. Each comp is one ended listing that eBay marks as sold, with the price shown on eBay's sold results. When a seller accepted a Best Offer, eBay shows the original price struck through and listingType is best_offer; the accepted amount is not published.

Standard follows the market. Common products (phones, consoles, sneakers, popular LEGO, tools) return dozens of comps. One-off collectibles return fewer. Sale timing is a band, condition is read from the title, and auction vs fixed price is not visible in feedback.

Matching is by title. A comp is kept when every significant word of your query appears in its title (four or more words tolerate one miss). Prices far below or far above the typical sale are dropped as accessories or bundles.

Output example

{
"type": "item",
"itemId": "336680124696",
"title": "Nintendo Switch OLED Model HEG-001 Handheld Console w/ Accessories",
"url": "https://www.ebay.com/itm/336680124696",
"soldPrice": { "cents": 25999, "display": "$259.99", "currency": "USD" },
"shippingPrice": { "cents": 899, "display": "$8.99", "currency": "USD" },
"totalPrice": { "cents": 26898, "display": "$268.98", "currency": "USD" },
"soldDate": "2026-10-14T00:00:00.000Z",
"soldPeriod": "past_month",
"listingType": "auction",
"bidCount": 11,
"source": "sold_search",
"condition": { "condition": "good", "conditionDetail": "Pre-Owned" },
"seller": { "username": "cocosprinkles", "feedbackScore": 41000, "feedbackPct": 99.9, "topRated": null }
}

When there are no comps

The run still succeeds and writes OUTPUT.json to the key-value store with a status: no_results (nothing matched; try broader keywords), or blocked with blockReason antibot (retry in a few minutes), login_wall (eBay now asks for a login on the pages Standard reads; use Verified) or parser_stale (eBay changed its page; the actor needs an update).

Use cases

  • Resellers and flippers: what is this actually selling for, before you buy it
  • Estate sales, consignment, pawn: fair prices from real transactions, not asking prices
  • Collectors: verify a price before you pay it
  • Pricing tools and AI agents: call it with a query, read summary.recommendedPrice

API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('marielise.dev/ebay-sold-listings-intelligence').call({
dataSource: 'verified',
query: 'Nintendo Switch OLED',
soldWithinDays: 90,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const summary = items.find(i => i.type === 'summary');
console.log(summary.summary.recommendedPrice.display, summary.meta.dataSource);
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('marielise.dev/ebay-sold-listings-intelligence').call(run_input={
'dataSource': 'verified',
'query': 'Nintendo Switch OLED',
'soldWithinDays': 90,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
summary = next(i for i in items if i['type'] == 'summary')
print(summary['summary']['recommendedPrice']['display'], summary['meta']['dataSource'])

Limitations

  • Verified covers ebay.com for now.
  • Verified runs share a small pool of accounts, so at busy moments a run may wait up to 45 seconds, or fall back to Standard.
  • Best Offer prices are the listed price, not the accepted offer, on both sources.
  • Standard coverage is thinner for rare items and for sellers who receive little feedback.

FAQ

Do I need an eBay account? No. Verified uses our accounts and Standard uses none.

Is this real sold data? Yes. Verified comps are eBay's own sold listings. Standard comps are completed transactions from sellers' public feedback, or live listings eBay marks as sold N times.

What if eBay changes something? Any scraper can break. Both sources detect a changed page, a login wall or a challenge, say so in OUTPUT.json, and charge nothing for a broken run.

How is the recommended price calculated? Median of the comps' sold prices. The range is the 10th to 90th percentile.


Built by Ekipnico.