Depop active listings

GET /v1/depop/listings searches one page of Depop US active listings by keyword, with condition and price filters and cursor pagination.

GEThttps://api.soldgraph.com/v1/depop/listings

Search Depop US listings that are for sale now. Each call returns one page. There's no Depop sold search, so there are no sold prices.

Depop's own Selling API manages your own shop and doesn't search the market. See Depop API.

displayed_price is Depop's headline price in USD. It can include buyer fees, shipping or tax, and price_includes lists which ones: buyer_fee, shipping_price or tax. Don't treat it as the seller's item price or the checkout total.

title is the listing's description, up to 2,000 characters. Rows have the brand, available sizes, image, location and promoted when Depop gives them. seller_text, displayed_shipping, shipping_text and listed_at are always null, because we can't verify them from search.

ParameterTypeDefaultDescription
qstringRequiredSearch keywords, 1–200 characters, as you'd type them into the marketplace's search box. Be specific: model, size, grade, edition.
pageinteger, 1–1001Source page to fetch. On Poshmark, Mercari and Depop, pages after 1 also need cursor.
min_priceinteger, 0–1000000Lowest price, in whole US dollars. Optional. Must not be more than max_price. You can send it without max_price.
max_priceinteger, 0–1000000Highest price, in whole US dollars. Optional. You can send it without min_price.
marketplacedepopdepopOptional. If sent, it must be depop.
countryususOnly us is supported.
conditionbrand_new, used_like_new, used_excellent, used_good or used_fairOne Depop condition: brand_new, used_like_new, used_excellent, used_good or used_fair. Rows return the same codes.
countinteger, 1–10024Most rows per page. Depop can return fewer.
cursorstringThe previous page's next_cursor. Leave it out on page 1. Keep the query, filters and count the same.
curl -G https://api.soldgraph.com/v1/depop/listings \  -H "Authorization: Bearer $SOLDGRAPH_KEY" \  -d q=nike \  -d page=1 \  -d count=5

The first call usually returns 202 and a job to poll. Search jobs covers polling and retries.

#Filters

  • condition takes one Depop condition: brand_new, used_like_new, used_excellent, used_good or used_fair.
  • min_price and max_price are whole US dollars. You can send either one alone. Depop applies them to its search price, which can differ from the headline displayed_price.
  • count sets the most rows per page, from 1 to 100. It defaults to 24, and Depop can return fewer.

There are no sort, brand or category filters. Results are in Depop's order. Keep the same filters and count on every page.

#Pages and cursors

Start with page=1 and no cursor. For the next page, send page set to next_page and cursor set to next_cursor from the last result.

  • A later page without a cursor, a cursor from a different search, or a cursor in the wrong format returns 422.
  • A cursor Depop doesn't accept fails the job with error.code rejected. It costs nothing.
  • When next_cursor is null, you're on the last page. You can request at most 100 pages.
  • page_size counts the rows Depop returned. count counts the active USD rows we kept. Depop sometimes puts foreign-currency listings in US search. We leave those out instead of converting them.
  • reported_total can be null, especially after the first page. It doesn't mean full coverage.
  • The same listing can show up on more than one page. Deduplicate by id when you combine pages.

The dashboard Playground has a Next page button that handles cursors for you.

#Example response

The listing data below was collected from Depop on September 29, 2026. Prices and availability change.

