eBay Sold Listings Scraper - Prices, Auctions, 13 Markets
Pricing
from $3.00 / 1,000 product scrapeds
eBay Sold Listings Scraper - Prices, Auctions, 13 Markets
Watchlist eBay scraper for active/sold listings across 13 markets. eBay may return 403 blocks; blocked runs fast-fail with diagnostics instead of silent empty exports. PPE and x402-ready.
Pricing
from $3.00 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Nick
Maintained by CommunityActor stats
0
Bookmarked
34
Total users
11
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape active and sold eBay listings across 13 country markets, including prices, shipping, seller data, auction bids, Buy It Now listings, sold dates, and market summaries. The actor uses pay-per-event pricing and is x402-ready for AI-agent micropayment flows.
Watchlist status - May 2026: eBay is currently returning HTTP 403 blocks from Apify-hosted runs on both search pages and direct item pages. The actor remains public for existing users and diagnostics, but it should not be treated as a guaranteed first-run data source until a fresh real-listing smoke test passes. Blocked runs fast-fail with a diagnostics record instead of burning repeated retries.
Best first run
{"searchQuery": "sony wh-1000xm5","ebayDomain": "ebay.com","maxProducts": 25}
Use this actor when you need live listings, completed-sale prices, reseller research, auction intelligence, price bands, or cross-market e-commerce monitoring and you can tolerate eBay's current anti-bot variability. Start with a tiny live-listings run and check the diagnostics dataset; set soldOnly: true only after live listing access is confirmed for your proxy path.
No cookies, no OAuth, no API keys (for the scraping) - runs on public data only. AI keys are optional and only needed when
enableAiAnalysis: true.
Scrape eBay product listings with prices, shipping, seller ratings, condition, and bid counts across all 13 eBay country domains when eBay serves accessible HTML for the selected proxy path. v1.9: sold-listings intelligence - set soldOnly=true to get a reseller-grade pricing summary with recommended list price, p10-p90 price band, market velocity, and confidence score. v2.0: cross-run trend tracking - run on a schedule and every summary gains sold_listings_trend with 7d/30d price deltas, velocity shifts, and volume moves stored in a persistent KV history. Auction + Buy It Now + optional AI market analysis.
What It Does
eBay Scraper extracts structured product data from all 13 eBay country domains - US, UK, Germany, France, Italy, Spain, Australia, Canada, Netherlands, Austria, Switzerland, Ireland, and Poland. Provide a keyword or a list of direct listing URLs and the actor returns 25+ fields per result: title, price, currency, shipping, condition, seller, feedback score, bid count, time left, listing type, sold count, and image URL.
Three operating modes:
1. Live-listings mode (default) - scrapes active auction and Buy It Now listings matching your keyword. Returns up to 100 results per run, sorted by best match, price, newly listed, or ending soonest. Supports price-range, condition, and listing-type filters. Charges $0.003 per listing.
2. Sold-listings intelligence mode (soldOnly=true) - switches to eBay's completed-sale filter (LH_Sold=1&LH_Complete=1, ~90-day window). Returns individual sold records with sold_date and is_sold=true, plus a sold_listings_summary item with recommended list price (p60 when n>=20, else median), p10-p90 price band, median days-to-sell, market velocity, and a 0-1 confidence score. Answers "what did buyers actually pay?" - the authoritative reseller pricing signal. Charges $0.005/listing + $0.05 for the summary.
3. Cross-run trend mode (v2.0, always active when soldOnly=true) - each run persists the summary into a named Apify KV store (ebay-sold-history) keyed by (searchQuery, domain). Subsequent runs compute price_delta_7d_pct, price_delta_30d_pct, volume_delta_pct, velocity_delta, and direction against stored history (up to 90 snapshots, ~3 months of daily runs). First run seeds the store for free; trend detection charges $0.03 from the second run onward.
AI analysis (enableAiAnalysis=true) - sends scraped listings to your chosen LLM (OpenRouter, Anthropic Claude, Google Gemini, OpenAI GPT, or self-hosted Ollama) for a market overview, price-bracket analysis, seller-landscape summary, and buying recommendations. Charges $0.05 per analysis.
Runs use Playwright headless Chromium with polite 1-2.5 second delays and cross-page deduplication. Current eBay HTTP 403 blocks fast-fail into diagnostics rather than spending multiple browser retries on a blocked response.
Supported eBay Domains:
| Domain | Country | Currency |
|---|---|---|
ebay.com | United States | USD |
ebay.co.uk | United Kingdom | GBP |
ebay.de | Germany | EUR |
ebay.fr | France | EUR |
ebay.it | Italy | EUR |
ebay.es | Spain | EUR |
ebay.com.au | Australia | AUD |
ebay.ca | Canada | CAD |
ebay.nl | Netherlands | EUR |
ebay.at | Austria | EUR |
ebay.ch | Switzerland | CHF |
ebay.ie | Ireland | EUR |
ebay.pl | Poland | PLN |
Features
- Cross-run sold-price trend tracking (v2.0) - persistent KV history with 7d/30d price deltas, velocity and volume shifts; schedule daily and build a market-watch service
- Sold-listings intelligence mode (v1.9) - recommended list price, p10-p90 band, market velocity (hot/steady/slow/cold), confidence score, median days-to-sell
- 13 eBay country domains - US, UK, DE, FR, IT, ES, AU, CA, NL, AT, CH, IE, PL with automatic currency resolution
- Auction + Buy It Now - both listing types in a single run, filter by either or scrape all
- 25+ fields per listing - title, price, currency, MSRP/list_price, shipping, condition, seller, feedback score, bids, time-left, sold count, sold date, sponsored flag, best-offer flag, images, location
- Detail-page enrichment (
fetchDetails=true) - seller information, full item specifics, and complete description from individual listing pages - Flexible filtering - price range, item condition (new/used/refurbished/open box), listing type, sort order
- 5 AI providers - OpenRouter (recommended, 300+ models), Anthropic Claude, Google Gemini, OpenAI GPT, Ollama (self-hosted)
- Pay-per-event pricing - no subscription fees, pay only for what you scrape, with x402-ready PPE events for agent payments
- Cross-page deduplication -
maxProductscounts unique listings, not raw slots
Use Cases
- Resellers & Arbitrage - pull completed-sale data with
soldOnly=true, get the recommended list price and p10-p90 band, and price your inventory with confidence. Compare across multiple eBay domains to spot international arbitrage opportunities. - Price Monitoring & Alerts - schedule daily runs to track price trends for specific SKUs. The v2.0
sold_listings_trendblock surfaces 7d/30d price deltas and velocity shifts automatically, turning one-shot scrapes into a live market-watch feed. - Market Research - analyze pricing distribution, seller landscape, and demand signals (bids, sold counts) for any product category. AI analysis adds structured price-bracket breakdowns and buying recommendations.
- Competitive Intelligence - monitor competitor pricing and seller strategies across multiple regions. Track how prices differ between ebay.com, ebay.co.uk, and ebay.de for the same product.
- Auction Intelligence - filter to auctions only, sort by ending soonest, and track bid counts and time-left for active listings. Identify underpriced auctions before they close.
- E-commerce Sourcing - find wholesale or bulk deals by filtering to Buy It Now + free shipping + new condition. Use AI analysis to identify the best-value sellers.
- Vintage & Collectibles Pricing - sold-listings intelligence mode is the gold standard for rare items: it tells you what the market actually paid, not just what sellers are asking, with a confidence score reflecting sample size and price dispersion.
- Academic & Policy Research - export structured datasets for price-index research, consumer behavior studies, or e-commerce market analysis.
Input
Search Parameters
searchQuery- Keyword to search for on eBay (e.g.,"laptop","vintage Rolex","pokemon cards"). Also accepts CLI aliasesquery,q,search,keyword, andsearchTermfor compatibility with existing workflows.productUrls- List of direct eBay listing URLs to scrape individually (e.g.,https://www.ebay.com/itm/123456789). Use instead ofsearchQuerywhen you already have specific listing IDs.ebayDomain- eBay country domain. Options:ebay.com(US, default),ebay.co.uk(UK),ebay.de(Germany),ebay.fr(France),ebay.it(Italy),ebay.es(Spain),ebay.com.au(Australia),ebay.ca(Canada),ebay.nl(Netherlands),ebay.at(Austria),ebay.ch(Switzerland),ebay.ie(Ireland),ebay.pl(Poland). Hidden API aliasesdomainand legacyebaySiteare also accepted.listingType- Filter by listing format:all(default),auction, orbuy_it_now.sortBy- Sort results:best_match(default),price_low,price_high,ending_soonest,newly_listed.itemCondition- Filter by condition:any(default),new,open_box,refurbished,used.minPrice/maxPrice- Price range filter in the domain's local currency.maxProducts- Maximum number of results per run (1-100, default 25).soldOnly=trueis capped at 50 for bill safety.fetchDetails- Visit each listing page for seller info, full description, and item specifics (slower, ~2-3x run time).
Sold-Listings Intelligence
soldOnly- Settrueto scrape completed sales and generate asold_listings_summary. Default:false.soldDateLookback- Window in days for velocity calculation (30-365, default 90). eBay retains ~90 days of sold data.
AI Analysis
enableAiAnalysis- Enable AI market analysis. Default:false. Requires an API key for the selected provider.llmProvider- AI backend:openrouter(default, cheapest),anthropic,google,openai, orollama.llmModel- Override the provider default model. Leave blank to use the recommended default.openrouterApiKey- OpenRouter API key (openrouter.ai/keys).anthropicApiKey- Anthropic API key (console.anthropic.com).googleApiKey- Google AI API key (aistudio.google.com/app/apikey).openaiApiKey- OpenAI API key (platform.openai.com/api-keys).ollamaBaseUrl- Ollama base URL (default:http://localhost:11434). No API key needed for self-hosted.
Proxy Settings
proxyConfiguration- Apify Proxy settings. eBay currently blocks many Apify-hosted runs, including some residential exits. If you bring a premium proxy, match its country to the selected eBay domain and validate with a tiny run before scaling.
Output
The default dataset contains only buyer-facing listing, sold-summary, and optional AI-analysis records. Operational records such as invalid_input, no_results, and anti-bot block_detected notes are written to a separate diagnostics dataset so CSV/JSON exports stay clean while support context remains available in the run storage tab.
Listing Item Fields
| Field | Description |
|---|---|
itemId | eBay item ID (the numeric string from the /itm/ URL path) |
title | Product listing title |
url | Direct link to the eBay listing |
price | Current numeric price value |
price_text | Price as displayed (e.g., "$29.99") |
currency | ISO 4217 currency code (e.g., USD, GBP, EUR) |
list_price | Strikethrough / MSRP numeric price if discounted, else null |
list_price_text | Strikethrough price as displayed (e.g., "$299.99") |
shipping_cost | Shipping cost as float (0.0 = free, null = unknown) |
shipping_text | Shipping info as displayed |
free_shipping | Bool - true when shipping_cost == 0 |
condition | Item condition (New, Used, Refurbished, Open Box, etc.) |
seller | Combined seller string, e.g. "logitech 99.6% positive (20.7K)" |
seller_username | Bare seller username |
seller_feedback_percentage | Seller feedback percentage as float |
seller_feedback_count | Feedback count as integer (parsed from "(20.7K)" -> 20700) |
bids | Number of bids (auction items only) |
end_time | Auction end date/time in ISO 8601 format (auction items only, else null) |
time_left | Time remaining for auctions as human-readable text (e.g., "2d 4h") |
sold_price | Final sale price for completed auction listings in soldOnly mode (else null) |
listing_type | auction, buy_it_now, or buy_it_now_or_best_offer |
best_offer | Bool - true when seller accepts offers |
is_sponsored | Bool - true for promoted/sponsored listings |
image_url | Product image URL |
sold_info | Raw sold/watching badge text (e.g., "184+ sold") |
sold_count | Integer parsed from sold_info ("2.1K+ sold" -> 2100) |
sold_date | ISO-8601 date when listing sold - populated only in soldOnly mode |
sold_date_text | Raw sold-date caption as displayed |
is_sold | Bool - true for completed-sale listings |
location | Seller location |
domain | eBay domain used for scraping |
search_query | Original search term |
scraped_at | ISO 8601 timestamp of extraction |
Sample Listing Item
{"itemId": "295854732101","title": "Pokemon TCG Scarlet & Violet Booster Box - 36 Packs - Sealed","url": "https://www.ebay.com/itm/295854732101","price": 129.99,"price_text": "$129.99","currency": "USD","list_price": 159.99,"list_price_text": "$159.99","shipping_cost": 0.0,"shipping_text": "Free shipping","free_shipping": true,"condition": "New","seller": "pokemon_central 99.8% positive (14.2K)","seller_username": "pokemon_central","seller_feedback_percentage": 99.8,"seller_feedback_count": 14200,"bids": null,"end_time": null,"time_left": null,"sold_price": null,"listing_type": "buy_it_now","best_offer": false,"is_sponsored": false,"image_url": "https://i.ebayimg.com/images/g/abc123/s-l1600.webp","sold_info": "184+ sold","sold_count": 184,"location": "Los Angeles, CA","domain": "ebay.com","search_query": "pokemon cards","scraped_at": "2026-04-18T10:15:00Z"}
Sold-Listings Summary Item
When soldOnly=true, each run also emits a single sold_listings_summary item:
{"type": "sold_listings_summary","search_query": "pokemon booster box","domain": "ebay.com","lookback_days": 90,"n_sold_listings": 100,"currency": "USD","recommended_list_price": 129.95,"median_price": 119.50,"mean_price": 128.30,"p10_p90_range": {"p10": 65.00, "p25": 89.99, "p75": 149.99, "p90": 199.00},"price_range": {"min": 24.99, "max": 349.00},"median_days_to_sell": 18,"p90_days_to_sell": 62,"market_velocity": "hot","confidence_score": 0.87,"date_coverage_ratio": 0.92,"sold_listings_trend": {"has_history": true,"price_delta_7d_pct": -2.1,"price_delta_30d_pct": 5.4,"volume_delta_pct": 12.0,"velocity_delta": "steady -> hot","velocity_rank_delta": 1,"direction": "up","sample_count_history": 14,"previous_recommended_list_price": 124.50},"generated_at": "2026-04-22T23:00:00Z","methodology": "Sold-listings aggregation over eBay LH_Sold=1&LH_Complete=1 completed-sale filter"}
Pricing
This actor is x402-ready because every chargeable unit is represented as a PPE event. It does not claim Skyfire-payable status because there is no $5+ Skyfire bundle event in this actor's pricing file.
| Event | Price | Description |
|---|---|---|
product-scraped | $0.003 | Per live listing (auction or BIN) in default mode |
sold-listing-scraped | $0.005 | Per completed-sale listing in soldOnly mode |
sold-summary-generated | $0.05 | Once per run when the sold_listings_summary is emitted |
sold-trend-detected | $0.03 | Once per run when sold_listings_trend is populated from history (free on first run) |
ai-analysis-completed | $0.05 | Per AI market analysis report |
Example costs: 50 live listings = $0.15. 50 sold listings + summary (first run) = $0.30. Same with trend (subsequent runs) = $0.33. Compare to Terapeak at $20/month or competitor sold-intelligence tools at ~$25/1,000 results - roughly 6x cheaper per aggregation, and you own the raw time-series.
vs. commercial alternatives: DataForSEO's eBay module charges $50+/mo and Terapeak is bundled with an eBay seller subscription at $7.99+/mo for sold-listing intelligence. This actor uses pay-per-event with no subscription: $0.003/listing and zero monthly fees.
Quick Start
Get your first eBay results in under a minute:
{"searchQuery": "mechanical keyboard","maxProducts": 20,"ebayDomain": "ebay.com"}
Paste this into the Apify Console and hit Run. The actor returns up to 20 listings for the US marketplace.
Sold-listings intelligence mode:
{"searchQuery": "pokemon booster box","ebayDomain": "ebay.com","soldOnly": true,"maxProducts": 100,"soldDateLookback": 90}
Returns up to 100 completed-sale records plus a sold_listings_summary with recommended list price, market velocity, and confidence score.
Filtered auction search:
{"searchQuery": "vintage Rolex watch","ebayDomain": "ebay.com","listingType": "auction","sortBy": "ending_soonest","minPrice": 500,"maxPrice": 5000,"maxProducts": 50}
Used electronics on eBay UK:
{"searchQuery": "MacBook Pro","ebayDomain": "ebay.co.uk","itemCondition": "used","sortBy": "price_low","maxProducts": 30}
With AI market analysis:
{"searchQuery": "Nintendo Switch OLED","maxProducts": 50,"enableAiAnalysis": true,"llmProvider": "openrouter","openrouterApiKey": "sk-or-..."}
Direct product URLs:
{"productUrls": ["https://www.ebay.com/itm/123456789","https://www.ebay.com/itm/987654321"]}
Proxy note: most eBay searches work without proxy on small volumes. If you see empty results or bot-detection blocks, switch
proxyConfigurationto a residential proxy - eBay's anti-bot layer is more aggressive on datacenter IPs and high-volume runs.
MCP Quickstart - call this actor from Claude / Cursor / ChatGPT
Open Apify's hosted MCP configurator at mcp.apify.com, or install the Apify MCP server in your AI agent of choice:
# Claude Codeclaude mcp add apify -- npx -y @apify/actors-mcp-server --token YOUR_APIFY_TOKEN# Claude Desktop / Cursor (add to mcp.json):{"mcpServers":{"apify":{"command":"npx","args":["-y","@apify/actors-mcp-server","--token","YOUR_APIFY_TOKEN"]}}}
Then prompt the agent:
"Use the harvestlab/ebay-scraper actor on Apify to find sold listings for vintage Polaroid cameras on ebay.co.uk in the last 30 days with median price. Push the results back as JSON."
Through Apify MCP, the agent will discover the actor's result and diagnostics dataset schemas, generate the right input, run it, and pipe the typed output back into your conversation.
Use with AI agents
ebay-scraper output is agent-ready: typed sold-listing dicts with auction vs. BIN, bid count, seller feedback, currency, and time-series price deltas across 13 marketplaces - wrap it as a single tool and your resale-arbitrage, price-discovery, or Terapeak-replacement agent gets cross-marketplace sold-price intelligence that commodity eBay scrapers don't expose. See Apify's actor-templates - specifically js-langchain and js-langgraph-agent - for end-to-end skeletons.
LangChain tool wrapper
from langchain_core.tools import Toolfrom apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")MARKET_DOMAINS = {"us": "ebay.com","uk": "ebay.co.uk","de": "ebay.de","fr": "ebay.fr","it": "ebay.it","es": "ebay.es","nl": "ebay.nl","au": "ebay.com.au","ca": "ebay.ca","at": "ebay.at","ch": "ebay.ch","ie": "ebay.ie","pl": "ebay.pl",}def _track_ebay_sold_listings(args: dict) -> list:keyword = args["keywords"][0] if isinstance(args.get("keywords"), list) else args["keywords"]marketplace = args.get("marketplace", "us").lower()run = client.actor("harvestlab/ebay-scraper").call(run_input={"searchQuery": keyword,"ebayDomain": MARKET_DOMAINS.get(marketplace, "ebay.com"),"soldOnly": args.get("soldOnly", True),"fetchDetails": True,})return list(client.dataset(run["defaultDatasetId"]).iterate_items())track_ebay_sold_listings = Tool(name="track_ebay_sold_listings",description="Scrape eBay sold listings + auction data across 13 marketplaces (US/UK/DE/FR/IT/ES/NL/AU/CA/AT/CH/IE/PL) - Terapeak alternative. Input: {keywords: [str] | str, marketplace: str, soldOnly: bool}.",func=_track_ebay_sold_listings,)# track_ebay_sold_listings.invoke({"keywords": ["vintage polaroid sx-70"], "marketplace": "us", "soldOnly": True})
LangGraph resale-arbitrage node
from langgraph.graph import StateGraph, ENDfrom typing import TypedDictfrom statistics import medianfrom apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")class ArbitrageState(TypedDict):keyword: strmarketplaces: list[str]spread_threshold_pct: floatmedians: dictarbitrage: booldef arbitrage_node(state: ArbitrageState) -> ArbitrageState:medians = {}for mkt in state["marketplaces"]:run = client.actor("harvestlab/ebay-scraper").call(run_input={"searchQuery": state["keyword"], "ebayDomain": MARKET_DOMAINS.get(mkt, "ebay.com"), "soldOnly": True,})prices = [i["price"] for i in client.dataset(run["defaultDatasetId"]).iterate_items() if i.get("price")]if prices:medians[mkt] = median(prices)spread = (max(medians.values()) - min(medians.values())) / min(medians.values()) * 100 if medians else 0return {**state, "medians": medians, "arbitrage": spread >= state["spread_threshold_pct"]}graph = StateGraph(ArbitrageState)graph.add_node("arbitrage", arbitrage_node)graph.set_entry_point("arbitrage")graph.add_edge("arbitrage", END)# graph.compile().invoke({"keyword": "vintage polaroid sx-70", "marketplaces": ["com", "co.uk", "de"], "spread_threshold_pct": 25.0, "medians": {}, "arbitrage": False})
Troubleshooting
Getting blocked or seeing empty results
eBay's bot-detection is currently blocking many Apify-hosted search and item-page requests with HTTP 403. The actor now stops quickly and writes a diagnostics record instead of spending repeated retries. Try a premium residential/mobile proxy path, match the proxy country to the eBay domain, and validate with maxProducts: 1-3 before scaling. If the diagnostics still show 403, parser changes will not help because eBay is not returning usable listing HTML.
Blocked or zero-result runs also emit one diagnostic_item: true sentinel row in the default dataset, so a successful run is never silently empty. The sentinel is not billed as a product.
Prices appear in the wrong currency
eBay localizes prices based on the requesting IP's country. If you see EUR prices when you expected USD (or vice versa), your proxy exit node is landing in the wrong country. Set proxyConfiguration.apifyProxyCountry to the two-letter country code that matches your target domain - for example US for ebay.com, GB for ebay.co.uk, DE for ebay.de. The scraper maps each of the 13 supported domains to its canonical country automatically when you use Apify Proxy without a country override.
Sold-listings results are empty or very sparse
First, confirm soldOnly: true is set in your input - without it, the scraper runs in live-listing mode. Second, check whether the product has recent sold history: narrow or niche listings may have fewer than 5 completed sales in eBay's ~90-day window. Try broadening the search query. Third, ensure you are using the correct domain - a search on ebay.de for an English-language query will return far fewer sold listings than the same search on ebay.com.
Seller information missing on auction listings
eBay does not render seller info in auction search result cards. Enable fetchDetails=true to fetch seller data from individual listing pages. This is slower (~2-3x run time) but provides complete seller information for all listing types.
AI analysis returns an error about a missing API key
OpenRouter API key: set OPENROUTER_API_KEY env var OR openrouterApiKey input. Get one at openrouter.ai/keys. Anthropic: set ANTHROPIC_API_KEY env var OR anthropicApiKey input. Google AI: set GOOGLE_API_KEY env var OR googleApiKey input. OpenAI: set OPENAI_API_KEY env var OR openaiApiKey input. Ollama: ensure Ollama is running and accessible at the configured ollamaBaseUrl.
Cross-run trend block shows has_history: false
This is normal on the first run for any (searchQuery, domain) pair. The first run seeds the history store; trend data (price_delta_7d_pct, velocity_delta, etc.) appears from the second run onward. The sold-trend-detected billing event ($0.03) fires only when history exists, so the first run is free on that dimension.
Maximum 100 products per run The actor caps results at 100 per search for PPE bill safety. For larger datasets, run the actor multiple times with different search queries or price-range filters to cover complementary market segments.
Scheduling and webhooks
Schedule daily price-watch runs in Apify Console to track eBay auction closing prices or BIN fluctuations for a target category. Wire a webhookUrl in n8n or Make to push deal alerts into a Slack channel or Telegram bot the moment a run finishes. Typical pipeline: "vintage Lego set 10179" daily eBay run -> n8n -> Slack alert when price drops below threshold.
Legal and Compliance
This actor scrapes publicly available data from eBay. Users are responsible for:
- Complying with eBay's Terms of Service
- Adhering to applicable data protection laws (GDPR, CCPA, and local equivalents)
- Using extracted data in accordance with all relevant regulations
- Ensuring their use case does not violate any local or international laws
eBay scraping policy: eBay's User Agreement restricts automated access to its platform. Users are solely responsible for ensuring their use case complies with eBay's Terms of Service and any applicable API policies. This actor is provided as a technical tool; compliance obligations rest with the user.
GDPR and seller personal data: eBay seller profiles (username, feedback percentage, feedback count, location) constitute personal data under GDPR for EU-resident sellers. If you process data of individuals in the EU, you must have a lawful basis for processing, honor data-subject access and deletion requests, and avoid retaining seller personal data beyond your stated purpose.
Rate-limiting and crawl delay strategy: the actor inserts 1-2.5 second polite delays between page requests and applies exponential backoff on HTTP 429 (rate-limited) and 403 (access denied) responses. Backoff starts at 2 seconds and caps at 60 seconds with jitter. This keeps crawl rates within eBay's tolerance for public search traffic.
Data retention guidance: scrape outputs may include seller usernames, feedback scores, and item locations. Establish a retention policy aligned with your use case - for price-monitoring workloads a 90-day rolling window is typically sufficient. Delete or anonymize data no longer needed for your stated purpose.
For questions or concerns, please open an issue on the GitHub repository.
Related Actors
- Amazon Scraper - pair eBay sold-comp data with Amazon catalog prices across 11 marketplaces for cross-platform arbitrage signals.
- Product Hunt Scraper - surface early product trends on Product Hunt before they hit eBay reseller demand cycles.
- Shopify Scraper - research the DTC store side of any product to understand brand pricing before reselling on eBay.