eBay Sold Listings Scraper avatar

eBay Sold Listings Scraper

Under maintenance

Pricing

from $1.00 / 1,000 sold listing scrapeds

Go to Apify Store
eBay Sold Listings Scraper

eBay Sold Listings Scraper

Under maintenance

Sold & completed eBay listings for any keyword: real sale prices, dates, condition, shipping, plus min/avg/median price stats.

Pricing

from $1.00 / 1,000 sold listing scrapeds

Rating

0.0

(0)

Developer

Andrew Schneidwind

Andrew Schneidwind

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

20 days ago

Last modified

Share

eBay Sold Listings Scraper — real sold prices, not asking prices

Find out what things actually sell for on eBay. This Actor scrapes sold & completed listings for any keyword and returns real sale prices, sold dates, condition, and shipping, plus ready-made price statistics (min / max / average / median) per keyword.

Asking prices lie. Sold prices don't. Whether you're pricing inventory, researching a product niche, or valuing a collection, completed-listing data is the closest thing to a true market price that exists for second-hand and collectible goods.

What you get

One dataset item per sold listing:

{
"keyword": "iphone 14 pro 256gb",
"title": "Apple iPhone 14 Pro 256GB Deep Purple Unlocked",
"price": 612.5,
"currency": "$",
"priceText": "$612.50",
"soldDate": "Jun 28, 2026",
"condition": "Pre-Owned",
"shipping": "Free shipping",
"bids": null,
"url": "https://www.ebay.com/itm/1234567890",
"imageUrl": "https://i.ebayimg.com/...",
"status": "SUCCEEDED"
}

Plus one PRICE_STATS summary item per keyword:

{
"keyword": "iphone 14 pro 256gb",
"type": "PRICE_STATS",
"soldCount": 50,
"minPrice": 380,
"maxPrice": 799,
"averagePrice": 601.34,
"medianPrice": 615,
"currency": "$"
}

How to scrape eBay sold listings

  1. Enter one or more keywords — one search runs per keyword.
  2. Optionally set a condition filter (Any / New / Used), a max listings cap, and the eBay site (US, UK, Germany, Australia, Canada, France, Italy, Spain).
  3. Click Start. Results land in the dataset within seconds, ready to export as JSON, CSV, or Excel.

No login, no eBay API key, no developer account needed.

Input

FieldDescription
keywordsOne search per keyword
maxItemsPerKeywordCap on listings per keyword (default 100, max 2000)
conditionAny / New / Used
ebayDomaineBay.com, .co.uk, .de, .com.au, .ca, .fr, .it, .es
includePriceStatsAdd the per-keyword stats item (default on)
proxyConfigurationApify Proxy settings — keep residential (default)

Pricing

You pay a small fee per sold listing delivered — blocked or failed searches are never charged. No subscriptions, no minimums, no monthly rental. Scraping 1,000 sold listings costs $1.00 plus a few cents of platform usage.

Use cases

  • Resellers & flippers — price inventory using real sale data, not wishful asking prices. Check what that thrift-store find actually moves for before you buy it.
  • Product research & e-commerce — validate demand and margins before sourcing a product. Median sold price beats gut feeling.
  • Collectors — track true market value of trading cards, coins, watches, sneakers, vinyl, LEGO sets.
  • Repricing & valuation tools — feed live comp data into your own pricing engine via the Apify API.
  • Insurance & appraisals — document fair market value with real transaction evidence.

Run it from your own code

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("originalvi/ebay-sold-listings").call(run_input={
"keywords": ["pokemon charizard psa 9", "nintendo switch oled"],
"maxItemsPerKeyword": 100,
"condition": "any",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Works the same with the JavaScript apify-client, raw HTTP API, or no-code integrations (Make, Zapier, n8n). You can also schedule daily runs and export straight to Google Sheets.

FAQ

Is it legal to scrape eBay sold listings? This Actor only collects publicly visible data — the same sold-listing results anyone can see in a browser. No login is used and no personal data is collected. That said, how you use the data is your responsibility; consult a lawyer for your specific situation.

Why do I see BLOCKED errors? eBay aggressively blocks datacenter IPs. Keep the proxy configuration on residential (the default). Runs that deliver nothing are never charged.

How far back does sold-listing data go? eBay shows roughly the last 90 days of sold/completed listings in search results, capped at about 10,000 items per query. For deeper history, split your search by condition or more specific keywords.

Can I scrape eBay UK / Germany / Australia instead of eBay US? Yes — set ebayDomain to ebay.co.uk, ebay.de, ebay.com.au, ebay.ca, ebay.fr, ebay.it, or ebay.es. Prices come back in the local currency.

How is this different from eBay's Terapeak? Terapeak requires an eBay seller account and keeps data inside eBay's UI. This Actor gives you raw, structured data you can pipe anywhere — spreadsheets, dashboards, pricing models, AI agents.

Does it return active listings too? No — sold/completed only. That's the point: real transaction prices.

Tips for better results

  • Be specific with keywords: iphone 14 pro 256gb unlocked beats iphone — the price statistics get much more meaningful.
  • Use the condition filter to separate new vs. used markets; they often differ by 30%+.
  • Schedule a daily run to build your own price-history database — eBay only shows ~90 days.

More Actors by this developer

Found a problem?

Open an issue on the Issues tab and I'll fix it fast — usually within a day.