Web Data Labs › Blog › eBay Scraper

Scraping eBay Listings: Extract Prices, Sellers & Bid Data (2026)

April 24, 2026  ·  5 min read

eBay hosts over 1.7 billion listings across every product category imaginable. For e-commerce researchers, price monitors, resellers, and market intelligence teams, eBay is one of the richest sources of real-world pricing data available. What something sells for on eBay — especially in completed auctions — is among the most reliable indicators of true market value for secondhand goods.

eBay’s official Finding API is rate-limited, requires developer registration, and returns limited fields. Getting full listing data including seller feedback, bid histories, condition notes, and shipping details at scale requires a different approach.

Why people extract eBay data

What makes eBay scraping difficult

eBay uses aggressive bot detection on search results pages, changes its page structure regularly, and serves different content based on geolocation and login state. The Finding API does not return completed/sold listing prices, which are often the most valuable data point for researchers.

The sold listings problem: eBay’s most valuable data — what items actually sold for at auction — is only accessible to logged-in users. Extracting this data programmatically requires maintaining authenticated sessions, managing cookies across requests, and handling eBay’s CAPTCHA challenges.

Pagination across large search result sets (thousands of listings) also requires careful handling of eBay’s URL parameter structure and sort ordering to avoid missing items or duplicating results.

The practical solution: a ready-made eBay scraper

We built and maintain an eBay Scraper on Apify that handles authentication, pagination, and data normalization. You provide search queries or listing URLs; it returns structured JSON.

Input

{
  "searchQuery": "vintage mechanical keyboard",
  "maxResults": 200,
  "condition": "used",
  "includeCompleted": false
}

Output

{
  "title": "IBM Model M Mechanical Keyboard 1989 - Fully Refurbished",
  "price": 89.99,
  "currency": "USD",
  "condition": "Used",
  "bids": 0,
  "buyItNowPrice": 89.99,
  "seller": "vintage_keyboards_uk",
  "sellerFeedback": 2841,
  "sellerRating": 99.8,
  "shippingCost": 14.99,
  "itemUrl": "https://www.ebay.com/itm/1234567890",
  "location": "London, United Kingdom",
  "endTime": "2026-05-01T18:00:00Z",
  "imageUrl": "https://i.ebayimg.com/images/g/..."
}

Fields returned per listing

FieldTypeDescription
titlestringFull listing title
pricenumberCurrent price or winning bid
conditionstringNew / Used / Refurbished / etc.
bidsintegerNumber of bids (auction listings)
sellerstringSeller username
sellerFeedbackintegerTotal seller feedback count
sellerRatingnumberPositive feedback percentage
shippingCostnumberShipping cost (null if free)
itemUrlstringDirect eBay listing URL
endTimestringAuction end or listing expiry

Output is available as JSON, CSV, or XLSX. Runs can be scheduled for daily price monitoring across product categories.

Pricing

The actor uses Pay Per Event pricing at $0.003 per listing.

VolumeCost
500 listings$1.50
1,000 listings$3.00
Daily monitor (200 items) × 30 days$18/month

Try it

eBay Scraper on Apify →

Apify has a free tier for testing. Sign up here if you do not have an account.