eBay Price Comps API — Active Listings
Pricing
from $0.01 / 1,000 results
eBay Price Comps API — Active Listings
Price comps from up to 240 active eBay listings per search: median and percentiles with outliers removed, medians per condition and buying format, auction bids, sold counters, cheapest and best-selling listings. 17 eBay sites. HTTP API or batch.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share

Find out what a product is selling for on eBay right now: one search returns a price comps report built from up to 240 active listings, with the median and percentiles after outliers are removed, medians per condition (new, used, refurbished, open box, parts) and buying format, auction activity, eBay's own "sold" counters, and the cheapest and best-selling listings. Works on 17 eBay sites. No API key required.
This report uses active listings (current asking prices). eBay shows sold and completed listings to signed-in users only, so final sale prices are not part of it.
Why this API?
📊 A price, not a pile of listings
One call gives you the median, the 10th to 90th percentile and the range, worked out from up to 240 listings: ready for repricing, valuation and resale decisions.
🧹 Clean comps
Listings missing a search word, listings with words you exclude ("case", "cover", "defect") and prices far outside the normal band (accessories, bundles, placeholder prices) are left out, and the report says how many were removed and why.
🏷️ Split by condition and format
Separate medians for new, open box, refurbished, used and for-parts listings, and for Buy It Now, Best Offer and auction listings.
🔥 Demand signals
eBay's "X sold" counters on active listings, watcher counts, auction bids and the share of free shipping.
🌍 17 eBay sites
US, UK, Germany, France, Italy, Spain, the Netherlands, Austria, Switzerland, Ireland, Belgium, Poland, Canada, Australia, Singapore, Hong Kong and Malaysia.
⚡ Built for apps and agents
One search in, one JSON report back, over HTTP or in a batch of up to 20 searches per run.
Call this actor over HTTP
Besides normal runs, this actor exposes a REST API that answers each request with JSON. There is no run to start and no dataset to fetch afterwards, which suits apps, automations and AI agents that need one answer at a time. The full interactive reference is on the Endpoints tab.
| Endpoint | Returns | Billed as |
|---|---|---|
GET /comps?query=…&market=… | One price comps report from up to 240 active listings | Per report |
Authenticate with your Apify API token in the Authorization header:
curl -H "Authorization: Bearer <YOUR_APIFY_TOKEN>" \"https://unfenced-group--ebay-price-comps-api.apify.actor/comps?query=nintendo%20switch%20oled&market=de"
Every response has the shape { "count": N, "items": [...] }, with the same fields as the dataset records below, billed at the same price as a normal run. Errors and searches without matching listings return no data and are never billed. POST with a JSON body works the same as GET.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
queries | array | (required) | Products to price, one search per line, as typed on eBay. Up to 20 per run. Over HTTP: query. |
market | string | "de" | eBay site: us, uk, de, au, ca, fr, it, es, nl, at, ch, ie, be, pl, sg, hk, my. |
condition | string | "any" | any, new, openBox, refurbished, used or parts, filtered by eBay itself. |
minPrice | integer | (empty) | Only listings at or above this price, in the site currency. |
maxPrice | integer | (empty) | Only listings at or below this price, in the site currency. |
excludeWords | array | [] | Leave out listings whose title contains any of these words. Over HTTP: comma-separated. |
buyItNowOnly | boolean | false | Leave out auctions. |
domesticOnly | boolean | false | Only listings located in the site's own country. |
strictMatch | boolean | true | Use only titles that contain every word of the search. |
removeOutliers | boolean | true | Leave out prices far outside the normal band before working out the statistics. |
includeListings | boolean | false | Add every listing used in the statistics to the report. |
Output schema
One report per search. Statistics are null when no listing qualifies for them.
| Field | Type | Description |
|---|---|---|
query | string | The search. |
market / marketplace | string | eBay site key and domain. |
currency | string | Currency of the prices. |
searchUrl | string | The eBay search the report was built from. |
filters | object | The filters that were applied. |
totalResults / totalResultsText | integer / string | eBay's own result count for the search (e.g. 3,100+). |
listingsSampled | integer | Listings read from the results page (up to 240). |
listingsUsed | integer | Listings left after the exclusions below. |
excluded | object | Listings left out, by reason: priceRange, noPrice, otherCurrency, missingSearchWords, excludedWords, outliers. |
outlierBand | object | low and high price limits used to remove outliers. |
price | object | Item price: count, min, p10, p25, median, mean, p75, p90, max. |
priceWithShipping | object | The same statistics for price plus shipping, for listings with a known shipping cost. |
priceAllListings | object | The same statistics before any exclusion. |
byCondition | object | Per condition (new, openBox, refurbished, used, parts, unknown): count, median, p25, p75, min, max. |
byBuyingFormat | object | Per format (buyItNow, bestOffer, auction): the same fields. |
auctions | object | count, withBids, totalBids, medianCurrentPrice. |
demand | object | listingsWithSoldCounter, soldCounterTotal (sum of eBay's "X sold" counters), listingsWithWatchers, freeShippingSharePct. |
cheapestListings[] | array | The 5 cheapest listings (price plus shipping): title, price, shippingCost, totalPrice, condition, buyingFormat, bids, soldCount, url. |
bestSellingListings[] | array | Up to 5 listings with the highest "sold" counter, same fields. |
listings[] | array | Only with includeListings: every listing used, with itemId, title, url, price, currency, shippingCost, totalPrice, condition, conditionClass, buyingFormat, bids, soldCount, watchers. |
source | string | eBay site. |
scrapedAt | string | Time of the lookup (ISO 8601). |
Example record
{"query": "nintendo switch oled","market": "de","marketplace": "www.ebay.de","currency": "EUR","searchUrl": "https://www.ebay.de/sch/i.html?_nkw=nintendo+switch+oled&_ipg=240","filters": {"condition": "any","minPrice": null,"maxPrice": null,"buyItNowOnly": false,"domesticOnly": false,"excludeWords": [],"strictMatch": true,"removeOutliers": true},"totalResults": 3100,"totalResultsText": "3,100+","listingsSampled": 240,"listingsUsed": 199,"excluded": {"priceRange": 0,"noPrice": 0,"otherCurrency": 0,"missingSearchWords": 4,"excludedWords": 0,"outliers": 37},"outlierBand": {"low": 110.5,"high": 300.37},"price": {"count": 199,"min": 114.95,"p10": 150,"p25": 170,"median": 189,"mean": 192.43,"p75": 209.98,"p90": 236,"max": 300},"priceWithShipping": {"count": 199,"min": 114.95,"p10": 157.69,"p25": 177.68,"median": 192.69,"mean": 197.56,"p75": 213.84,"p90": 240.09,"max": 307.69},"priceAllListings": {"count": 240,"min": 4.49,"p10": 90.75,"p25": 159.99,"median": 180,"mean": 178.01,"p75": 205.75,"p90": 240.7,"max": 420},"byCondition": {"refurbished": {"count": 6,"median": 164.48,"p25": 127.21,"p75": 202.41,"min": 114.95,"max": 209.95},"used": {"count": 162,"median": 185,"p25": 169.99,"p75": 200,"min": 120,"max": 300},"openBox": {"count": 21,"median": 219,"p25": 190,"p75": 230,"min": 150,"max": 300},"new": {"count": 10,"median": 253,"p25": 227.25,"p75": 290.75,"min": 115.34,"max": 299.98}},"byBuyingFormat": {"buyItNow": {"count": 67,"median": 184.95,"p25": 167.27,"p75": 199.99,"min": 114.95,"max": 250},"bestOffer": {"count": 115,"median": 190,"p25": 179,"p75": 220,"min": 140,"max": 300},"auction": {"count": 17,"median": 151,"p25": 149,"p75": 180,"min": 120,"max": 256}},"auctions": {"count": 17,"withBids": 7,"totalBids": 54,"medianCurrentPrice": 151},"demand": {"listingsWithSoldCounter": 4,"soldCounterTotal": 303,"listingsWithWatchers": 19,"freeShippingSharePct": 31.7},"cheapestListings": [{"title": "Nintendo Switch OLED | V1/V2 🎮 | verschiedene Farben | Auswahl | Zustand \"gut\"✅","price": 114.95,"shippingCost": 0,"totalPrice": 114.95,"condition": "Gut - Refurbished","buyingFormat": "buyItNow","bids": null,"soldCount": 21,"url": "https://www.ebay.de/itm/388466984208"},{"title": "Nintendo Switch OLED Display Qualitätskontrolle & Versand aus Deutschland","price": 115.34,"shippingCost": 0,"totalPrice": 115.34,"condition": "Neu","buyingFormat": "buyItNow","bids": null,"soldCount": null,"url": "https://www.ebay.de/itm/236696684471"}],"bestSellingListings": [{"title": "Nintendo Switch OLED Modell 🎮 | Weiß | Komplett | TOP Zustand! ✅","price": 209.95,"shippingCost": 0,"totalPrice": 209.95,"condition": "Sehr gut - Refurbished","buyingFormat": "buyItNow","bids": null,"soldCount": 215,"url": "https://www.ebay.de/itm/388458616694"},{"title": "Nintendo Switch OLED | V1/V2 🎮 | verschiedene Farben | Auswahl | TOP Zustand!✅","price": 119.95,"shippingCost": 0,"totalPrice": 119.95,"condition": "Sehr gut - Refurbished","buyingFormat": "buyItNow","bids": null,"soldCount": 42,"url": "https://www.ebay.de/itm/388467031004"}],"source": "ebay.de","scrapedAt": "2026-10-14T08:15:37.006Z"}
Examples
Price a console on eBay Germany:
{ "queries": ["nintendo switch oled"], "market": "de" }
Used only, without accessories, on eBay UK:
{ "queries": ["nintendo switch oled"], "market": "uk", "condition": "used", "excludeWords": ["case", "game", "dock"] }
Several products at once, Buy It Now only, with every listing:
{ "queries": ["iphone 13 128gb", "iphone 14 128gb", "iphone 15 128gb"], "market": "us", "buyItNowOnly": true, "includeListings": true }
Daily price monitor (schedule this run every day):
{ "queries": ["lego 10300", "lego 75313", "lego 10294"], "market": "de", "condition": "new" }
💰 Pricing
$0.02 per comps report — you only pay for reports returned. Errors and lookups that find nothing are never charged. One search is one report, however many listings it is built from.
| Usage | Cost |
|---|---|
| one search | ~$0.02 |
| 10 searches | ~$0.20 |
| 100 searches | ~$2.00 |
| 1,000 searches | ~$20.00 |
Subscription tiers lower the rate further, down to $0.015 per comps report at the highest tier. A run start costs $0.00005 and each dataset item $0.00001; HTTP requests are billed per comps report only.
Performance
| Request | Typical time |
|---|---|
| One search over HTTP | 30–120 seconds |
| 10 searches as a run | about 10–15 minutes |
Known limitations
- Active listings only: the report shows what sellers ask, not what buyers paid. eBay shows sold and completed listings to signed-in users only.
- One results page (up to 240 listings) per search. For very broad searches, narrow with condition, price limits or exclude words.
- The "sold" counter is eBay's own figure on multi-quantity listings and is not shown on every listing.
- eBay can take a minute or more to answer, so an HTTP request can take up to two minutes.
Technical details
- Source: eBay search results on 17 eBay sites
- Coverage: every active listing eBay returns for the search, up to 240
- Retry: automatic retry on network errors and when eBay answers with a verification page
Rate this actor
If this scraper does its job, a short review on the Reviews tab helps other users find it. Something not working? Open an issue on the Issues tab instead — issues get fixed.
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl