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.
https://api.soldgraph.com/v1/depop/listingsSearch 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.
| Parameter | Type | Default | Description |
|---|---|---|---|
q | string | Required | Search keywords, 1–200 characters, as you'd type them into the marketplace's search box. Be specific: model, size, grade, edition. |
page | integer, 1–100 | 1 | Source page to fetch. On Poshmark, Mercari and Depop, pages after 1 also need cursor. |
min_price | integer, 0–1000000 | Lowest price, in whole US dollars. Optional. Must not be more than max_price. You can send it without max_price. | |
max_price | integer, 0–1000000 | Highest price, in whole US dollars. Optional. You can send it without min_price. | |
marketplace | depop | depop | Optional. If sent, it must be depop. |
country | us | us | Only us is supported. |
condition | brand_new, used_like_new, used_excellent, used_good or used_fair | One Depop condition: brand_new, used_like_new, used_excellent, used_good or used_fair. Rows return the same codes. | |
count | integer, 1–100 | 24 | Most rows per page. Depop can return fewer. |
cursor | string | The 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=5The first call usually returns 202 and a job to poll. Search jobs covers polling and retries.
#Filters
conditiontakes one Depop condition:brand_new,used_like_new,used_excellent,used_goodorused_fair.min_priceandmax_priceare whole US dollars. You can send either one alone. Depop applies them to its search price, which can differ from the headlinedisplayed_price.countsets 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.coderejected. It costs nothing. - When
next_cursoris null, you're on the last page. You can request at most 100 pages. page_sizecounts the rows Depop returned.countcounts the active USD rows we kept. Depop sometimes puts foreign-currency listings in US search. We leave those out instead of converting them.reported_totalcan 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
idwhen 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.
{ "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." }}| Field | Type | Description |
|---|---|---|
request_id | string | ID of this request. Poll it at /v1/jobs/{request_id}. |
status | string | pending, complete or failed. Always check it, even on HTTP 200. |
credits | integer | Requests charged: 1 when complete, 0 while pending or when failed. |
cached | boolean | True when the result came from the 15-minute cache. |
poll_url | string | Only while pending. A path like /v1/jobs/{id}: join it to https://api.soldgraph.com, not to the /v1 base URL. |
error.code | string | Only when failed. See failed job codes. |
result | object | Only when complete. One source page from the marketplace. |
result.provider | string | Marketplace ID, like ebay or poshmark. |
result.country | string | Always us. |
result.query | string | The q you sent, with extra spaces removed. |
result.page | integer | The page you asked for. |
result.count | integer | Rows in result.data on this page. |
result.reported_total | integer | Total matches the marketplace reports for the search. It may be rounded or capped. |
result.next_page | integer | null | Send this as page to get the next page. Null on the last page. |
result.collected_at | string | When we collected the page, as an ISO 8601 timestamp. |
result.schema_version | integer | Version of this response shape. Currently 1. |
result.completeness | string | Always provider_page_only: one page, not a full sales history. |
result.field_notes | string | Plain-text notes on how to read this page's fields. |
result.page_size | integer | Rows Depop returned before we removed listings that aren't active US listings priced in USD. It can be larger than count. |
result.next_cursor | string | null | Send this as cursor, with page=next_page, to get the next page. Null on the last page. |
result.data[].id | string | The marketplace's listing ID. |
result.data[].title | string | null | Depop's listing description, up to 2,000 characters. |
result.data[].link | string | URL of the listing on the marketplace. |
result.data[].promoted | boolean | null | Whether Depop marks the listing as boosted. |
result.data[].format | string | Always fixed_price on Depop. |
result.data[].displayed_price | object | { 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_text | string | null | The headline price as text. |
result.data[].displayed_shipping | null | Always null on Depop. We can't verify the shipping amount. |
result.data[].shipping_text | null | Always null on Depop. We can't verify the shipping amount. |
result.data[].condition | string | null | Depop's condition code, like used_good. |
result.data[].brand | string | null | The brand Depop shows, when there is one. |
result.data[].size | string | null | The sizes available, when Depop lists them. |
result.data[].listed_at | null | Always null on Depop. We can't verify when the listing was created. |
result.data[].bid_count | null | Always null on Depop. |
result.data[].ends_at | null | Always null on Depop. |
result.data[].best_offer | null | Always null on Depop. |
result.data[].seller_text | null | Always null on Depop. Search doesn't give a seller we can verify. |
result.data[].location_text | string | null | The location Depop shows, when there is one. |
result.data[].image | string | null | Image URL on Depop's photo CDN. |
result.data[].status | string | Always active. |
result.data[].price_includes | string[] | What the headline price includes: buyer_fee, shipping_price, tax, or a mix. An empty array means none of them. |
result.reported_total | integer | null | The total Depop reports, when there is one. Often null after the first page. It doesn't mean full coverage. |