EBay Listings Scraper (Cheap)
Pricing
from $2.99 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
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 basics —
productTitle,listingId,itemUrl,imageLink,subtitleText,conditionLabel - Pricing —
currentPrice,listPrice,currencyCode - Seller and delivery —
storeName,sellerRating,deliveryInfo,itemLocation - Demand and auctions —
unitsSold,watcherCount,buyItNow,auctionListing,bidCount,timeRemaining - Ratings and tags —
starRating,reviewTotal,badgeLabel,promoted - Run context —
searchTerm,resultPage,collectedAt
Quick start
- Click Try for free and open the input form.
- Type a term into Search query, or drop several into Search queries (batch) to cover more ground in one run.
- Optionally set a category, price range, condition, or sort order, and a Results cap to keep the run short.
- Press Start, then download the dataset as JSON, CSV, Excel, or XML when it finishes.

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.
| Field | Type | Required | Description |
|---|---|---|---|
searchQuery | string | One of searchQuery or searchQueries | A single term to search on eBay, e.g. lego star wars set. |
searchQueries | array of strings | Optional | Several terms searched separately, with all matches combined into one dataset. |
categoryFilter | string | No | Restrict results to one eBay category by numeric ID. Leave blank to search everything. Example 139973. |
priceFloor | number | No | Lowest price to include, in USD. Leave blank for no lower bound. |
priceCeiling | number | No | Highest price to include, in USD. Leave blank for no upper bound. |
itemCondition | string | No | Filter by condition: any, new, used, or not_specified. Default any. |
resultSorting | string | No | Order results: best_match, lowest_price, highest_price, ending_soonest, or newly_listed. Default best_match. |
resultsLimit | integer | No | Stop after this many listings per run. Default 60; max 1000. |
timeoutSeconds | integer | No | Seconds 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
| Field | Type | Description |
|---|---|---|
listingId | string | eBay item number that uniquely identifies the listing |
productTitle | string | Headline text shown for the item |
currentPrice | string | Price as printed on the card, with its currency symbol |
listPrice | string | Crossed-out reference price when a markdown is shown; null otherwise |
currencyCode | string | Three-letter currency guessed from the price symbol, e.g. USD, GBP, EUR |
conditionLabel | string | Stated condition, e.g. New, Pre-owned, Refurbished |
subtitleText | string | Secondary line under the title, often a warranty or promo note |
itemUrl | string | Clean direct link to the item page, no tracking parameters |
imageLink | string | Thumbnail URL upgraded to 500 px resolution |
storeName | string | Display name of the seller or store |
sellerRating | string | Seller feedback score and review volume |
deliveryInfo | string | Shipping cost or delivery estimate from the card |
itemLocation | string | Where the item ships from, when listed |
unitsSold | string | How many have sold, when shown; null otherwise |
watcherCount | string | Number of shoppers watching the listing, when shown |
buyItNow | boolean | True when a fixed-price Buy It Now option is offered |
auctionListing | boolean | True when the listing runs as a timed auction |
bidCount | string | Bids placed on an auction; null for fixed-price items |
timeRemaining | string | Time left before an auction ends, when shown |
promoted | boolean | True when the result is a sponsored placement |
reviewTotal | string | Count of product ratings tied to the listing, when present |
starRating | string | Average star score for the product |
badgeLabel | string | Program badge such as eBay Refurbished or Top Rated |
searchTerm | string | The query that surfaced this listing |
resultPage | integer | Page number of the search results the listing came from |
collectedAt | string | ISO 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
nullon sparse cards. Fields likeunitsSold,bidCount, orbadgeLabelonly appear when eBay shows them; anullthere 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
timeoutSecondsto ~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.
Is it legal to scrape data?
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.