eBay Scraper avatar

eBay Scraper

Pricing

Pay per event

Go to Apify Store
eBay Scraper

eBay Scraper

Extract eBay product data from search results — prices, bids, shipping, condition, seller ratings, and images. Filter by condition, listing type, and price range. Fast HTTP scraper, no browser needed. Export to JSON, CSV, Excel.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

37

Total users

13

Monthly active users

3 days ago

Last modified

Share

What does eBay Scraper do?

eBay Scraper extracts product data from eBay search results. Search by keyword and get structured data for every listing — prices, shipping costs, seller ratings, item condition, bid counts, time left, and images. Supports filtering by condition, listing type, and price range.

Use it for price monitoring, competitive intelligence, dropshipping research, market analysis, and arbitrage between eBay, Amazon, and other marketplaces.

Who is eBay Scraper for?

  • Dropshippers and resellers who need to compare eBay prices against Amazon, Walmart, or AliExpress to find profitable products and price gaps.
  • E-commerce sellers who want to monitor competitor listings, track pricing trends, and adjust their own pricing strategy in real time.
  • Market researchers analyzing product demand, pricing distributions, and category trends across the world's largest auction marketplace.
  • Deal hunters and flippers tracking auctions ending soon with low bid counts to snipe undervalued items.
  • Data analysts and developers building dashboards, price trackers, or automated sourcing tools on top of structured eBay data.
  • Agencies and consultants who need bulk eBay data for client reports, competitive audits, or market entry analysis.

Why use eBay Scraper?

  • Fast and lightweight — Pure HTTP extraction with Cheerio, no browser needed. Scrapes up to 60 products per page.
  • Reliable anti-bot handling — Residential proxy rotation with automatic retries. Handles captchas and rate limits gracefully.
  • Rich product data — Every listing includes price, original price, shipping cost, condition, seller name, feedback score, sold count, and images.
  • Flexible filters — Filter by item condition (new, used, refurbished, open box), listing type (auction, Buy It Now), and price range.
  • Multiple sort options — Sort by best match, ending soonest, newly listed, or price (low/high).
  • Deduplication built-in — Automatically skips duplicate listings across pages and search queries.
  • Multiple search queries — Run several keyword searches in a single run for efficient batch scraping.
  • Pay-per-event pricing — You only pay for products scraped. No monthly subscription.
  • Export anywhere — Download results as JSON, CSV, Excel, or push directly to Google Sheets, Slack, webhooks, and more.

What data can you extract from eBay?

Each product in the output includes:

FieldDescription
itemIdeBay item ID
titleFull listing title
priceCurrent price (number)
priceStringFormatted price (e.g., "$237.36")
listPriceStringOriginal/list price before discount
shippingCostShipping cost text (e.g., "Free delivery", "+$14.99 delivery")
conditionItem condition (e.g., "New", "Pre-Owned", "Refurbished")
listingType"Buy It Now" or "Auction"
bidCountNumber of bids (auctions only)
timeLeftTime remaining (auctions only)
bestOfferWhether the listing accepts Best Offer
soldCountNumber of items sold (e.g., "824", "93+")
sellerNameSeller username
sellerFeedbackPercentSeller positive feedback percentage
sellerFeedbackCountTotal seller feedback count
isSponsoredWhether the listing is a sponsored result
thumbnailProduct image URL
imagesArray of product image URLs
urlDirect link to listing on eBay
scrapedAtISO timestamp of when data was collected

How much does it cost to scrape eBay?

This Actor uses pay-per-event pricing — you pay only for what you scrape. No monthly subscription. All platform costs (compute, proxy, storage) are included in the per-product price.

Free planStarter ($49/mo)Scale ($499/mo)
Per product$0.003$0.003$0.003
100 products$0.30$0.30$0.30
1,000 products$3.00$3.00$3.00
10,000 products$30.00$30.00$30.00

Real-world cost examples:

SearchProductsDurationCost
"airpods" (1 page)~10~7s~$0.03
"laptop" (2 pages)~30~10s~$0.09
"laptop" + "gaming keyboard" (3 pages each)~100~25s~$0.30
"vintage watches" (20 pages)~800~90s~$2.40

