eBay Listings Scraper — with seller name, feedback & sold count avatar

eBay Listings Scraper — with seller name, feedback & sold count

Pricing

from $3.50 / 1,000 listings

Go to Apify Store
eBay Listings Scraper — with seller name, feedback & sold count

eBay Listings Scraper — with seller name, feedback & sold count

Scrape eBay search, category and filtered listing pages. Returns the seller username, feedback percent and feedback count that other eBay scrapers leave empty, prices parsed into numbers with currency, and a maxListings hard cap so you never get a surprise bill.

Pricing

from $3.50 / 1,000 listings

Rating

0.0

(0)

Developer

Henry Crawl

Henry Crawl

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

eBay Listings Scraper — with seller identity and parsed prices

Scrape eBay search results, category pages and any filtered listing URL. Every row comes back with the seller username, seller feedback percentage and feedback count, prices already parsed into numbers with a currency code, and a hard cap on how many listings a run may return.

What you get per listing

FieldExampleNotes
itemId197740124597Stable eBay id, use it to deduplicate across runs
titleYETI Rambler 20 oz Tumbler…
priceRaw$35.00Exactly as eBay rendered it
priceValue35Parsed number, ready to filter and aggregate
priceMax48.5Filled when the listing shows a price range
currencyUSDDerived from the rendered price
conditionBrand New
sellerNameoliviabrian1234
sellerFeedbackPercent100
sellerFeedbackCount4896K and 94.2K are expanded to real numbers
soldCount461Present on the listings where eBay shows it
watchers60
bidCount3Auctions only
shippingRaw+$28.60 delivery
shippingValue28.60 when shipping is free
freeShippingfalse
itemLocationUnited StatesWhere the item ships from
imageUrl, itemUrl
pageNumber, searchKeyword, inputUrlProvenance of every row
ebaySite, proxyCountry, scrapedAtThe exact context the data was captured in

1. Build a search from filters — no URL needed. Add one or more keywords; each runs as its own search with the same filters:

{
"keywords": ["yeti rambler 20 oz tumbler", "stanley quencher 40 oz"],
"ebaySite": "www.ebay.com",
"proxyCountry": "US",
"condition": "new",
"buyingFormat": "buy_it_now",
"minPrice": 20,
"maxPrice": 60,
"sortBy": "price_lowest",
"maxListings": 2000
}

2. Paste URLs — any eBay search, category or filtered listing page:

{
"startUrls": [
"https://www.ebay.com/sch/i.html?_nkw=yeti+rambler&LH_Sold=1&LH_Complete=1"
],
"proxyCountry": "US",
"maxListings": 500
}

Filters available: eBay site, keyword exclusions, category, min/max price, condition, buying format, free shipping, sold items, completed items, and the same sort options as eBay's own dropdown.

Sold and completed listings

Set soldItems or completedItems to scrape prices items actually sold at, rather than what sellers are asking. eBay's public API does not expose this, which makes it the most useful signal here for pricing, resale and market research.

Proxy country matters more than you would expect

eBay localises listing pages: prices, currency, shipping costs, and even which listings appear depend on the country of the IP making the request. Requesting www.ebay.com from outside the US can return prices in a different currency entirely. Set proxyCountry to the market you care about — it defaults to US.

ebaySite and proxyCountry are independent: ebaySite picks which regional eBay to load, proxyCountry decides which market you appear to be shopping from.

Residential proxies are used by default. eBay refuses datacenter IP ranges, so a datacenter group will simply produce a failed run.

The result cap is real

maxListings stops the run at exactly that number. Scrapers that treat their limits as suggestions produce surprise bills; this one exits as soon as the cap is met, and also stops on its own if three consecutive pages return nothing usable.

Runs fail loudly, not silently

Every run writes a DIAGNOSTICS record to the key-value store with the block rate, bytes per item, and the fill rate of every single output field:

{
"itemsExtracted": 200,
"blockRate": "0%",
"mbPer1000Items": 19.06,
"fieldCoverage": { "priceValue": "100%", "sellerName": "92%", "currency": "100%" }
}

If nothing was extracted, or more than half the pages were blocked, the run is marked failed with the reason. A dataset full of empty columns is worse than an error, because the problem only shows up after you have used the data.

Typical uses

  • Competitor and marketplace price monitoring, with the seller behind each price
  • Resale and arbitrage research on sold listings
  • Tracking which sellers list a given brand, and at what price
  • Building product and pricing datasets for internal tools or dashboards

Notes and limits

  • soldCount and watchers appear only on the listings where eBay displays them; they are reported as null elsewhere rather than guessed.
  • eBay places a promotional label in the footer of every result card, organic ones included, so this actor does not claim to separate promoted listings from organic ones. It does drop the "Shop on eBay" placeholder cards, which carry no data.
  • Keep maxConcurrency low. eBay authorises by session, so parallelism burns sessions faster than it saves time.

Support

Found a field that stopped filling, or need a filter that is not exposed yet? Open an issue on the actor page with the input you used — layout changes on eBay are normal and get fixed.