eBay Store Scraper
Pricing
from $3.99 / 1,000 results
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Coding Frontned
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
What does eBay Store Scraper do?
eBay Store Scraper reads public eBay Store, seller-listing, item, and search pages over ordinary direct HTTPS. It normalizes listing identity, pricing, condition, shipping, seller/store context, public ratings, and eBay-hosted media. It does not sign in, solve CAPTCHAs, bypass access controls, or collect private account data.
Why use eBay Store Scraper?
Use it for marketplace catalog monitoring, resale research, price comparisons, store inventory snapshots, and downstream product discovery. It accepts multiple source URLs, follows same-route next-page links within a bounded per-source page budget, deduplicates by listing ID/URL, applies text/price/condition filters, and can sort the bounded collected set. The Actor also writes an OUTPUT_SUMMARY key-value record for run-level counts; it does not mix operational counters into normal listing rows.
What data can eBay Store Scraper extract?
| Group | Fields |
|---|---|
| Identity | productId, productTitle, productUrl, storeName, storeUrl, sellerUsername, sellerUrl |
| Commercial | price, priceFormatted, currency, originalPrice, shippingCost, shippingText, condition, availability, buyingFormat, itemLocation, soldCount |
| Media and quality | imageUrl, additionalImageUrls, rating, reviewCount, description, category |
| Provenance | searchUrl, pageUrl, legacy sourceUrl, pageNumber/pageNum, position, scrapedAt |
| Diagnostics | When enabled, typed { "recordType", "diagnosticType", "url", "error", "errorCode", "scrapedAt" } rows for blocks, failures, empty pages, or invalid fixtures |
How to scrape eBay Stores
- Open the Actor and paste one or more public eBay Store or search URLs into the eBay source URLs field.
- Set
maxItemsfor the global normal-record limit andmaxPagesfor the per-source page limit. - Optionally choose
keyword,minPrice,maxPrice,condition, andsortBy. - Enable or disable media and diagnostics as needed, then start the run.
- Download the dataset from the Output tab and inspect
OUTPUT_SUMMARYfor coverage and access status.
Custom source URLs control where pages are collected. maxItems is global across all sources; maxPages is applied independently to each source. When sortBy is not source, all allowed pages are collected before sorting, so the run can cost more than a source-order run. Duplicate source URLs are removed before crawling.
How much will it cost to scrape eBay?
Cost depends on the number of source pages, response size, retries, and the number of normal rows. This implementation uses one sequential HTTP request at a time. Increasing maxPages, enabling retries, or fetching several sources increases compute and target traffic. It has no browser rendering or paid proxy requirement. Use a small maxItems/maxPages first and respect eBay rate limits and terms.
Input
See the input tab for the complete configuration. Supported fields include startUrls (array of { "url": "..." }, with legacy string entries accepted), maxItems (default 50, 1–500), maxProducts (legacy alias), maxPages (default 1, 1–20), startPage, keyword, minPrice, maxPrice, condition, sortBy (source, price_asc, price_desc, title), deduplicate (default true), includeMedia (default true), includeDiagnostics (default true), timeoutMs (default 20000, 3000–120000), requestTimeoutMs, requestTimeoutSecs, requestDelayMs (default 0, max 10000), maxRequestRetries (default 0, max 2), maxConcurrency (currently 1), userAgent, and the local-QA aliases fixturePath/fixtureFile.
All URLs must use an exact eBay marketplace hostname and HTTPS. Fixture paths must remain under the Actor directory. proxyConfiguration is intentionally not accepted because this Actor uses the native fetch transport and does not claim proxy routing.
Quick run
{"startUrls":[{"url":"https://www.ebay.com/str/example-tools"}],"maxItems":10,"maxPages":1}
Filters and sorting
{"startUrls":[{"url":"https://www.ebay.com/str/example-tools"}],"keyword":"drill","minPrice":20,"maxPrice":150,"condition":"New","sortBy":"price_asc","maxItems":10}
Multiple sources and pagination
{"startUrls":[{"url":"https://www.ebay.com/str/example-tools"},{"url":"https://www.ebay.com/str/example-parts"}],"maxPages":2,"maxItems":25,"deduplicate":true}
Developer options
{"startUrls":[{"url":"https://www.ebay.com/str/example-tools"}],"maxItems":5,"requestDelayMs":250,"maxRequestRetries":1,"timeoutMs":30000,"maxConcurrency":1}
Fixture-backed local QA
{"fixturePath":"test/fixtures/store-page.html","startUrls":[{"url":"https://www.ebay.com/str/example-tools"}],"maxItems":2,"includeDiagnostics":true}
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Normal listing example (shortened media):
{"productId":"123456789012","productTitle":"Example cordless drill kit","productUrl":"https://www.ebay.com/itm/123456789012","price":89.99,"priceFormatted":"$89.99","currency":"USD","condition":"New","shippingText":"Free shipping","imageUrl":"https://i.ebayimg.com/images/g/example.jpg","additionalImageUrls":["https://i.ebayimg.com/images/g/example-side.jpg"],"pageNumber":1,"searchUrl":"https://www.ebay.com/str/example-tools","sourceUrl":"https://www.ebay.com/str/example-tools","sourceDomain":"www.ebay.com","scrapedAt":"2026-01-01T00:00:00.000Z"}
Diagnostic example:
{"recordType":"diagnostic","diagnosticType":"access_blocked","url":"https://www.ebay.com/str/example-tools","error":"eBay returned a CAPTCHA or security challenge.","errorCode":"ACCESS_BLOCKED","scrapedAt":"2026-01-01T00:00:00.000Z"}
The OUTPUT_SUMMARY key-value record contains status, sources, pages, requests, retries, filtered and duplicate counts, normal/diagnostic counts, block counts, fixture mode, and completion time. A diagnostic row is not a successful listing and does not count toward maxItems. Missing source values are omitted rather than fabricated. Only eBay-hosted image hosts are retained.
Tips and advanced options
Start with one public URL and maxPages: 1. For price or title sorting, the Actor must collect the bounded page set first. A detail/item URL can yield one source-backed listing; a Store/search URL may yield many. If a page is blocked, lower request volume and use the target's normal public route; do not try to bypass the challenge. Native fetch is used, so no proxy is silently implied.
FAQ, support, and responsible use
HTTP errors, challenges, malformed fixtures, and empty pages produce bounded diagnostics when includeDiagnostics is enabled. If the run returns no normal rows, inspect OUTPUT_SUMMARY and the run log rather than treating diagnostics as data. Report reproducible issues in the Actor Issues tab with the run ID and summary.
Our Actors are ethical and do not extract private user data such as email addresses, gender, or location. They only extract what users have chosen to share publicly. Results could still contain personal data protected by GDPR and other laws; use a legitimate purpose and obtain legal advice when unsure. Follow eBay's terms, robots guidance, rate limits, and applicable law. This Actor is not affiliated with eBay.
Local validation
From the Actor directory:
npm installnpm testnpm run lintnpm run validatenpm run checkapify validate-schemaapify run --purge --input-file test/inputs/default.json