eBay Listings Scraper — with seller name, feedback & sold count
Pricing
from $3.50 / 1,000 listings
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
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
| Field | Example | Notes |
|---|---|---|
itemId | 197740124597 | Stable eBay id, use it to deduplicate across runs |
title | YETI Rambler 20 oz Tumbler… | |
priceRaw | $35.00 | Exactly as eBay rendered it |
priceValue | 35 | Parsed number, ready to filter and aggregate |
priceMax | 48.5 | Filled when the listing shows a price range |
currency | USD | Derived from the rendered price |
condition | Brand New | |
sellerName | oliviabrian1234 | |
sellerFeedbackPercent | 100 | |
sellerFeedbackCount | 489 | 6K and 94.2K are expanded to real numbers |
soldCount | 461 | Present on the listings where eBay shows it |
watchers | 60 | |
bidCount | 3 | Auctions only |
shippingRaw | +$28.60 delivery | |
shippingValue | 28.6 | 0 when shipping is free |
freeShipping | false | |
itemLocation | United States | Where the item ships from |
imageUrl, itemUrl | ||
pageNumber, searchKeyword, inputUrl | Provenance of every row | |
ebaySite, proxyCountry, scrapedAt | The exact context the data was captured in |
Two ways to search
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
soldCountandwatchersappear only on the listings where eBay displays them; they are reported asnullelsewhere 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
maxConcurrencylow. 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.