eBay Product & Sold Scraper
Pricing
Pay per usage
eBay Product & Sold Scraper
Scrape eBay search results, listing details, and SOLD/completed listing history. Built-in price-band partitioning to break past the 10-page (600-result) cap. Confirmed sold prices, not asking prices.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Crikit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Programmatic access to eBay search results, listing details, and the sold/completed listings dataset — the same data Terapeak charges for, exported as clean JSON / CSV for reseller arbitrage, sold-comp research, repricing engines, and market analytics.
What this actor returns
Confirmed sold prices, not asking prices. Every listing returned by an eBay sold search is structured as:
listingId,title,itemUrl,imageUrl(1600 px)price(USD numeric),priceText,priceCurrency,priceUsdApproxsoldDate(ISO),isSold,finalPriceHidden(for "Best offer accepted")condition,subtitle,bidCount,listingTypeshippingText,epid,seller(name + feedback count + feedback %)searchQuery,searchUrl,searchRank,scrapedAt- Optional
detailblock whenscrapeItemDetailsis enabled (item specifics, watchers, full photo list, shipping/returns/location, breadcrumb)
How to use it
Two input modes:
- Search mode — pass
searchQueries(a list of keyword queries). Each query runs through eBay's search results pages and the actor extracts every listing. - Detail-only mode — pass
itemUrls(a list of eBay/itm/<id>URLs). The actor pulls each item detail page directly.
Both modes can be combined in a single run.
Sold-only example
{"searchQueries": ["pokemon charizard psa 10", "iphone 15 pro 256gb"],"mode": "sold","maxResultsPerQuery": 200,"sortBy": "recently_ended","scrapeItemDetails": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Cross-listing comp research with details
{"searchQueries": ["air jordan 1 chicago 1985"],"mode": "both","maxResultsPerQuery": 600,"scrapeItemDetails": true,"condition": "used"}
Pricing
Pay per result. $0.003 per listing ($3 per 1,000 results). Flat fee, no tiers. Apify subscription discounts apply automatically.
Detail-only mode (itemUrls) is the same per-result price even though it costs more compute, because each detail record packs roughly 4–6x the data of a search hit.
Coverage and limits
- eBay caps search at 600 results per query (10 pages × 60). This actor automatically partitions queries by price band when you ask for more than 600, so a single
searchQueriesentry can yield 1000+ unique listings. - "Best offer accepted" sold prices are hidden by eBay for non-buyers (about 3% of sold listings). The actor flags these with
finalPriceHidden: trueand leavespricenull. There is no public way to recover the accepted offer amount. - Per-sale history for multi-quantity listings is not exposed by eBay's public surfaces. The actor reports the most-recent sale price plus the total
quantitySold.
How it works under the hood
eBay protects its surface with Akamai Bot Manager and JA3 / JA4 TLS fingerprinting. This actor uses curl_cffi with rotating browser impersonation profiles (chrome131, chrome124, safari17_0), warms each session with an eBay homepage GET to seed the Akamai bot-management cookies, and routes traffic through Apify's residential US proxy. Datacenter IPs do not work against eBay's SRP and detail endpoints.
Output format
Every record is pushed to the run's default dataset. Export as JSON, CSV, XLSX, or HTML. The dataset Overview view in the Apify Console shows the highest-value fields in a sortable table.
Use cases
- Reseller arbitrage — find products selling well above your buy-side cost.
- Sold-comp research — pricing for collectibles, sneakers, trading cards, vintage electronics.
- Repricing — feed sold-price medians into automated repricer pipelines.
- Market velocity — group listings by EPID to measure sell-through speed for a SKU.
- Listing optimization — pull top-selling competitor titles and item specifics for a product you're listing.
FAQ
Q. How is this different from eBay's Browse API? The Browse API only exposes currently active listings, requires OAuth, and is capped at 5,000 calls per day on the free tier. This actor covers sold + completed listings (the high-value dataset) without OAuth, with no daily cap.
Q. Does it work for non-US eBay marketplaces?
This release covers ebay.com. International marketplaces (ebay.co.uk, ebay.de, etc.) are on the roadmap.
Q. Is it safe / compliant? The actor only reads pages that any eBay user can view in a browser. No login, no cookies pasted by the customer, no scraping behind authenticated walls.
Support
Open an issue from the Apify Console actor page.
