eBay Seller Scraper avatar

eBay Seller Scraper

Pricing

from $1.22 / 1,000 dataset items

Go to Apify Store
eBay Seller Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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?

FieldDescription
sellerUsernameeBay seller inferred from the URL or input username
listingTitleListing title shown on the seller inventory page
itemUrlCanonical eBay item URL
itemIdNumeric eBay item ID when available
pricePrice text displayed by eBay
priceValueParsed first numeric price value
currencyParsed currency code when obvious
shippingShipping snippet when shown
conditionNew, used, open box, refurbished, or similar condition
imageUrlListing thumbnail URL
sellerFeedbackPercentPositive feedback percentage snippet
rankPosition 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

  1. Open the actor on Apify.
  2. Add one or more eBay seller usernames.
  3. Optionally add direct seller listing URLs.
  4. Set maxItems to control spend.
  5. Keep Residential proxy enabled unless you know your target pages work with another proxy group.
  6. Start the run.
  7. 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 requestDelayMs if 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 ApifyClient
client = 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().items
print(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."

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.

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.