eBay Listings Scraper – Prices & Auctions
Pricing
from $2.50 / 1,000 results
eBay Listings Scraper – Prices & Auctions
eBay listings scraper for price monitoring and market research across 13 marketplaces. Extract up to 60 fields, including prices, shipping, sellers, bids, watchers, sold counts, promotions, and sponsored results. Not affiliated with eBay Inc.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
astravalabs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
eBay Listings Scraper
Turn live eBay search results into structured data for pricing, demand, seller, auction, and cross-marketplace analysis.
Unofficial tool: This Actor is independently developed and is not affiliated with, endorsed by, or sponsored by eBay Inc. eBay names and trademarks belong to their respective owners.
Enter up to 50 product searches, choose one of 13 localized eBay marketplaces, and apply the same filters a shopper would use on eBay. The Actor returns one dataset row per active listing, including the displayed price, shipping, condition, seller feedback, watchers, quantity sold, bids, time left, promotions, and sponsored status when eBay shows them.
Why use this Actor?
- Research a market, not just one product. Each search page requests up to 240 listings. A run can process 50 queries and up to 10 pages per query.
- Measure supply and visible demand together. Compare price and shipping
with
watchCount,quantitySold, bids, seller reputation, and sponsored placement. - Get localized data from 13 eBay sites. Currency, prices, shipping text, conditions, seller types, activity counts, and badges are parsed for the selected marketplace.
- Filter at the source. Price, condition, location, buying format, and sort order are sent to eBay rather than applied after collection.
- Keep both clean values and source text. Numeric fields are ready for
analysis, while fields such as
displayedPriceText,shippingText, andsubtitleTextpreserve what eBay displayed. - Run production workflows with confidence. Results are deduplicated by
marketplace and item ID. Retryable blocks and network failures trigger a new
proxy session, and every run includes a detailed
RUN_REPORT.
This Actor is a strong fit for broad and recurring market scans where coverage matters most.
Why choose this Actor?
| Need | What this Actor provides |
|---|---|
| Broad search coverage | Up to 240 listings per requested search page, 50 queries per run, and 13 localized marketplaces |
| Market and demand signals | Prices, shipping, watchers, quantity sold, bids, seller reputation, promotions, and sponsored placement |
| Analysis-ready values | Normalized numeric and boolean fields alongside the original text displayed by eBay |
| Reliable recurring runs | Marketplace-aware proxy sessions, retries, deduplication, progress checkpoints, and a detailed run report |
| Transparent scope | Fast search-result collection without pretending to provide detail-page descriptions, specifications, or full galleries |
Who is it for?
- eBay sellers and resellers comparing active competition before sourcing, pricing, or relisting inventory.
- Pricing and e-commerce teams monitoring price bands, delivery costs, promotions, and seller positioning.
- Market researchers measuring listing supply, visible demand signals, and marketplace differences.
- Auction buyers and collectors finding newly listed or ending-soon auctions with bid counts and time remaining.
- Brands and agencies tracking sponsored visibility, direct-from-brand badges, seller quality, and product positioning.
- Developers and data teams building scheduled datasets, dashboards, alerts, and catalog-discovery pipelines through Apify.
Common use cases
Competitive price monitoring
Schedule the same searches and compare displayedPrice,
displayedTotalPrice, shippingPrice, conditionGroup, and
sellerFeedbackPercentage between runs.
Product and niche research
Use quantitySold and watchCount alongside the number of active listings to
identify products with visible interest and assess how crowded a niche is.
Auction tracking
Filter to AUCTION, sort by TIME_ENDING_SOONEST, and use bidCount and
timeLeftText to feed alerts or watchlists.
Cross-border market analysis
Run the same queries separately for different marketplaces and compare local currency, shipping, domestic availability, seller type, and pricing.
Organic versus sponsored visibility
Use sponsored, position, query, and seller fields to separate promoted
listings from organic search results.
Quick start
Paste this input into the Apify Console:
{"queries": ["iphone 15 pro","samsung galaxy s24"],"marketplace": "US","maxResultsPerQuery": 100,"sortOrder": "BEST_MATCH","minPrice": 200,"maxPrice": 1200,"itemLocation": "DOMESTIC","condition": "USED","buyingFormat": "ACCEPTS_OFFERS","maxPagesPerQuery": 5,"maxTotalResults": 1000}
The Actor streams listings to the default dataset. You can inspect them in the table view, download JSON, CSV, Excel, or XML, or retrieve them through the Apify API.
Example inputs
Find ending auctions
{"queries": ["charizard pokemon card","vintage omega watch"],"marketplace": "US","buyingFormat": "AUCTION","sortOrder": "TIME_ENDING_SOONEST","maxResultsPerQuery": 240,"maxPagesPerQuery": 1}
Monitor newly listed domestic inventory
{"queries": ["gaming laptop","rtx 5080"],"marketplace": "DE","condition": "USED","itemLocation": "DOMESTIC","sortOrder": "TIME_NEWLY_LISTED","maxResultsPerQuery": 480,"maxPagesPerQuery": 2}
Build a Buy It Now price dataset
{"queries": ["air jordan retro"],"marketplace": "UK","condition": "NEW","buyingFormat": "BUY_IT_NOW","minPrice": 100,"maxPrice": 500,"sortOrder": "PRICE_LOW_TO_HIGH"}
Supported marketplaces
| Input | eBay site | Market | Currency |
|---|---|---|---|
US | ebay.com | United States | USD |
UK | ebay.co.uk | United Kingdom | GBP |
DE | ebay.de | Germany | EUR |
AU | ebay.com.au | Australia | AUD |
CA | ebay.ca | Canada | CAD |
FR | ebay.fr | France | EUR |
IT | ebay.it | Italy | EUR |
ES | ebay.es | Spain | EUR |
NL | ebay.nl | Netherlands | EUR |
IE | ebay.ie | Ireland | EUR |
AT | ebay.at | Austria | EUR |
CH | ebay.ch | Switzerland | CHF |
PL | ebay.pl | Poland | PLN |
Choose one marketplace per run. To compare markets, run the same input once for each marketplace.
Input schema
| Field | Type | Default | Description |
|---|---|---|---|
queries | string array | required | 1–50 keyword searches. Empty and duplicate values are removed. |
marketplace | string | US | One of the 13 marketplace codes above. |
maxResultsPerQuery | integer | 100 | Maximum unique listings saved per query. 0 removes this user cap within the hard safety limits. |
sortOrder | string | BEST_MATCH | eBay sort order to apply. |
minPrice | number | none | Minimum displayed price in the selected marketplace's currency. |
maxPrice | number | none | Maximum displayed price in the selected marketplace's currency. |
itemLocation | string | DEFAULT | DEFAULT, DOMESTIC, or WORLDWIDE. |
condition | string | ANY | Condition group sent to eBay. |
buyingFormat | string | ANY | Listing format sent to eBay. |
maxPagesPerQuery | integer | 5 | Request-effort limit per query, from 1 to 10 pages. |
maxTotalResults | integer | 1000 | Whole-run result cap. 0 removes this user cap within the hard safety limit. |
Sort orders
BEST_MATCHTIME_ENDING_SOONESTTIME_NEWLY_LISTEDPRICE_LOW_TO_HIGHPRICE_HIGH_TO_LOWDISTANCE_NEAREST_FIRST
Conditions
ANYNEWOPEN_BOXREFURBISHEDUSEDFOR_PARTS
REFURBISHED includes eBay's Certified, Excellent, Very Good, and Good
refurbished grades. The dataset keeps eBay's localized label in condition and
also returns the normalized group in conditionGroup.
Buying formats
ANYAUCTIONBUY_IT_NOWACCEPTS_OFFERS
ANY does not send a buying-format filter to eBay.
Output example
The following example is shortened for readability. A dataset item contains up to 60 fields:
{"query": "iphone 15 pro","marketplace": "US","position": 2,"itemId": "168537709082","categoryId": "9355","epid": "8062766781","title": "Apple iPhone 15 128GB Black 48MP Camera iOS Bar Style","url": "https://www.ebay.com/itm/168537709082","imageUrl": "https://i.ebayimg.com/images/g/example/s-l500.webp","condition": "Pre-Owned","conditionGroup": "USED","sellerType": null,"listingType": "FIXED_PRICE","quantitySold": null,"watchCount": 90,"sponsored": true,"displayedPrice": 270.0,"displayedPriceText": "$270.00","currency": "USD","shippingPrice": 0.0,"shippingType": "PICKUP","displayedTotalPrice": 270.0,"bestOfferAvailable": true,"itemLocation": "United States","productRating": 5.0,"productRatingCount": 49,"sellerUsername": "example-seller","sellerFeedbackScore": 1200,"sellerFeedbackPercentage": 99.8,"freeReturns": false,"badges": [],"collectedAt": "2026-07-25T16:08:57.024989+00:00"}
Output schema
Fields are grouped below by purpose. Values that are not displayed on an eBay
search card are returned as null, false, or an empty list as appropriate.
| Group | Fields |
|---|---|
| Search context | query, marketplace, position, collectedAt |
| Listing identity | itemId, categoryId, variantId, epid, title, subtitleText, itemAttributes, url, imageUrl, hasGallery |
| Price | displayedPrice, displayedPriceText, priceIsRange, priceRangeMin, priceRangeMax, originalPrice, couponPrice, dealLabel, currency, unitPrice, unitPriceText |
| Shipping | shippingPrice, shippingType, shippingText, deliveryEstimate, pickupAvailable, displayedTotalPrice, itemLocation |
| Listing and demand | condition, conditionGroup, listingType, bidCount, timeLeftText, bestOfferAvailable, quantitySold, watchCount, sponsored, newListing, scarcityMessage |
| Seller | sellerUsername, sellerType, sellerFeedbackScore, sellerFeedbackPercentage, topRatedSeller, ebayTopService, directFromBrand |
| Product and promotion | productRating, productRatingCount, authenticityGuarantee, freeReturns, promotionTexts, badges |
The dataset table view selects 56 fields for convenient browsing. Raw dataset
records also include the combined bestOffer flag and the price-related source
text fields originalPriceText, couponPriceText, and couponText.
Important field notes
displayedPriceis the current value shown on the active search card. It is not a completed-sale price.displayedTotalPriceis calculated only when both the displayed price and a numeric shipping price are available.priceIsRange,priceRangeMin, andpriceRangeMaxdistinguish variation price ranges from a single price.quantitySold,watchCount, seller fields, ratings, delivery estimates, and badges are populated only when eBay displays them in search results. A missing value is not converted to zero.sponsoredidentifies promoted search cards so you can include or exclude paid placement in downstream analysis.hasGalleryindicates that eBay shows an interactive gallery on the search card; the Actor returns the card's primary image rather than visiting the detail page for a full gallery.
Run report
In addition to the dataset, every run stores a RUN_REPORT record in the
default key-value store. It provides whole-run and per-query diagnostics:
{"summary": {"persisted": 960,"duplicates": 0,"marketplace": "US","queries": 2,"successful_pages": 4,"request_retries": 1,"recovered_pages": 1,"page_success_rate": 1.0,"duration_seconds": 18.42,"blocked_run": false},"queries": [{"query": "iphone 15 pro","status": "completed","pages_completed": 2,"listings_persisted": 480,"duplicates": 0}]}
Use the report to distinguish a genuinely empty search from an interrupted or blocked request, audit retry recovery, and monitor result caps, bandwidth, and per-query completion.
While the Actor is running, it also updates a RUN_PROGRESS record every 30
seconds. This checkpoint remains available if a hard timeout prevents the
final RUN_REPORT from being written. It includes completed query names, the
next page for every unfinished query, persisted and detected counts, retry
statistics, and references to exact deduplication-key shards stored as
RUN_PROGRESS_DEDUP_####.
Scale and limits
- Up to 50 unique queries per run
- Up to 10 pages per query
- Up to 2,400 unique results per query
- Up to 120,000 results per run
- Up to 16 queries processed concurrently
- Up to 2 page requests per active query, with a global maximum of 32
The first-run defaults are intentionally small: 100 results per query and 1,000 results across the run, with a request-effort cap of 5 pages per query. Raising a result limit does not raise the page limit automatically. For larger market studies, split work by marketplace, category, price band, or keyword batch and schedule the runs separately.
What this Actor does not collect
The Actor does not open individual listing pages. It therefore does not return full descriptions, complete item-specific dictionaries, return policies, or a full image gallery. Choose this Actor when you need broad active-search coverage, repeatable filters, and market-level signals. Use a detail-page scraper when you need deep enrichment for a small set of item URLs.
FAQ
Why are some fields missing or null?
The Actor returns data displayed on eBay search-result cards. Fields such as
watchers, quantity sold, seller feedback, delivery estimates, ratings, and
promotions are populated only when eBay displays them for that listing. A
missing value is kept as null rather than converted to zero.
Are these active prices or sold prices?
displayedPrice is the current asking price shown on an active search result.
It is not a completed-sale price. Use a sold-listings scraper when you need
completed listings, sold dates, or historical price comparisons.
What happens if eBay blocks a request?
Temporary network errors, rate limits, login redirects, challenges, and access
denials trigger retries with fresh proxy sessions. If recovery is unsuccessful,
the Actor records the affected query and terminal outcome in RUN_REPORT. A
run in which every query is blocked fails explicitly instead of returning a
misleading successful empty dataset.
How many listings can I collect?
The default is 100 listings per query and 1,000 per run. You can raise the
limits to 2,400 per query and 120,000 per run, subject to a maximum of 10 pages
per query. Set a result limit to 0 to use the corresponding hard safety cap.
Which eBay marketplaces are supported?
The Actor supports US, UK, Germany, Australia, Canada, France, Italy, Spain, Netherlands, Ireland, Austria, Switzerland, and Poland. Choose one marketplace per run; schedule or start separate runs to compare multiple markets.
Responsible use
This is an unofficial, independently developed tool. It is not affiliated with, endorsed by, or sponsored by eBay Inc. eBay names and trademarks belong to their respective owners.
The Actor collects information publicly displayed in eBay search results. You are responsible for using the data in accordance with applicable laws, regulations, and eBay's terms. Avoid collecting or processing personal data without a lawful purpose.