eBay Seller Scraper
Pricing
from $1.22 / 1,000 dataset items
eBay Seller Scraper
Extract public eBay seller listings, prices, item URLs, images, conditions, and feedback snippets for marketplace competitor research.
Pricing
from $1.22 / 1,000 dataset items
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract public eBay seller inventory into clean rows for competitor monitoring, price tracking, product research, and marketplace analytics.
What does eBay Seller Scraper do?
The actor opens public eBay seller listing pages and saves active listing cards.
It accepts seller usernames such as best_buy or direct eBay seller URLs.
Each output row represents one listing.
Rows include title, item URL, item ID, price, condition, image, seller feedback snippets, rank, and source URL.
The actor is designed for public marketplace intelligence, not private account scraping.
Who is it for?
- Ecommerce sellers benchmarking competitors.
- Agencies monitoring client categories.
- Marketplace analysts building price snapshots.
- Dropshipping teams checking seller inventory movement.
- Brands watching unauthorized or competing sellers.
- Data teams exporting public eBay seller listings to BI tools.
Why use it?
Manual seller-page checks are slow and hard to repeat. This actor turns seller inventory pages into structured JSON, CSV, Excel, or API output. You can run the same seller list repeatedly and compare prices, products, and listing counts over time.
What data can you extract?
| Field | Description |
|---|---|
| sellerUsername | eBay seller inferred from the URL or input username |
| listingTitle | Listing title shown on the seller inventory page |
| itemUrl | Canonical eBay item URL |
| itemId | Numeric eBay item ID when available |
| price | Price text displayed by eBay |
| priceValue | Parsed first numeric price value |
| currency | Parsed currency code when obvious |
| shipping | Shipping snippet when shown |
| condition | New, used, open box, refurbished, or similar condition |
| imageUrl | Listing thumbnail URL |
| sellerFeedbackPercent | Positive feedback percentage snippet |
| rank | Position in the scraped result set |
How much does it cost to scrape eBay seller listings?
The actor uses pay-per-event pricing.
A small run has a start event and a per-listing event.
For cheap tests, keep maxItems low.
For monitoring, run batches of sellers on a schedule and export only the fields you need.
Final tiered pricing is calculated from cloud validation costs before QA handoff.
How to use
- Open the actor on Apify.
- Add one or more eBay seller usernames.
- Optionally add direct seller listing URLs.
- Set
maxItemsto control spend. - Keep Residential proxy enabled unless you know your target pages work with another proxy group.
- Start the run.
- Download results as JSON, CSV, Excel, XML, or RSS.
Input options
sellerUsernames
Use seller usernames without the eBay domain.
Example: best_buy.
The actor opens https://www.ebay.com/sch/best_buy/m.html.
startUrls
Use this when you already have seller listing URLs.
Supported examples include /sch/{seller}/m.html, /usr/{seller}, /str/{store}, and search URLs with _ssn.
maxItems
Controls the total number of listing rows saved across all sellers. Use a low number for the first run.
maxItemsPerSeller
Controls per-seller depth before the actor moves to the next seller.
proxyGroups
The default is RESIDENTIAL because eBay frequently blocks datacenter sessions.
requestDelayMs
Extra wait time after page load. eBay can show a browser-check page before rendering seller inventory.
Example input
{"sellerUsernames": ["best_buy"],"maxItems": 25,"maxItemsPerSeller": 25,"countryCode": "US","proxyGroups": ["RESIDENTIAL"],"requestDelayMs": 2500,"includeSponsored": true}
Example output
{"sellerUsername": "best_buy","listingTitle": "Acer - Aspire Go 15 15.6\" FHD Laptop...","itemUrl": "https://www.ebay.com/itm/198044095345","itemId": "198044095345","price": "$699.99","priceValue": 699.99,"currency": "USD","condition": "Brand New","sellerFeedbackPercent": "98.8%","rank": 1}
Tips for reliable scraping
- Start with one seller and 10-25 listings.
- Prefer seller listing pages over generic search pages.
- Keep concurrency low; this actor intentionally uses sequential browsing.
- Use US proxy country for ebay.com pages.
- If a seller has no public active listings, the actor may save no rows for that seller.
- Increase
requestDelayMsif eBay browser checks are slow.
Integrations
Use the dataset API to feed dashboards, Google Sheets, BigQuery, or internal price-monitoring pipelines. Schedule the actor daily or weekly to track seller inventory changes. Trigger alerts when competitor prices drop below your floor price. Join item IDs with your product catalog to identify overlaps.
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/ebay-seller-scraper').call({sellerUsernames: ['best_buy'],maxItems: 25});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/ebay-seller-scraper').call(run_input={'sellerUsernames': ['best_buy'],'maxItems': 25,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
API usage with cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~ebay-seller-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"sellerUsernames":["best_buy"],"maxItems":25}'
MCP usage
Use the Apify MCP server with ?tools=automation-lab/ebay-seller-scraper.
Claude Code or Claude Desktop can run seller monitoring workflows from natural-language prompts.
Example prompts:
- "Scrape 25 public listings from eBay seller best_buy and summarize the price range."
- "Monitor these eBay sellers weekly and flag products below $100."
- "Export seller inventory rows for my competitor research spreadsheet."
Legal and ethical notes
This actor extracts public eBay listing data. Do not use it for private account data, messages, orders, buyer information, or contact harvesting. Respect eBay terms, robots guidance, and applicable laws. Use reasonable limits and only collect data you have a lawful basis to process.
Troubleshooting
Why did my run return no items?
The seller may have no active public listings, the URL may not point to seller inventory, or eBay may have challenged the session.
Try a known seller listing URL and increase requestDelayMs.
Why is Residential proxy the default?
Workspace HTTP and datacenter sessions can receive eBay error pages. Residential proxy sessions are more reliable for public seller listing pages.
Why are sponsored rows included?
Some eBay seller pages label cards inconsistently.
The actor keeps sponsored/promoted cards by default so users do not miss visible inventory rows.
Turn off includeSponsored if you only want unsponsored cards.
Related scrapers
- https://apify.com/automation-lab/amazon-product-scraper
- https://apify.com/automation-lab/walmart-product-scraper
- https://apify.com/automation-lab/shopify-product-scraper
- https://apify.com/automation-lab/google-shopping-scraper
Changelog
Initial version extracts public seller listing cards from eBay seller inventory pages.
Data quality notes
Price parsing keeps both raw price text and numeric first price value.
Range prices may expose only the first numeric value in priceValue.
Use the raw price field for exact display text.
Monitoring workflow
Run the actor with the same seller list on a schedule. Export item IDs and prices to your database. Compare each run with the previous run. Flag new listings, removed listings, and price changes.
Inventory research workflow
Collect all active listings for one seller. Group rows by condition and price bands. Use item URLs for manual review or enrichment. Combine images and titles for catalog matching.
Agency workflow
Create one task per client category. Use seller usernames supplied by your analyst. Send CSV exports to account managers. Archive historical datasets for monthly reports.
Limitations
The actor depends on public eBay page rendering. Page layout and anti-bot behavior can change. Direct seller profiles may redirect; seller listing pages are preferred. Feedback fields are snippets from public seller page chrome, not full feedback-history reviews.
Support
If a run fails, include the run ID, seller username, input JSON, and whether the seller page opens in your browser. This helps reproduce anti-bot or page-layout issues quickly.