EBay Listings Scraper (Cheap) avatar

EBay Listings Scraper (Cheap)

Pricing

from $2.99 / 1,000 results

Go to Apify Store
EBay Listings Scraper (Cheap)

EBay Listings Scraper (Cheap)

eBay Search Listings Scraper that pulls prices, conditions, seller info, and shipping details from any keyword search, so you can track market prices and research competitors without manual browsing.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

Data API

Data API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

eBay Listings Scraper

eBay Listings Scraper

Searching eBay by hand and pasting prices into a spreadsheet falls apart the moment you need more than a handful of items. This eBay scraper does the legwork: type a query, and it walks the search results page by page and returns every listing as a tidy row — title, current price, any crossed-out list price, condition, seller, shipping, ratings, and live auction details. Run one keyword or a whole batch, set a cap, and export the data wherever you need it.

What you get

Each listing comes back as one row with the same set of fields every time, so your columns stay predictable when you load the results into a sheet or database. Values eBay does not show on a given card arrive as null rather than disappearing. The data splits into a few groups:

  • Item basicsproductTitle, listingId, itemUrl, imageLink, subtitleText, conditionLabel
  • PricingcurrentPrice, listPrice, currencyCode
  • Seller and deliverystoreName, sellerRating, deliveryInfo, itemLocation
  • Demand and auctionsunitsSold, watcherCount, buyItNow, auctionListing, bidCount, timeRemaining
  • Ratings and tagsstarRating, reviewTotal, badgeLabel, promoted
  • Run contextsearchTerm, resultPage, collectedAt

Quick start

  1. Click Try for free and open the input form.
  2. Type a term into Search query, or drop several into Search queries (batch) to cover more ground in one run.
  3. Optionally set a category, price range, condition, or sort order, and a Results cap to keep the run short.
  4. Press Start, then download the dataset as JSON, CSV, Excel, or XML when it finishes.

How it works

Use cases

  • Price monitoring — schedule a daily run on a product and watch how prices and discounts move
  • Reseller and dropshipping research — surface items with high sold counts and watcher numbers before competitors do
  • Competitor and market analysis — see who is selling what, at which price, and with what feedback score
  • Catalog and pricing data — pull a structured snapshot of an entire category for your own dashboards
  • Deal hunting — sort by lowest price and filter by condition to find the best offers fast
  • Auction tracking — pull bid counts and time-remaining figures across live auctions in one pass

Input

You only need a query to start; everything else is optional.

FieldTypeRequiredDescription
searchQuerystringOne of searchQuery or searchQueriesA single term to search on eBay, e.g. lego star wars set.
searchQueriesarray of stringsOptionalSeveral terms searched separately, with all matches combined into one dataset.
categoryFilterstringNoRestrict results to one eBay category by numeric ID. Leave blank to search everything. Example 139973.
priceFloornumberNoLowest price to include, in USD. Leave blank for no lower bound.
priceCeilingnumberNoHighest price to include, in USD. Leave blank for no upper bound.
itemConditionstringNoFilter by condition: any, new, used, or not_specified. Default any.
resultSortingstringNoOrder results: best_match, lowest_price, highest_price, ending_soonest, or newly_listed. Default best_match.
resultsLimitintegerNoStop after this many listings per run. Default 60; max 1000.
timeoutSecondsintegerNoSeconds to wait per page request before moving on. Default 45.

Example input

{
"searchQuery": "lego star wars set",
"itemCondition": "used",
"resultSorting": "lowest_price",
"resultsLimit": 100
}

Output

Every listing on the search results becomes one row. Each field is always present; anything eBay does not display on a card comes back as null, so the dataset stays rectangular and easy to load.

Example output