Response
{  "request_id": "example-depop-search",  "status": "complete",  "credits": 1,  "cached": false,  "result": {    "provider": "depop",    "country": "us",    "query": "nike",    "page": 1,    "page_size": 5,    "count": 5,    "reported_total": 2863606,    "next_page": 2,    "next_cursor": "WyJNbncxZkRFM09UQTNNRGswTlRBLkJPT1NURURfRVhIQVVTVEVELjAiLCAiNzIyMGVhY2U5NDgxZWU5Y2E5ZDllNjRhNzE3YmE5ZTk2MWRmZmM2ZDg3OTRmNDU4ODNkY2E2ZDdiMjQ3NjRlZiIsIDJd",    "collected_at": "2026-09-29T19:17:31.799685+00:00",    "schema_version": 1,    "completeness": "provider_page_only",    "data": [      {        "id": "929885807",        "title": "Nike Bra in solid light green Size: M 💚 #activewear #sports #nike #sportbra Brand new",        "link": "https://www.depop.com/products/lovexzat-nike-bra-in-solid-light-4c6d/",        "displayed_price": {          "amount": 5.95,          "currency": "USD"        },        "displayed_price_text": "$5.95",        "price_includes": [          "buyer_fee"        ],        "displayed_shipping": null,        "shipping_text": null,        "condition": "brand_new",        "seller_text": null,        "brand": "Nike",        "size": "M",        "image": "https://media-photos.depop.com/r1/7548776/4806392865_e376f6e8a5e14144b78062921e1cd94e/P0.jpg",        "status": "active",        "promoted": false,        "format": "fixed_price",        "listed_at": null,        "bid_count": null,        "ends_at": null,        "best_offer": null,        "location_text": "Los Angeles, United States"      },      {        "id": "930772677",        "title": "Nike SB hoodie with white and yellow 'NIKE SB' logo, size L #skateboarding #sb",        "link": "https://www.depop.com/products/abbimjelsema-nike-sb-hoodie-with-white-7e9d/",        "displayed_price": {          "amount": 5.95,          "currency": "USD"        },        "displayed_price_text": "$5.95",        "price_includes": [          "buyer_fee"        ],        "displayed_shipping": null,        "shipping_text": null,        "condition": "used_fair",        "seller_text": null,        "brand": "Nike",        "size": "L",        "image": "https://media-photos.depop.com/r1/218735601/4811656506_4d0e4793b3b24c6686684127e03e96ed/P0.jpg",        "status": "active",        "promoted": false,        "format": "fixed_price",        "listed_at": null,        "bid_count": null,        "ends_at": null,        "best_offer": null,        "location_text": "Byron Center, United States"      },      {        "id": "930226367",        "title": "Nike Tech Fleece black sweatpants size XS #techfleece #nike#black#tech#pants",        "link": "https://www.depop.com/products/kanuc2i-nike-tech-fleece-black-sweatpants-b7e1/",        "displayed_price": {          "amount": 19.6,          "currency": "USD"        },        "displayed_price_text": "$19.60",        "price_includes": [          "buyer_fee"        ],        "displayed_shipping": null,        "shipping_text": null,        "condition": "used_good",        "seller_text": null,        "brand": "Nike",        "size": "XS",        "image": "https://media-photos.depop.com/b1/47345678/4808288131_3f9d82598a9f4450b808552d9e1e3283/P0.jpg",        "status": "active",        "promoted": false,        "format": "fixed_price",        "listed_at": null,        "bid_count": null,        "ends_at": null,        "best_offer": null,        "location_text": "Portland, United States"      },      {        "id": "929853097",        "title": "grey nike pros size small worn a few times!! #nike #nikepros #grey",        "link": "https://www.depop.com/products/mollygraceaver5-grey-nike-pros-size-small-448f/",        "displayed_price": {          "amount": 5.95,          "currency": "USD"        },        "displayed_price_text": "$5.95",        "price_includes": [          "buyer_fee"        ],        "displayed_shipping": null,        "shipping_text": null,        "condition": "used_excellent",        "seller_text": null,        "brand": "Nike",        "size": "One size",        "image": "https://media-photos.depop.com/r1/370197255/4806213953_fcdec04586e846df916b12f133ba429d/P0.jpg",        "status": "active",        "promoted": false,        "format": "fixed_price",        "listed_at": null,        "bid_count": null,        "ends_at": null,        "best_offer": null,        "location_text": "Ona, United States"      },      {        "id": "930263070",        "title": "Nike black hoodie Size XL men’s used #athleisure #nike #hoodie #sweatshirt",        "link": "https://www.depop.com/products/throwbakkkingz-nike-black-hoodie-size-xl-aef6/",        "displayed_price": {          "amount": 7,          "currency": "USD"        },        "displayed_price_text": "$7.00",        "price_includes": [          "buyer_fee"        ],        "displayed_shipping": null,        "shipping_text": null,        "condition": "used_fair",        "seller_text": null,        "brand": "Nike",        "size": "XL",        "image": "https://media-photos.depop.com/b1/37215522/4808493787_8d99ee61ab824899a0f459149b19efc3/P0.jpg",        "status": "active",        "promoted": false,        "format": "fixed_price",        "listed_at": null,        "bid_count": null,        "ends_at": null,        "best_offer": null,        "location_text": "Olympia, United States"      }    ],    "field_notes": "Active listings only. displayed_price is Depop's USD headline amount; price_includes identifies fees included by the source. Price bounds apply to source search prices, which may differ from the headline. Shipping, seller identity and listing timestamps are unverified and null. Source order is preserved. Totals may be absent on later pages. No transaction price or sold-search capability is provided."  }}
FieldTypeDescription
request_idstringID of this request. Poll it at /v1/jobs/{request_id}.
statusstringpending, complete or failed. Always check it, even on HTTP 200.
creditsintegerRequests charged: 1 when complete, 0 while pending or when failed.
cachedbooleanTrue when the result came from the 15-minute cache.
poll_urlstringOnly while pending. A path like /v1/jobs/{id}: join it to https://api.soldgraph.com, not to the /v1 base URL.
error.codestringOnly when failed. See failed job codes.
resultobjectOnly when complete. One source page from the marketplace.
result.providerstringMarketplace ID, like ebay or poshmark.
result.countrystringAlways us.
result.querystringThe q you sent, with extra spaces removed.
result.pageintegerThe page you asked for.
result.countintegerRows in result.data on this page.
result.reported_totalintegerTotal matches the marketplace reports for the search. It may be rounded or capped.
result.next_pageinteger | nullSend this as page to get the next page. Null on the last page.
result.collected_atstringWhen we collected the page, as an ISO 8601 timestamp.
result.schema_versionintegerVersion of this response shape. Currently 1.
result.completenessstringAlways provider_page_only: one page, not a full sales history.
result.field_notesstringPlain-text notes on how to read this page's fields.
result.page_sizeintegerRows Depop returned before we removed listings that aren't active US listings priced in USD. It can be larger than count.
result.next_cursorstring | nullSend this as cursor, with page=next_page, to get the next page. Null on the last page.
result.data[].idstringThe marketplace's listing ID.
result.data[].titlestring | nullDepop's listing description, up to 2,000 characters.
result.data[].linkstringURL of the listing on the marketplace.
result.data[].promotedboolean | nullWhether Depop marks the listing as boosted.
result.data[].formatstringAlways fixed_price on Depop.
result.data[].displayed_priceobject{ amount, currency } of Depop's headline price in USD. It includes the parts listed in price_includes. It isn't what a buyer paid.
result.data[].displayed_price_textstring | nullThe headline price as text.
result.data[].displayed_shippingnullAlways null on Depop. We can't verify the shipping amount.
result.data[].shipping_textnullAlways null on Depop. We can't verify the shipping amount.
result.data[].conditionstring | nullDepop's condition code, like used_good.
result.data[].brandstring | nullThe brand Depop shows, when there is one.
result.data[].sizestring | nullThe sizes available, when Depop lists them.
result.data[].listed_atnullAlways null on Depop. We can't verify when the listing was created.
result.data[].bid_countnullAlways null on Depop.
result.data[].ends_atnullAlways null on Depop.
result.data[].best_offernullAlways null on Depop.
result.data[].seller_textnullAlways null on Depop. Search doesn't give a seller we can verify.
result.data[].location_textstring | nullThe location Depop shows, when there is one.
result.data[].imagestring | nullImage URL on Depop's photo CDN.
result.data[].statusstringAlways active.
result.data[].price_includesstring[]What the headline price includes: buyer_fee, shipping_price, tax, or a mix. An empty array means none of them.
result.reported_totalinteger | nullThe total Depop reports, when there is one. Often null after the first page. It doesn't mean full coverage.
Try it
Request
curl -G https://api.soldgraph.com/v1/depop/listings \  -H "Authorization: Bearer $SOLDGRAPH_KEY" \  -d q=nike \  -d count=5
Sign in to runFree account, no card.