eBay Product Scraper avatar

eBay Product Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
eBay Product Scraper

eBay Product Scraper

Extract eBay listings across 8 global marketplaces (US, UK, DE, FR, IT, ES, AU, CA): title, price, bids, condition, seller rating, shipping cost, time left. Supports auction and Buy It Now. Ideal for price comparison, reseller research, market analysis.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

cloud9

cloud9

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Apify Actor for scraping product listings from eBay with advanced filtering and multi-marketplace support.

Features

  • Multi-Marketplace Support: US, UK, DE, FR, IT, ES, AU, CA
  • Advanced Filtering: Condition, price range, listing type, category
  • Flexible Sorting: Best match, price, newly listed, ending soonest
  • Comprehensive Data: Title, price, shipping, seller info, bids, watchers, images
  • Rate Limiting: Built-in delays to avoid blocking
  • Error Handling: Automatic retries with exponential backoff
  • User-Agent Rotation: Multiple user agents for better reliability

Input Parameters

ParameterTypeDescriptionDefault
searchQuerystringSearch keyword"iPhone 15"
searchUrlstringDirect eBay search URL (overrides searchQuery)-
marketplaceselecteBay marketplace (US, UK, DE, FR, IT, ES, AU, CA)"US"
categorystringeBay category ID-
conditionselectItem condition (all, new, open_box, refurbished, used)"all"
listingTypeselectListing type (all, auction, buy_it_now)"all"
minPricenumberMinimum price filter-
maxPricenumberMaximum price filter-
sortByselectSort order (best_match, price_asc, price_desc, newly_listed, ending_soonest)"best_match"
freeShippingbooleanShow only free shipping itemsfalse
maxResultsnumberMaximum products to scrape100

Output Data

Each product contains:

{
"title": "Apple iPhone 15 Pro Max 256GB Blue Titanium",
"price": 1199.99,
"currency": "$",
"shippingCost": "Free shipping",
"condition": "Brand New",
"sellerName": "example_seller",
"sellerRating": "99.8%",
"sellerReviewCount": 15420,
"bids": null,
"timeLeft": "",
"listingType": "Buy It Now",
"itemId": "123456789",
"itemUrl": "https://www.ebay.com/itm/123456789",
"imageUrl": "https://i.ebayimg.com/...",
"location": "United States",
"soldCount": 245,
"watchers": 12
}

Example Usage

Search for iPhones under $500

{
"searchQuery": "iPhone",
"marketplace": "US",
"maxPrice": 500,
"condition": "used",
"sortBy": "price_asc",
"maxResults": 50
}

Search UK marketplace with free shipping

{
"searchQuery": "PlayStation 5",
"marketplace": "UK",
"freeShipping": true,
"condition": "new",
"maxResults": 100
}

Use custom search URL

{
"searchUrl": "https://www.ebay.com/sch/i.html?_nkw=laptop&_sop=15",
"maxResults": 200
}

Rate Limiting

  • 2-3 seconds delay between pages
  • Exponential backoff on errors (5s, 10s, 15s)
  • User-agent rotation to avoid detection
  • Max 3 retries per page

Development

# Install dependencies
npm install
# Build TypeScript
npm run build
# Run locally
npm start
# Build Docker image
docker build -t ebay-scraper .
# Run in Docker
docker run -e APIFY_INPUT_JSON='{"searchQuery":"iPhone"}' ebay-scraper

Deployment

# Login to Apify
apify login
# Push to Apify
apify push
# Run on Apify platform
apify run

Notes

  • eBay may change their HTML structure, requiring selector updates
  • Some data fields may not be available for all listings
  • Respect eBay's Terms of Service and robots.txt
  • Use reasonable maxResults values to avoid long-running actors

License

MIT