{
"listingId": "296812345678",
"productTitle": "LEGO Star Wars Millennium Falcon 75257 Building Set",
"currentPrice": "$129.99",
"listPrice": "$169.99",
"currencyCode": "USD",
"conditionLabel": "Used",
"subtitleText": "Complete with box and instructions",
"itemUrl": "https://www.ebay.com/itm/296812345678",
"imageLink": "https://i.ebayimg.com/images/g/AbcAAeSwxyz/s-l500.webp",
"storeName": "brick_traders",
"sellerRating": "99.6% positive (12.1K)",
"deliveryInfo": "Free delivery in 3-4 days",
"itemLocation": "United States",
"unitsSold": "37 sold",
"watcherCount": "9 watchers",
"buyItNow": true,
"auctionListing": false,
"bidCount": null,
"timeRemaining": null,
"promoted": false,
"reviewTotal": "24 product ratings",
"starRating": "4.8 out of 5 stars",
"badgeLabel": null,
"searchTerm": "lego star wars set",
"resultPage": 1,
"collectedAt": "2026-06-30T09:15:42.123456+00:00"
}

Output fields

FieldTypeDescription
listingIdstringeBay item number that uniquely identifies the listing
productTitlestringHeadline text shown for the item
currentPricestringPrice as printed on the card, with its currency symbol
listPricestringCrossed-out reference price when a markdown is shown; null otherwise
currencyCodestringThree-letter currency guessed from the price symbol, e.g. USD, GBP, EUR
conditionLabelstringStated condition, e.g. New, Pre-owned, Refurbished
subtitleTextstringSecondary line under the title, often a warranty or promo note
itemUrlstringClean direct link to the item page, no tracking parameters
imageLinkstringThumbnail URL upgraded to 500 px resolution
storeNamestringDisplay name of the seller or store
sellerRatingstringSeller feedback score and review volume
deliveryInfostringShipping cost or delivery estimate from the card
itemLocationstringWhere the item ships from, when listed
unitsSoldstringHow many have sold, when shown; null otherwise
watcherCountstringNumber of shoppers watching the listing, when shown
buyItNowbooleanTrue when a fixed-price Buy It Now option is offered
auctionListingbooleanTrue when the listing runs as a timed auction
bidCountstringBids placed on an auction; null for fixed-price items
timeRemainingstringTime left before an auction ends, when shown
promotedbooleanTrue when the result is a sponsored placement
reviewTotalstringCount of product ratings tied to the listing, when present
starRatingstringAverage star score for the product
badgeLabelstringProgram badge such as eBay Refurbished or Top Rated
searchTermstringThe query that surfaced this listing
resultPageintegerPage number of the search results the listing came from
collectedAtstringISO 8601 UTC timestamp of when the row was captured

Tips for best results

  • Test with a small resultsLimit. Run 20–30 listings first to confirm the fields fit your pipeline, then raise the cap for the full pull.
  • Let pagination run itself. The scraper pages through results automatically until it hits your cap or eBay runs out of listings — roughly 60 per page.
  • Expect null on sparse cards. Fields like unitsSold, bidCount, or badgeLabel only appear when eBay shows them; a null there is normal, not a failure.
  • Keep or drop promoted items with promoted. Sponsored listings are included and flagged, so you can filter them out in your own step if you only want organic demand.
  • Raise timeoutSeconds to ~60 if you see frequent timeout errors on busy categories.

How can I use eBay listings data?

How can I use the eBay Listings Scraper to track prices over time? Schedule the actor to run on the same searchQuery each day and store the dataset. Because every row carries currentPrice, listPrice, and a collectedAt timestamp, you can chart how prices and discounts shift across days or weeks and get an alert when something drops to your target.

How can I scrape eBay search results for reseller and dropshipping research? Set a query for the niche you are exploring and sort by newly_listed or best_match. The unitsSold and watcherCount fields point to items with real demand, while storeName and sellerRating show who is already selling them and how well they are rated.

How can I pull eBay listing data for an entire category? Use categoryFilter with a category ID and raise resultsLimit to gather a broad snapshot, or pass several terms through searchQueries to cover a topic from multiple angles. Each result returns as one row with pricing, condition, seller, and delivery details, ready to load into a sheet, database, or dashboard.

Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Support

Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.