Search inputs

Every parameter the Soldgraph search routes accept, by marketplace: keywords, page, price range, condition, sort, count and cursor.

The search routes accept only these parameters. Anything else returns 422 unsupported_or_invalid_query.

ParameterRoutesRule
qAllRequired. 1–200 characters.
pageAll1–100. Defaults to 1.
countryAllOnly us. Optional.
marketplaceAllOptional. If sent, it must match the path: ebay, poshmark, mercari or depop.
min_priceAllWhole US dollars, 0–1,000,000. Optional.
max_priceAllWhole US dollars, 0–1,000,000. Optional. Must be at least min_price when you send both.
conditioneBay sold and active listingsOne or more of new, open_box, refurbished, used or for_parts, separated by commas.
conditionPoshmark sold and active listingsExactly one of nwt, uln, ug or uf.
conditionMercari sold and active listingsExactly one of new, like_new, good, fair or poor.
conditionDepop active listingsExactly one of brand_new, used_like_new, used_excellent, used_good or used_fair.
sorteBay active listingsbest_match (default), newest, price_asc or ending_soon.
sortPoshmark active listingsbest_match (default), newest or price_asc.
sortMercari sold listingsrecently_sold (default), best_match, newest, price_asc, price_desc or most_popular.
sortMercari active listingsbest_match (default), newest, price_asc, price_desc or most_popular.
countMercari sold and active listingsMost rows per page, 1–100. Defaults to 100.
countDepop active listingsMost rows per page, 1–100. Defaults to 24.
category_id, brand_idMercari sold and active listingsMercari's numeric IDs. Optional.
cursorPoshmark, Mercari and DepopLeave it out on page 1. Required on later pages: send the previous result's next_cursor.

#Condition uses each marketplace's own terms

condition takes the terms each marketplace uses in its own search. We don't translate conditions between marketplaces, so used on eBay has no Poshmark match.

  • eBay: new is Brand New, open_box is Open Box or New (Other), refurbished is every refurbished grade, used is Pre-Owned and for_parts is Parts Only. Send several at once, like condition=new,open_box.
  • Poshmark: nwt is new with tags, uln is like new, ug is good and uf is fair. These are the same codes rows return in condition. Poshmark filters one condition at a time, so more than one returns 422. We don't send an unfiltered search instead.
  • Mercari: new, like_new, good, fair or poor, one at a time. Rows return Mercari's label, like Like New, and its numeric condition_id.
  • Depop: brand_new, used_like_new, used_excellent, used_good or used_fair, one at a time. Rows return the same codes.

The marketplace applies condition, min_price and max_price itself. So reported_total counts only the matching listings. On Depop, the price filter uses Depop's search price, which can differ from the headline displayed_price.

#Other rules

  • An unknown value, like condition=mint, or min_price above max_price, returns 422 unsupported_or_invalid_query.
  • Sending a parameter twice returns 422 duplicate_parameter.
  • On routes that take sort, sort=best_deal returns 422 sort_not_implemented.
  • A query string over 2,048 characters returns 414 uri_too_long.

There are no filters for date range, title patterns or offers. Get the page, then filter the rows in your own code.

eBay sold listings · eBay active listings · Poshmark sold listings · Poshmark active listings · Mercari sold listings · Mercari active listings · Depop active listings

#Repeated listings across pages

Marketplace pages are live search results, not a frozen snapshot. The same listing ID can appear on multiple pages, including with cursor pagination. Soldgraph keeps each page as the marketplace returned it. Deduplicate by id when you combine pages.