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.
| Parameter | Routes | Rule |
|---|---|---|
q | All | Required. 1–200 characters. |
page | All | 1–100. Defaults to 1. |
country | All | Only us. Optional. |
marketplace | All | Optional. If sent, it must match the path: ebay, poshmark, mercari or depop. |
min_price | All | Whole US dollars, 0–1,000,000. Optional. |
max_price | All | Whole US dollars, 0–1,000,000. Optional. Must be at least min_price when you send both. |
condition | eBay sold and active listings | One or more of new, open_box, refurbished, used or for_parts, separated by commas. |
condition | Poshmark sold and active listings | Exactly one of nwt, uln, ug or uf. |
condition | Mercari sold and active listings | Exactly one of new, like_new, good, fair or poor. |
condition | Depop active listings | Exactly one of brand_new, used_like_new, used_excellent, used_good or used_fair. |
sort | eBay active listings | best_match (default), newest, price_asc or ending_soon. |
sort | Poshmark active listings | best_match (default), newest or price_asc. |
sort | Mercari sold listings | recently_sold (default), best_match, newest, price_asc, price_desc or most_popular. |
sort | Mercari active listings | best_match (default), newest, price_asc, price_desc or most_popular. |
count | Mercari sold and active listings | Most rows per page, 1–100. Defaults to 100. |
count | Depop active listings | Most rows per page, 1–100. Defaults to 24. |
category_id, brand_id | Mercari sold and active listings | Mercari's numeric IDs. Optional. |
cursor | Poshmark, Mercari and Depop | Leave 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:
newis Brand New,open_boxis Open Box or New (Other),refurbishedis every refurbished grade,usedis Pre-Owned andfor_partsis Parts Only. Send several at once, likecondition=new,open_box. - Poshmark:
nwtis new with tags,ulnis like new,ugis good andufis fair. These are the same codes rows return incondition. Poshmark filters one condition at a time, so more than one returns422. We don't send an unfiltered search instead. - Mercari:
new,like_new,good,fairorpoor, one at a time. Rows return Mercari's label, likeLike New, and its numericcondition_id. - Depop:
brand_new,used_like_new,used_excellent,used_goodorused_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, ormin_priceabovemax_price, returns422 unsupported_or_invalid_query. - Sending a parameter twice returns
422 duplicate_parameter. - On routes that take
sort,sort=best_dealreturns422 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.