Costs include a $0.001 actor start fee per run.

How to scrape eBay listings step by step

  1. Click Try for free to open the Actor in Apify Console.
  2. Enter one or more search keywords (e.g., "laptop", "airpods", "vintage watches").
  3. Set filters — condition (new, used, refurbished), listing type (auction, Buy It Now), and price range.
  4. Set the maximum number of products and pages you want.
  5. Choose a sort order — best match, ending soonest, newly listed, or by price.
  6. Click Start and wait for the run to finish.
  7. Download your data as JSON, CSV, or Excel from the Dataset tab.
  8. Optionally, set up a schedule for recurring scrapes (hourly, daily, weekly).

Example input:

{
"searchQueries": ["laptop", "airpods"],
"maxProductsPerSearch": 100,
"maxSearchPages": 3,
"sort": "best_match",
"condition": ["new"],
"listingType": "buy_it_now"
}

How do I scrape eBay listings and prices?

ParameterTypeDefaultDescription
searchQueriesarrayrequiredKeywords to search on eBay. Each keyword runs a separate search.
maxProductsPerSearchinteger100Maximum products to return per keyword
maxSearchPagesinteger5Max search result pages per keyword (up to 20). Each page has up to 60 products.
sortstring"best_match"Sort order: best_match, ending_soonest, newly_listed, price_low, price_high
conditionarray[]Filter by condition: new, open_box, refurbished, used, for_parts. Leave empty for all.
listingTypestring"all"Filter by listing type: all, auction, buy_it_now
minPriceintegerMinimum price filter in USD
maxPriceintegerMaximum price filter in USD
maxRequestRetriesinteger5Retry attempts for failed requests (1-10)

What data can I extract from eBay?

{
"type": "product",
"itemId": "286393092388",
"title": "Dell Latitude Laptop Computer PC Intel i5 Up To 32GB RAM 1TB SSD Windows 11",
"price": 237.36,
"priceString": "$237.36",
"listPriceString": "$372.48",
"shippingCost": "Free delivery",
"condition": "Genuine Windows 11 OS! Great Condition! Fast Shipping!",
"listingType": "Buy It Now",
"bidCount": null,
"timeLeft": "",
"bestOffer": false,
"soldCount": "93+",
"sellerName": "discountcomputerdepot",
"sellerFeedbackPercent": "99.3%",
"sellerFeedbackCount": "153.4K",
"isSponsored": true,
"thumbnail": "https://i.ebayimg.com/images/g/PcAAAeSwFd1plzsw/s-l500.webp",
"images": ["https://i.ebayimg.com/images/g/PcAAAeSwFd1plzsw/s-l500.webp"],
"url": "https://www.ebay.com/itm/286393092388",
"scrapedAt": "2026-03-02T23:49:11.744Z"
}

Tips for best results

  • Start with low limits — Set maxProductsPerSearch to 10-20 for testing before scaling up.
  • Use specific keywords — "apple airpods pro 2nd generation" returns better results than just "airpods".
  • Filter by condition — Use the condition filter to narrow results to "new" or "refurbished" items only.
  • Monitor auctions — Sort by ending_soonest to find auctions about to end with low bid counts.
  • Schedule regular runs — Use Apify Schedules for daily price monitoring.
  • Compare across marketplaces — Cross-reference eBay prices with Amazon, Walmart, or AliExpress data for arbitrage opportunities.
  • Multiple keywords per run — Add several keywords to searchQueries array for efficient batch scraping instead of running separate jobs.
  • Use price filters — Set minPrice and maxPrice to narrow results and reduce unnecessary data extraction.
  • Combine filters — Stack condition, listing type, and price range together for highly targeted results.

Integrations

Connect eBay Scraper to your existing tools and workflows:

  • Google Sheets — Export scraped data directly to Google Sheets for analysis and sharing.
  • Zapier — Trigger actions in 5,000+ apps when new data is scraped.
  • Make (Integromat) — Build automated workflows with scraped eBay data.
  • Slack — Get notified when prices drop below a threshold.
  • Webhooks — Send data to your own API endpoint after each run.
  • Apify API — Programmatically start runs and retrieve results from any language.

