CompSniper
Changelog

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.

Recent highlights
Aug 10

Aspect filters

Narrow by brand, model, storage, and color using eBay's own sidebar facets.

Aug 9

Poshmark sold data

A second marketplace, same clean JSON. GET /v1/poshmark/sold, 48 per page.

Aug 7

Sold-date ranges

Slice results to an exact window with soldAfter and soldBefore for trend work.

Full history

Every change, dated

  1. 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"]}
  2. 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
  3. 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 }
  4. 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
  5. 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
  6. 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"
  7. 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
  8. 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.