eBay Product Listing Scraper
Pricing
from $3.99 / 1,000 results
eBay Product Listing Scraper
Extract structured product listings from public eBay search, category, and item pages.
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
a day ago
Last modified
Categories
Share
eBay public product listing scraper
This Actor turns public eBay search, category, and item pages into clean product listing records for price monitoring, product research, assortment discovery, resale research, and marketplace analysis. It reads only pages that eBay makes publicly available.
Access boundary
Requests use direct HTTPS only. The Actor does not use a browser, proxy, login, private API, CAPTCHA solving, stealth transport, or access-control bypass. Challenges, blocked responses, redirects outside eBay, and empty pages become minimal diagnostics rather than fabricated listing rows.
Input
startUrls accepts public eBay search, category, or item URLs. query builds a US eBay search URL when no URLs are supplied. maxItems bounds unique records. requestDelayMs and includeDiagnostics control respectful request pacing and diagnostic emission. fixtureFile is intended only for local deterministic validation and must remain inside this Actor.
Dataset output
Normal rows contain listing and public-source fields: item ID, title, product URL, image URL, price, currency, condition, buying format, shipping, returns, seller feedback, ratings, counts, location, badges, description, sourceUrl, sourceDomain, and scrapedAt. Record-type markers, status codes, retry counters, actor identity, and debug fields are never emitted.
When enabled, a diagnostic row has exactly recordType: "diagnostic", diagnosticType, url, error, errorCode, and scrapedAt. Operational counters and final status are stored in OUTPUT_SUMMARY.
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Local development
Run the focused regression suite with node --test test/contract.regression.test.js. Run syntax checks with npm run check. Validate Actor schemas with apify validate-schema, and validate emitted local dataset files with node validate-datasets.js.
Example fixture run:
apify run --purge --input {"startUrls":[{"url":"https://www.ebay.com/sch/i.html?_nkw=headphones"}],"maxItems":1,"fixtureFile":"test/fixtures/synthetic-ebay.html"}
Responsible use
Collect only public information you are permitted to use. Follow eBay terms, applicable marketplace rules, copyright and privacy requirements, and reasonable request-rate limits. For high-volume or contractual integrations, use eBay's official APIs and credentials instead of relying on HTML.