What we shipped
New filters, new fields, new marketplaces, and fixes. The API contract stays stable and versioned under /v1, so additions never break your integration. Newest changes first.
Aspect filters
Narrow by brand, model, storage, and color using eBay's own sidebar facets.
Poshmark sold data
A second marketplace, same clean JSON. GET /v1/poshmark/sold, 48 per page.
Sold-date ranges
Slice results to an exact window with soldAfter and soldBefore for trend work.
Every change, dated
- ADDED
Aspect filters (facet narrowing)
Narrow a keyword search by the same sidebar facets eBay shows shoppers: brand, model, storage size, color, and more. Pass an aspectFilter of URL-encoded JSON to trim 240 raw results down to exactly the variant you are pricing.
aspectFilter={"Brand":["Apple"],"Storage Capacity":["256 GB"]} - ADDED
Poshmark sold endpoint
A second marketplace joins the platform. GET /v1/poshmark/sold returns completed Poshmark sales, 48 per page, with the same clean JSON shape. Add enrich=true to pull full item detail (it debits 2 quota slots per request).
GET /v1/poshmark/sold?keyword=lululemon+define+jacket - ADDED
totalResults in the response envelope
Every response now reports eBay's own headline count for the query as a string, for example "14,000+". Use it to gauge how deep a market runs beyond the 240 items on the page. It is null when eBay does not surface a count.
{ "totalItems": 240, "totalResults": "14,000+", "hasNextPage": true } - ADDED
Sold-date range filter
Bound results to a specific window with soldAfter and soldBefore (both YYYY-MM-DD). Applied after parsing, so you get precise date slices for trend analysis. When either is set, the response also returns scrapedCount so you can see how many items were considered before filtering.
soldAfter=2026-07-01&soldBefore=2026-07-31 - ADDED
buyingFormat filter
Split the market by how items actually sold. Filter to auction, buyItNow, or acceptsOffers (or leave it at all) to compare auction realizations against fixed-price sales for the same keyword.
buyingFormat=auction - CHANGED
endedAt is now a clean date
The endedAt field returns a plain YYYY-MM-DD date instead of a localized timestamp string. Parsing is now identical across all 8 marketplaces, with no locale-specific formats to special-case in your code.
"endedAt": "2026-07-24" - ADDED
Active listings via sold=false
The core endpoint can now return live listings, not just completed sales. Pass sold=false to swap the sold fields for currentPrice, watcherCount, unitsSold, acceptsOffers, and timeLeft, so you can compare what is selling against what is still on the shelf.
GET /v1/scrape?keyword=rtx+4090&sold=false - CHANGED
Accurate bestOfferAccepted
Best Offer detection is now reliable. When includeCompleteListing is on (the default), bestOfferAccepted correctly flags sales that closed via an accepted offer. Note that soldPrice on those sales remains an upper bound, since eBay never discloses the accepted amount.
"bestOfferAccepted": true
Build on an API that keeps getting better
Every addition is backward compatible. Start free with 100 requests a month, no credit card.
Questions about a change? Email support@compsniper.com.