Ebay Product Scraper
Pricing
from $0.70 / 1,000 results
Ebay Product Scraper
Pricing
from $0.70 / 1,000 results
Rating
0.0
(0)
Developer
MrDoe
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What does eBay Product Scraper do?
eBay Product Scraper extracts structured data from eBay search results and item detail pages - title, price, condition, seller, shipping, item specifics, images and more - with no eBay account or API key required. Point it at a keyword or a list of item numbers and get clean JSON back.
Run it on the Apify platform to get scheduled runs, a REST API, webhooks, proxy rotation, and integrations with Google Sheets, Make, Zapier, Slack and more.
Two operations
| Operation | What it does | Key input |
|---|---|---|
| Product Search | Walks an eBay search-results listing page by page and returns one row per organic result | query / queries |
| Item Details | Fetches full detail for specific listings | itemId / itemIds |
Why use eBay Product Scraper?
- Price and competitor monitoring - track how an item or a whole category is priced across sellers over time.
- Market research - measure demand, typical condition mix, and sold counts for a product line.
- Reselling and sourcing - spot underpriced listings and auctions ending soon.
- Catalog enrichment - pull item specifics, images and descriptions for your own storefront.
What makes this different?
- One Actor, two jobs - listing scraping and detail scraping share a single interface and output schema.
- Handles both eBay layouts - eBay is mid-migration between two result-grid designs; this Actor reads either.
- Honest empty-run handling - if eBay challenges every request, the run fails loudly instead of returning an empty dataset that looks like "no results".
- No login, no keys - nothing to register, no OAuth.
Data it extracts
| Field | Description |
|---|---|
itemId | eBay item number |
title | Listing title |
price, priceMax | Price; priceMax is set only for multi-variation price ranges |
listPrice | Original / strikethrough price when discounted |
currency | ISO currency code parsed from the price |
condition | New, Brand New, Open Box, Used, etc. |
availability, soldCount, outOfStock | Stock and sales signals (details) |
shipping | Shipping cost text (search) |
seller, sellerName, sellerFeedbackPercent | Seller identity and positive-feedback percentage |
rating, reviewCount | Aggregated product rating where eBay shows one |
bids, isAuction | Auction status and current bid count |
itemSpecifics | Key/value map from the "About this item" panel (details) |
description, breadcrumbs, images | Long description, category path, image gallery (details) |
itemUrl | Canonical listing URL |
How to use eBay Product Scraper
- Open the Actor and pick an Operation: Product Search or Item Details.
- For search, type a Search query (or several under Search queries - batch). For details, paste one or more Item numbers or URLs.
- Optionally set Sort by, Condition, Buy It Now only, a price range, and Max items.
- Leave Proxy configuration on the residential default.
- Click Start. Download the dataset as JSON, CSV, Excel or HTML, or pull it from the API.
Input
| Field | Type | Description |
|---|---|---|
operation | string | search or productDetails (required) |
query / queries | string / array | Keyword(s) for the search operation |
itemId / itemIds | string / array | Item number(s) or URL(s) for the details operation |
sortBy | string | best-match, price-asc, price-desc, newly-listed, ending-soonest |
condition | string | new, open-box, refurbished, used, for-parts |
buyItNow | boolean | Exclude auction-only listings |
minPrice / maxPrice | integer | USD price range for search |
maxItems | integer | Cap on total rows (search only). Default 20. First 10 rows free. |
proxyConfiguration | object | Proxy settings; residential recommended |
Output
Each dataset row is one listing. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
{"_operation": "productDetails","itemId": "146721557193","title": "Corsair K70 RGB MK.2 Mechanical Gaming Keyboard - Cherry MX Red","price": 109.99,"priceMax": null,"listPrice": 159.99,"currency": "USD","condition": "New","availability": "More than 10 available","soldCount": 342,"outOfStock": false,"seller": null,"sellerName": "corsair_official","sellerFeedbackPercent": 99.5,"rating": 4.8,"reviewCount": 211,"bids": null,"isAuction": false,"itemSpecifics": { "Brand": "Corsair", "Switch Type": "Cherry MX Red", "Connectivity": "USB" },"breadcrumbs": ["Computers/Tablets & Networking", "Keyboards, Mice & Pointers", "Keyboards & Keypads"],"image": "https://i.ebayimg.com/images/g/xyz/s-l1600.jpg","images": ["https://i.ebayimg.com/images/g/xyz/s-l1600.jpg"],"itemUrl": "https://www.ebay.com/itm/146721557193","status": "success"}
How much does it cost to scrape eBay?
The Actor is billed per result (pay-per-event): one event when a run starts, and one per row pushed. The first 10 rows of every run are free, so small test runs cost nothing. A typical 200-row search run uses a few cents of compute plus the per-result fee. Detail runs cost one event per item.
Tips
- Set
maxItemsto keep search runs bounded - eBay listings for a broad keyword can run to thousands of pages. - Use
sortBy: "ending-soonest"pluscondition: "used"for sourcing/reselling workflows. - Batch
itemIds(up to a few hundred per run) rather than one run per item. - If a run fails with "eBay served a challenge", re-run - residential proxy sessions rotate and usually clear it.
Known limitations
- US marketplace only. The Actor targets
ebay.com; other eBay sites (.co.uk,.de, …) are not yet supported. The proxy is pinned to US exits by default so prices come back in USD; if you override the proxy country, thecurrencyfield records whatever eBay served. - eBay serves its item pages in several rotating layouts. Core fields (title, price, currency, condition, availability, seller, images) come from each listing's embedded structured data and are reliable across all of them, but the full item-specifics table is only present in some layouts - expect
itemSpecificsto sometimes contain justBrand. - On search results,
conditionis read from the card and can benullfor listings whose card doesn't spell it out (common for one-off vintage/collectible items). - eBay does not show an aggregate rating for most listings, so
rating/reviewCountare usuallynull. - Sponsored placements are not separately flagged in the current eBay markup and may appear as organic rows.
- Ended or removed listings return a single row with
status: "error"rather than partial data.
FAQ
Do I need an eBay account or API key? No.
Is scraping eBay legal? Scraping publicly available data is generally legal, but you are responsible for how you use the data and for complying with eBay's Terms of Service and applicable law. This Actor collects only public listing data, no personal data beyond public seller usernames.
Can it scrape sold/completed listings? Not yet - it scrapes active listings. Open an issue on the Actor's Issues tab if you need this.
Something looks wrong. File it on the Issues tab with the input you used - fixes usually ship quickly.