eBay Products Scraper
Pricing
from $2.99 / 1,000 products
eBay Products Scraper
Extract product listings that eBay exposes on its public search pages. The Actor keeps public fields and explicit access diagnostics, and stops at login, CAPTCHA, paywall, geofence, rate, device-verification, WAF, or other access boundaries without bypassing them.
Pricing
from $2.99 / 1,000 products
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does eBay Products Scraper do?
This Actor extracts public eBay search-result listings from eBay using the configured keyword, sort order, and condition filter. It is an eBay API alternative for public search pages, not a login or access-control bypass: CAPTCHA, login, paywall, geofence, rate-limit, device-verification, WAF, and access-denied responses stop the crawl and produce an explicit diagnostic row.
Why use eBay Products Scraper?
Use the Actor for public price research, product discovery, reseller intelligence, catalog preparation, and lightweight market comparisons. It preserves the fields exposed by a result card, including item identity, title, public price text, currency, condition, seller information, shipping, bids, sold count, listing options, images, source URL, and extraction provenance.
The Actor is designed for predictable runs:
maxItemsis limited to 1-500.- Requests use a bounded HTTP response size and timeout, at most ten public result pages, and an anonymous cookie session established through eBay's public help page.
- Public session state exists only for the run; the Actor does not modify browser fingerprint signals, solve challenges, use private endpoints, or save raw HTML.
- An optional
proxyConfigurationinput is supported for public requests. A proxy does not change the fail-closed behavior at an access boundary.
On Apify, you can schedule runs, call the Actor through the API tab, connect results to integrations, and monitor logs and dataset output.
What data can eBay Products Scraper extract?
| Field | Type | Description |
|---|---|---|
itemId | string | Public numeric eBay item identifier. |
title, productTitle | string | Listing title and compatibility alias. |
url, canonicalUrl, trackingUrl | string | Canonical and observed public listing URLs. |
price, priceMin, priceMax | number | Numeric prices visible on the card, when present. |
priceText, currency | string | Displayed price and inferred currency code. |
itemCondition | string | Public condition label. |
seller, sellerRatingPercent, sellerRatingCount | string/number | Public seller information when exposed. |
shipping, isFreeShipping, returnsText | string/boolean | Public delivery and return signals. |
bids, isAuction, isBuyItNow, soldCount | number/boolean | Public listing activity and purchase signals. |
recordType, found, dataAvailable, diagnosticCode | string/boolean | Stable success or diagnostic classification. |
Optional product fields are omitted when eBay does not expose them. Every row includes a stable recordId, ok, found, dataAvailable, usedProxy, source URL, and timestamp. Diagnostic rows set the success flags to false.
How to scrape eBay product search results
- Open the Input tab and enter a public eBay search phrase in
query. - Set
maxItems,sortBy, andconditionif you need a smaller result set or a particular ordering. - Optionally configure a permitted proxy or a
userAgentrequest value. - Start the Actor and inspect the Dataset tab. Filter successful listings with
recordType: "ebay-product"and diagnostics withrecordType: "ebay-product-diagnostic". - For automation, use the API tab or schedule the Actor from the Apify Console.
How much will it cost to scrape eBay?
The cost depends on browser compute time and the number of public pages needed. Lower maxItems values generally finish sooner. A run uses at most ten result pages, one concurrent browser page, and bounded waits, so a blocked or empty public response does not trigger an unbounded crawl. Check the run's compute-unit usage in Apify for the current platform price.
Input
See the input tab for full configuration options.
| Field | Type | Default | Required | Description |
|---|---|---|---|---|
query | string | — | Yes | Public eBay search keyword or product name. |
maxItems | integer | 48 | No | Maximum records, from 1 to 500. |
sortBy | string | best_match | No | best_match, price_low, price_high, or newly_listed. |
condition | string | any | No | any, new, or used. |
userAgent | string | fixed standard value | No | Optional public request User-Agent header. |
proxyConfiguration | object | none | No | Optional permitted proxy configuration for a public request. |
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. A successful row looks like this:
{"recordType": "ebay-product","found": true,"dataAvailable": true,"itemId": "123456789012","productTitle": "Example wireless headphones with charging case","price": 49.99,"currency": "USD","url": "https://www.ebay.com/itm/123456789012"}
When public access is unavailable, the Actor emits a diagnostic instead of pretending that a product was found:
{"recordType": "ebay-product-diagnostic","found": false,"dataAvailable": false,"diagnosticCode": "CAPTCHA_OR_CHALLENGE","diagnosticMessage": "eBay presented a CAPTCHA or human-verification challenge."}
Tips and troubleshooting
Start with a modest maxItems value. If the dataset contains a diagnostic row, read diagnosticCode, errorMessage, httpStatus, and sourceUrl; do not interpret a diagnostic as a product result. A NO_PUBLIC_DATA row means the page was reachable but did not expose a sufficiently rich public listing card. A REQUEST_FAILED row indicates that the bounded request attempts or browser run failed.
Key-value store
The actor does not write custom key-value records. Product and diagnostic rows are stored in the dataset; the declared key-value store is intentionally empty.
FAQ, disclaimers, and support
The Actor does not log in, solve CAPTCHAs, defeat paywalls, access private data, use mirrors or private endpoints, or bypass robots and WAF controls. It only extracts information that the target makes publicly visible at run time.
Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
Use the Issues tab for feedback and the API tab for programmatic access. Follow eBay's terms, robots instructions, and applicable law when using the results.