eBay Sold Items Scraper [Only $2.5/1K💰] | Price Tracker
Pricing
from $2.30 / 1,000 results
eBay Sold Items Scraper [Only $2.5/1K💰] | Price Tracker
Extract eBay sold items data — final sold prices, shipping and total costs per completed listing — for price tracking and resale research. Search by keyword on ebay.com, or paste URLs from any eBay marketplace. Deep scan adds category path and item specifics. Only $0.0025 per result.
Pricing
from $2.30 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
37
Total users
4
Monthly active users
3 days ago
Last modified
Categories
Share
eBay Pro Scraper — Browse API + Web Fallback
Extract eBay item data — prices, conditions, sellers, listing URLs — from the official eBay Browse API (pure HTTP, reliable, never blocked) with an optional HTML/web fallback for sold/completed listings.
⚠️ 2026 reality: eBay now requires a signed-in session for the sold/completed search view (
LH_Sold=1) — anonymous clients (plain HTTP or a real headless Chrome through a proxy IP) are redirected to the sign-in wall or an Akamai "orch" verify-yourself captcha (splashui/captcha). There is no setting that disables this. This is exactly why the actor is session-first:
- Fast primary path (recommended): provide a logged-in eBay session cookie (env
EBAY_SESSION_COOKIE, or auto-login, or KV cache) → fullLH_Sold=1list is fetched with all 240 sold cards (price, shipping, sold date) in ~20-25s. Verified end-to-end.- Auto-login (
ebayUsername/ebayPassword): mints a fresh session, verifies it against the sold SRP, caches it in the key-value store (3h) and reuses it next runs. Works reliably only when the sign-in origin IP is not risk-flagged (no captcha). From flagged residential/datacenter IPs eBay answers with the "orch" verify-yourself captcha before the form, and the login cannot complete — in that case use a cookie minted from your own browser or a trusted IP.- Sessionless fallback: if no session is available, the actor skips the dead anonymous-SOLD probe and recovers sold prices via public seller feedback profiles (
FEEDBACK_COMP: real per-transaction prices + item IDs) and ended-item PDPs ("This listing sold on …").The Browse API path uses the official API for active listings (pure HTTP, never blocked).
Data Source (source input)
source | Behavior |
|---|---|
auto (default) | Uses Browse API if ebayClientId + ebayClientSecret are present, otherwise falls back to web |
browse_api | Official eBay API only. Requires free keys (see below). Recommended. |
web | HTML scraping incl. the sold-data fallback: active SRP → seller feedback profiles (real transaction prices) + ended-PDP enrichment. Runs automatically on 0 items. |
Getting free Browse API keys (2 minutes)
- Go to developer.ebay.com → sign in with any eBay account.
- Create an application (choose "Production" keys when done).
- Copy the Client ID and Client Secret into the actor input fields (
ebayClientId,ebayClientSecret) or the env varsEBAY_CLIENT_ID/EBAY_CLIENT_SECRET. - Done — no billing. The Browse API has generous free call quotas for research volume.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
keyword | string | — | Search keyword (e.g. rtx 4080) |
startUrls | array | — | eBay URLs; _nkw= is used as the query in Browse API mode |
count | integer | 20 | Max items to return |
source | string | auto | auto / browse_api / web |
ebayClientId | string | — | Browse API app key (secret input) |
ebayClientSecret | string | — | Browse API app secret (secret input) |
detailedSearch | boolean | false | Reserved for web mode details |
testItemIds | array | — | Ended/active item IDs to probe on their PDP pages (sold price + end date) |
recon | boolean | false | Run slow eBay JS-recon diagnostics (outputs WEB_RECON) |
scoutBypass | boolean | false | Probe mobile + seller-scoped (_ssn=) sold-search bypasses; pushes real sold items as WEB_SOLD when a variant works |
ebayUsername | string | — | eBay login username (secret). With ebayPassword, the actor logs in automatically (via real Chromium first, curl fallback), verifies a sold-unlocked session cookie and caches it in the key-value store (3h). Caveat: auto-login can only complete when the run's exit IP is NOT risk-flagged — otherwise eBay answers with an "orch" verify-yourself captcha and no session is minted. Most reliable option: set the env var EBAY_SESSION_COOKIE to a cookie harvested from your own logged-in browser (Actor → Settings → Environment variables); it is used automatically and persisted to the KV cache. |
ebayPassword | string | — | eBay login password (secret); used with ebayUsername |
With a valid session (auto-login, KV-cached, or env cookie) the actor pushes real sold/completed listings as WEB_SOLD (soldPrice, soldDateText, shipping, total) from the LH_Sold=1 search page — a fast primary comp source (~20-25s). Without one it degrades to seller-feedback comps (FEEDBACK_COMP).
Example Input
{"keyword": "rtx 3080","count": 50,"source": "browse_api","ebayClientId": "YourClientId","ebayClientSecret": "YourSecret"}
Output Fields
| Field | Type | Description |
|---|---|---|
itemId | string | Legacy item ID (Browse API) or URL-derived ID (web) |
url | string | Item view URL |
title | string | Listing title |
soldPrice | string | Price (Browse API: current price; web: sold price) |
soldCurrency | string | Currency code (USD, GBP, EUR…) |
shippingPrice | string | Shipping cost (web mode only) |
totalPrice | string | Price + shipping (web mode only) |
condition | string | Item condition |
sellerName | string | Seller username (Browse API) |
itemEndDate | string | Listing end date (Browse API) |
itemCreationDate | string | Listing creation date (Browse API) |
scrapedAt | string | Extraction timestamp |
FAQ
Does this return sold/completed items?
The Browse API path returns current/active listings (the official API has no sold-search since the Finding API was retired in Feb 2025). The web fallback (source: web, or auto with no keys) recovers sold prices with the seller-feedback technique: anonymous active search yields sellers, their public feedback profiles expose real per-transaction prices + item IDs, and ended-item PDPs confirm the sold price/end date. It runs automatically when the normal scrape returns nothing. Rows are tagged type: "FEEDBACK_COMP" (per-transaction sold comps) plus a PDP_FALLBACK_REPORT diagnostic row.
Why did you add a browser-free TLS impersonation tool (curl-impersonate)?
It is the community-standard way to make plain HTTP look like a real Chrome browser. Combined with residential proxies + warmup it succeeds on active SRP and feedback pages (the paths that matter for the sold-data fallback); sold/completed search still returns the sign-in wall.
Legal & Compliance Disclaimer
This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by eBay. It accesses publicly available listing data via eBay's official API and/or public web pages. You are responsible for compliance with eBay's Terms of Service and applicable law.
SEO Keywords
ebay scraper, ebay browse api, ebay price tracker, ebay market data, ebay completed listings, ebay api, product pricing data, resale research, price analysis, price monitoring, ebay data extraction