Depop's resale market in nine countries as JSON, with the buyer's real price kept apart
The Depop API returns the fashion resale marketplace as clean JSON in seven actions: search, product/detail, product/similar, seller/listings, seller/profile, seller/reviews and suggest.
7 active endpoints. Every call is 1 credit.
- POST/depop/v1/search
- POST/depop/v1/product/detail
- POST/depop/v1/product/similar
- POST/depop/v1/seller/listings
- POST/depop/v1/seller/profile
- POST/depop/v1/seller/reviews
- POST/depop/v1/suggest
What Depop endpoints does ReefAPI ship?
7 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Depop API
2 of 7 endpoints, ready to run
Depop listings by keyword, brand, department or category: listing id and URL, description, brand, condition, size, item price with the struck price when reduced, shipping, and what a buyer in the chosen country is shown — filtered by condition, colour, price and on-sale.
{ "ok": true, "meta": { "api": "depop", "endpoint": "search", "mode": "live", "latency_ms": 558.7, "record_count": 20, "cache_hit": false }, "data": { "results": [ { "listing_id": 911800625, "slug": "blakmot1l1-carhartt-active-jacket-black-b403", "url": "https://www.depop.com/products/blakmot1l1-carhartt-active-jacket-black-b403/", "description": "Carhartt Active Jacket Black - Medium\n\nNew without tags\nNew condition\nSize medium\nCarhartt Hooded Denim Jacket\nBlack / white\nCarhartt active jacket", "brand": "Carhartt", "brand_id": 1673, "category": "Outerwear", "group": "coats-jackets", "product_type": "jackets", "gender": "male", "is_kids": false, "condition": "used_excellent", "condition_label": "Used - Excellent", "colours": [ "grey" ], "sizes": [ { "size": "M", "quantity": 1, "status": "on_sale" } ], "quantity": 1, "status": "on_sale", "is_sold": false, "price": 29, "currency": "GBP", "original_price": null, "discount_percent": null, "is_discounted": false, "shipping_price": 2.99, "buyer_view": { "country": "gb", "us_state": null, "headline_price": 34.14, "headline_currency": "GBP", "headline_includes": { "buyer_fee": true, "tax": false, "shipping": true }, "buyer_fee": 2.15, "tax": 0, "tax_type": null, "shipping_price": 2.99, "shipping_boundary": "national" }, "shipping_provider": "MY_HERMES", "shipping_payer": "buyer", "like_count": 4, "image": "https://media-photos.depop.com/b1/9873940/repop_490058574_3684199856/4700534158_f2c74b84889c4023a85df84ef68d31b0/P0.jpg", "image_count": 4, "seller_id": null, "seller_country": "GB", "location": "Bristol, United Kingdom", "is_boosted": false, "listed_at": null, "updated_at": null }, { "listing_id": 911997265, "slug": "0livelwhite-carhartt-green-active-bomber-jacket-81eb", "url": "https://www.depop.com/products/0livelwhite-carhartt-green-active-bomber-jacket-81eb/", "description": "Carhartt Green Active Bomber Jacket #workwear #carharrt #bomberjacket", "brand": "Carhartt", "brand_id": 1673, "category": "Outerwear", "group": "coats-jackets", "product_type": "jackets", "gender": "male", "is_kids": false, "condition": "used_like_new", "condition_label": "Like new", "colours": [ "green", "khaki" ], "sizes": [ { "size": "S", "quantity": 1, "status": "on_sale" } ], "quantity": 1, "status": "on_sale", "is_sold": false, "price": 32, "currency": "GBP", "original_price": null, "discount_percent": null, "is_discounted": false, "shipping_price": 2.99, "buyer_view": { "country": "gb", "us_state": null, "headline_price": 37.29, "headline_currency": "GBP", "headline_includes": { "buyer_fee": true, "tax": false, "shipping": true }, "buyer_fee": 2.3, "tax": 0, "tax_type": null, "shipping_price": 2.99, "shipping_boundary": "national" }, "shipping_provider": "MY_HERMES", "shipping_payer": "buyer", "like_count": 0, "image": "https://media-photos.depop.com/r1/45907788/4701778102_25c66aac944c46689a213e53c9ebbe74/P0.jpg", "image_count": 5, "seller_id": null, "seller_country": "GB", "location": "Romsey, United Kingdom", "is_boosted": false, "listed_at": null, "updated_at": null }, { "listing_id": 912706912, "slug": "carlos_clno-carhartt-detroit-jacket-brown-quilted-89a7", "url": "https://www.depop.com/products/carlos_clno-carhartt-detroit-jacket-brown-quilted-89a7/", "description": "Carhartt Detroit Jacket Brown Quilted Lined Workwear\n#workwear #detroit", "brand": "Carhartt", "brand_id": 1673, "category": "Outerwear", "group": "coats-jackets", "product_type": "jackets", "gender": "male", "is_kids": false, "condition": "used_like_new", "condition_label": "Like new", "colours": [ "brown", "tan" ], "sizes": [ { "size": "XL", "quantity": 1, "status": "on_sale" } ], "quantity": 1, "status": "on_sale", "is_sold": false, "price": 25.99, "currency": "GBP", "original_price": null, "discount_percent": null, "is_discounted": false, "shipping_price": 2.99, "buyer_view": { "country": "gb", "us_state": null, "headline_price": 30.98, "headline_currency": "GBP", "headline_includes": { "buyer_fee": true, "tax": false, "shipping": true }, "buyer_fee": 2, "tax": 0, "tax_type": null, "shipping_price": 2.99, "shipping_boundary": "national" }, "shipping_provider": "MY_HERMES", "shipping_payer": "buyer", "like_count": 2, "image": "https://media-photos.depop.com/r1/32615509/4705940352_0292fd571a4c4f4b8f5124563f056f25/P0.jpg", "image_count": 6, "seller_id": null, "seller_country": "GB", "location": "Harrow, United Kingdom", "is_boosted": false, "listed_at": null, "updated_at": null } ], "count": 20, "next_cursor": "MnwyMHwxNzg5NTY2MDQ5.BOOSTED_EXHAUSTED.0", "has_more": true, "total_results": 16607, "sponsored_dropped": 0, "filters": { "sort": "relevance" }, "query": "carhartt jacket", "country": "gb" } }
How the Depop API works
Depop is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 252 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Price a second-hand item for a buyer abroad, then check the seller
Depop shows every buyer a different total. The item price is the seller's; the buyer fee, import tax and shipping depend on where the buyer is. The API keeps them apart, so the comparison is honest.
{"query": "carhartt jacket", "country": "gb", "sort": "price_asc", "limit": 24}UK listings cheapest first. price is the seller's item price; buyer_view.headline_price is what a UK buyer is shown, with its buyer fee and shipping broken out.
{"listing": "<slug from step 1>", "country": "de"}The same listing priced for a buyer in Germany: EU import VAT and international shipping appear in buyer_view; price does not move.
{"seller": "<seller.username from step 2>"}What buyers said about that seller, with star ratings and dates, before you commit.
A cheapest-first shortlist, the true cross-border cost of the item you pick, and the seller's track record — three calls.
curl -X POST https://api.reefapi.com/depop/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"nike"}'{
"ok": true,
"data": { … },
"meta": {
"api": "depop",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}What a live call returns — six categories, measured by value against the listing page
Two listings from each of six US searches were read with product/detail on 2026-09-16 and compared with the same listing's own public page seen from Germany. Description, brand, currency, the displayed price and availability matched on 12 of 12.
| Field | Filled (of 12) | Why it is not always filled |
|---|---|---|
| description, brand, price, currency, condition, colours, photos | 12 | — |
| category, subcategory group, shipping price, national shipping price | 12 | — |
| buyer view (buyer fee, import tax, headline price) | 12 | — |
| likes, location, seller username, rating, items sold, last seen | 12 | — |
| Depop product title | 10 | Depop generates it; absent on some listings (0 of 2 bags) |
| gender | 10 | not set for home and other non-clothing categories |
| sizes | 8 | no size on bags and home items |
| original (struck) price | 0 | only listings the seller has reduced — use on_sale=true to find them |
| international shipping price | 0 | Depop publishes it only for sellers who set one |
Speed and size, 2026-09-16, 86 consecutive live calls, 84 with data and 2 genuinely empty sold lists: search 27 calls over nine markets, median 928 ms, about 74 KB for 24 rows; product/detail 27 calls, median 867 ms, about 4 KB; seller/listings 8 calls, median 1,690 ms; seller/profile 8 calls, median 787 ms, about 1 KB; seller/reviews 4 calls, median 1,488 ms; product/similar 6 calls, median 2,046 ms; suggest 6 calls, median 973 ms.
Which markets, which price, and what 'sold' really means
Depop's nine markets, measured on 2026-09-16 across 86 consecutive live calls, 77 end-to-end cases and 12 listings compared with their own pages. Three of these lines go against us.
United States, United Kingdom, Australia, Canada, New Zealand, Germany, France, Italy and Ireland with the country parameter; any other country is rejected.
price is the seller's item price in the listing's currency. buyer_view is what a buyer in your country is shown: buyer fee, import VAT or GST, national or international shipping.
Depop's US buyer fee depends on the buyer's state. Pass region (e.g. CA) for a state's view; without it US prices carry no state fee.
Per seller only, newest first, with no sale date. Some sellers' sold lists are empty on Depop even when their shop shows sales. There is no marketplace-wide sold search.
No seller and no listing date on search rows; product/detail adds the seller, seller/listings and similar items add the date.
Boosted listings are left out of search by default and counted; include_sponsored=true returns them, marked.
No Depop account is involved. Ratings, reviews and items sold are the public ones on the seller's shop; sellers' real names are not returned.
What people build with Depop
The jobs this data is most often used for.
endpoints
credit per call
Resale pricing tools read a seller's sold listings and similar items for sale to see where a brand and category actually clears.
Cross-border sellers compare what a buyer in the UK, Australia or Germany is really charged — import tax and buyer fee included — before listing internationally.
Sourcing apps watch a brand or category sorted by price, or on-sale listings only, across several Depop markets.
What Depop data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 252 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/depop/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"nike"}'import requests
r = requests.post(
"https://api.reefapi.com/depop/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "nike"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Depop.
Get a free key →Why does the same listing show different prices on Depop?▾
Because Depop prices for the buyer, not just the item. On top of the seller's price it adds a buyer fee in some markets, import VAT or GST when the item crosses a border, and sometimes shipping, and it decides that from where the viewer is. One US listing priced at 3.00 displayed 3.85 to a US buyer, 3.57 to a German buyer and 7.01 to a UK buyer. The API returns the seller's item price as price, and the displayed price with its parts in buyer_view, computed for the country you pass — every row, every call, the same buyer.
Does the US price depend on the state?▾
Yes. Depop's US buyer fee depends on the buyer's state: the same 3.00 listing carried a 0.85 fee for California and none for New York. Pass region with a US state code to get that state's view. Without region, US prices come back with no state fee, and buyer_view.us_state says which view you got.
Is original_price a real discount?▾
It is the price the seller listed before reducing it, and it is only set when Depop marks the listing as reduced; otherwise it is null. discount_percent is computed from it. on_sale=true returns only reduced listings.
Can I get sold listings?▾
Yes, per seller: seller/listings with availability=sold returns a seller's sold listings, newest sale first, and a sold listing still opens with product/detail, marked status sold. Depop publishes no sale date — updated_at is when the listing last changed — and some sellers' sold lists are empty on Depop even when their shop shows sales. Depop has no marketplace-wide sold search; product/similar on a sold listing returns comparable items still for sale.
Which currency are prices in?▾
The listing's own currency, which is its seller's: an Australian listing stays AUD in every market's search. In a market's search most rows are in that market's currency — measured 92 to 100 percent across the nine markets.
Are promoted listings in the results?▾
Boosted listings are left out of search and similar items by default and counted in sponsored_dropped; include_sponsored=true returns them with is_boosted: true. A seller's own shop keeps every listing, boosted or not, flagged.
What happens with a keyword that matches nothing?▾
You get an empty result with total_results 0. Depop does not pad a failed search with unrelated items: eight nonsense queries all returned nothing, while misspellings such as carhart and nikee still found the brand.
Which countries work?▾
Depop's nine markets: us, gb, au, ca, nz, de, fr, it and ie, chosen with country. Each was measured with a live search and a live listing read. Any other country is rejected with the valid list.
What does Depop not publish?▾
A sale date and the price an item finally sold for through an offer, GTIN or SKU for second-hand items, a marketplace-wide sold search, and sellers' real names. Search rows carry no seller — product/detail does — and no listing date; seller/listings and similar items do.
What is the Depop API?▾
Depop API is a ReefAPI endpoint group for fashion resale listings in nine markets, with item price, buyer fees and import tax kept apart. It returns live JSON through POST requests under /depop/v1.
Is the Depop API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Depop calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Depop login or account?▾
No login to Depop is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Depop data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Depop API use?▾
Depop actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
91 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Depop, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 251 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-09-16.