Workflow ideas:

  • eBay to Google Sheets price tracker — Schedule daily scrapes and auto-append results to a spreadsheet to track resale value trends over time.
  • eBay to Slack auction alerts — Get Slack notifications when auctions ending soon have low bid counts for deal sniping.
  • eBay to your database — Use webhooks to push scraped data directly into your PostgreSQL, MongoDB, or data warehouse.

Programmatic access via API

Start eBay Scraper runs and retrieve results programmatically using the Apify API.

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('automation-lab/ebay-scraper').call({
searchQueries: ['laptop'],
maxProductsPerSearch: 100,
maxSearchPages: 3,
condition: ['new'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python:

from apify_client import ApifyClient
client = ApifyClient('YOUR_API_TOKEN')
run = client.actor('automation-lab/ebay-scraper').call(run_input={
'searchQueries': ['laptop'],
'maxProductsPerSearch': 100,
'maxSearchPages': 3,
'condition': ['new'],
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL:

curl "https://api.apify.com/v2/acts/automation-lab~ebay-scraper/runs" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"searchQueries": ["vintage watches"],
"maxProductsPerSearch": 50,
"condition": ["used"]
}'

Use with AI agents via MCP

eBay Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).

Setup for Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com"

Setup for Claude Desktop, Cursor, or VS Code

Add this to your MCP config file:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com"
}
}
}

Example prompts

Once connected, try asking your AI assistant:

  • "Find the cheapest listings for 'vintage watches' on eBay"
  • "Scrape sold listings for 'Pokemon cards' to see market prices"
  • "Search eBay for 'used MacBook Pro' and compare seller ratings"
  • "Track eBay prices for 'Nintendo Switch' over the last week"

Learn more in the Apify MCP documentation.

eBay Scraper accesses only publicly available data from eBay search results — the same information any visitor sees in a browser. It does not bypass authentication, access private accounts, or circumvent technical protection measures.

Scraping publicly available data is generally considered legal based on the 2022 US Ninth Circuit ruling in hiQ Labs v. LinkedIn, which affirmed that scraping public data does not violate the Computer Fraud and Abuse Act (CFAA). Similar principles apply in the EU under GDPR, where publicly available non-personal business data can be processed with legitimate interest.

That said, you are responsible for ensuring your use of scraped data complies with applicable laws in your jurisdiction, eBay's Terms of Service, and any relevant data protection regulations. This information is not legal advice.

FAQ

How many products can I scrape per run? Up to 1,200 products per search keyword (20 pages x ~60 products per page). You can run multiple keywords in a single run for even larger datasets.

How fast is the scraper? Each search page takes about 3-5 seconds. A full 20-page search (~800 products) typically completes in 1-2 minutes.

Can I scrape eBay outside the US? The scraper currently targets ebay.com (US). Results may include international sellers who list on the US site.

Why are some seller fields empty? Certain sponsored or promoted listings may not display seller information in search results. Seller data is more consistently available on non-sponsored listings.

What about auction data? For active auctions, the scraper captures bid count, time remaining, and current price. Use listingType: "auction" to filter for auctions only.

Why is the price null for some products? Some listings show price ranges ("$100.00 to $200.00") or require selecting options before showing a price. The scraper returns the first price in a range when available.

The scraper returns duplicate listings. How do I avoid this? Deduplication is built in and removes duplicates by item ID within a single run. If you see duplicates across separate runs, deduplicate by itemId in your downstream pipeline.

Can I scrape eBay sold/completed listings? Use a direct eBay search URL with the "Sold Items" filter applied. Paste that URL structure with the LH_Sold=1 parameter into your search flow for sold-item data.

Can I scrape individual eBay product pages? This scraper focuses on search results. It does not navigate to individual product detail pages. All data comes from the search results page, which provides the fields listed in the output section above.

What happens if eBay blocks my requests? The scraper uses residential proxies and automatic retries (configurable via maxRequestRetries). Temporary blocks are handled automatically. If you experience persistent failures, try reducing the number of concurrent pages or contact support.